### Question:
MultiLayerNetworkHandler implements INetworkHandler { @Override public void fillGradientsResponse(Gradients gradients) { gradients.putGradient(gradientName, model.gradient()); } MultiLayerNetworkHandler(MultiLayerNetwork model, String labelName, String gradientName); @Override void notifyGradientCalculation(); @Override void notifyIterationDone(); @Override void performFit(FeaturesLabels featuresLabels); @Override void performGradientsComputation(FeaturesLabels featuresLabels); @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); @Override void fillGradientsResponse(Gradients gradients);  }### Answer:
@Test public void when_callingFillGradientsResponse_expect_gradientIsCorrectlyFilled() { setup(false); Gradients gradientsMock = mock(Gradients.class); final Gradient gradient = mock(Gradient.class); when(modelMock.gradient()).thenReturn(gradient); sut.fillGradientsResponse(gradientsMock); verify(gradientsMock, times(1)).putGradient(GRADIENT_NAME, gradient); }