### Question:
ComputationGraphHandler implements INetworkHandler { @Override public INDArray[] recurrentStepOutput(Observation observation) { return model.rnnTimeStep(observation.getData()); } ComputationGraphHandler(ComputationGraph model, String[] labelNames, String gradientName); @Override void notifyGradientCalculation(); @Override void notifyIterationDone(); @Override void performFit(FeaturesLabels featuresLabels); @Override void performGradientsComputation(FeaturesLabels featuresLabels); @Override void fillGradientsResponse(Gradients gradients); @Override void applyGradient(Gradients gradients, long batchSize); @Override INDArray[] recurrentStepOutput(Observation observation); @Override INDArray[] batchOutput(INDArray batch); @Override void resetState(); @Override INetworkHandler clone(); @Override void copyFrom(INetworkHandler from);  }### Answer:
@Test public void when_callingRecurrentStepOutput_expect_recurrentStepCalledWithObservationData() { setup(false); Observation observationMock = mock(Observation.class); INDArray observationData = Nd4j.rand(1, 2); when(observationMock.getData()).thenReturn(observationData); sut.recurrentStepOutput(observationMock); verify(modelMock, times(1)).rnnTimeStep(observationData); }