### Question:
Fotoapparat { public void updateParameters(@NonNull final UpdateRequest updateRequest) { ensureStarted(); executor.execute(new Runnable() { @Override public void run() { updateParametersRoutine.updateParameters(updateRequest); } }); } Fotoapparat(StartCameraRoutine startCameraRoutine,
                StopCameraRoutine stopCameraRoutine,
                UpdateOrientationRoutine updateOrientationRoutine,
                ConfigurePreviewStreamRoutine configurePreviewStreamRoutine,
                CapabilitiesProvider capabilitiesProvider,
                CurrentParametersProvider parametersProvider,
                TakePictureRoutine takePictureRoutine,
                AutoFocusRoutine autoFocusRoutine,
                CheckAvailabilityRoutine checkAvailabilityRoutine,
                UpdateParametersRoutine updateParametersRoutine,
                UpdateZoomLevelRoutine updateZoomLevelRoutine,
                Executor executor); static FotoapparatBuilder with(Context context); boolean isAvailable(); CapabilitiesResult getCapabilities(); ParametersResult getCurrentParameters(); PhotoResult takePicture(); Fotoapparat autoFocus(); PendingResult<FocusResult> focus(); void updateParameters(@NonNull final UpdateRequest updateRequest); void setZoom(@FloatRange(from = 0f, to = 1f) final float zoomLevel); void start(); void stop();  }### Answer:
@Test public void updateParameters() throws Exception { UpdateRequest updateRequest = UpdateRequest.builder() .build(); testee.start(); testee.updateParameters(updateRequest); verify(updateParametersRoutine).updateParameters(updateRequest); }
@Test(expected = IllegalStateException.class) public void updateParameters_NotStartedYet() throws Exception { UpdateRequest updateRequest = UpdateRequest.builder() .build(); testee.updateParameters(updateRequest); }