package io.fotoapparat.hardware.v2.parameters; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import io.fotoapparat.parameter.Flash; import io.fotoapparat.parameter.FocusMode; import io.fotoapparat.parameter.Parameters; import io.fotoapparat.parameter.Size; import static junit.framework.Assert.assertEquals; import static org.mockito.BDDMockito.given; @RunWith(MockitoJUnitRunner.class) public class ParametersProviderTest { @Mock Parameters parameters; @InjectMocks ParametersProvider testee; @Test public void getFlash() throws Exception { // Given given(parameters.getValue(Parameters.Type.FLASH)) .willReturn(Flash.OFF); testee.updateParameters(parameters); // When Flash flash = testee.getFlash(); // Then assertEquals(Flash.OFF, flash); } @Test public void getFocus() throws Exception { // Given given(parameters.getValue(Parameters.Type.FOCUS_MODE)) .willReturn(FocusMode.CONTINUOUS_FOCUS); testee.updateParameters(parameters); // When FocusMode focusMode = testee.getFocus(); // Then assertEquals(FocusMode.CONTINUOUS_FOCUS, focusMode); } @Test public void getCaptureSize() throws Exception { // Given given(parameters.getValue(Parameters.Type.PICTURE_SIZE)) .willReturn(new Size(4000, 3000)); testee.updateParameters(parameters); // When Size captureSize = testee.getStillCaptureSize(); float stillCaptureAspectRatio = testee.getStillCaptureAspectRatio(); // Then assertEquals(new Size(4000, 3000), captureSize); assertEquals(4000f / 3000, stillCaptureAspectRatio); } @Test public void getPreviewSize() throws Exception { // Given given(parameters.getValue(Parameters.Type.PREVIEW_SIZE)) .willReturn(new Size(1920, 1080)); testee.updateParameters(parameters); // When Size previewSize = testee.getPreviewSize(); // Then assertEquals(new Size(1920, 1080), previewSize); } }