@Test public void when_notifyBeforeStepAndBatchUnchanged_expect_notifyNewBatchStartedNotCalled() { sut.notifyBeforeStep(); verify(updateRuleMock, never()).notifyNewBatchStarted(); }
public void notifyBeforeStep() { if(hasBatchChanged) { updateRule.notifyNewBatchStarted(); hasBatchChanged = false; } }
LearningBehavior implements ILearningBehavior<ACTION> { public void notifyBeforeStep() { if(hasBatchChanged) { updateRule.notifyNewBatchStarted(); hasBatchChanged = false; } } }
LearningBehavior implements ILearningBehavior<ACTION> { public void notifyBeforeStep() { if(hasBatchChanged) { updateRule.notifyNewBatchStarted(); hasBatchChanged = false; } }  }
LearningBehavior implements ILearningBehavior<ACTION> { public void notifyBeforeStep() { if(hasBatchChanged) { updateRule.notifyNewBatchStarted(); hasBatchChanged = false; } }  @Override void handleEpisodeStart(); @Override void handleNewExperience(Observation observation, ACTION action, double reward, boolean isTerminal); @Override void handleEpisodeEnd(Observation finalObservation); void notifyBeforeStep(); }
LearningBehavior implements ILearningBehavior<ACTION> { public void notifyBeforeStep() { if(hasBatchChanged) { updateRule.notifyNewBatchStarted(); hasBatchChanged = false; } }  @Override void handleEpisodeStart(); @Override void handleNewExperience(Observation observation, ACTION action, double reward, boolean isTerminal); @Override void handleEpisodeEnd(Observation finalObservation); void notifyBeforeStep();  }