aboutsummaryrefslogtreecommitdiff
path: root/camera/camera-camera2/src/test/java/androidx
diff options
context:
space:
mode:
Diffstat (limited to 'camera/camera-camera2/src/test/java/androidx')
-rw-r--r--camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/Camera2CameraInfoTest.java65
-rw-r--r--camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/Camera2DeviceSurfaceManagerTest.java3
-rw-r--r--camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/FocusMeteringControlTest.java7
-rw-r--r--camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/SupportedSurfaceCombinationTest.java3
4 files changed, 66 insertions, 12 deletions
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/Camera2CameraInfoTest.java b/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/Camera2CameraInfoTest.java
index 56849432570..b1b89c545b1 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/Camera2CameraInfoTest.java
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/Camera2CameraInfoTest.java
@@ -18,6 +18,9 @@ package androidx.camera.camera2.impl;
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import android.content.Context;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraManager;
@@ -27,6 +30,7 @@ import android.view.Surface;
import androidx.camera.core.CameraInfoInternal;
import androidx.camera.core.CameraInfoUnavailableException;
import androidx.camera.core.LensFacing;
+import androidx.lifecycle.MutableLiveData;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.filters.SmallTest;
@@ -73,13 +77,15 @@ public class Camera2CameraInfoTest {
@Test
public void canCreateCameraInfo() throws CameraInfoUnavailableException {
- CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA0_ID);
+ CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA0_ID,
+ mock(ZoomControl.class));
assertThat(cameraInfoInternal).isNotNull();
}
@Test
public void cameraInfo_canReturnSensorOrientation() throws CameraInfoUnavailableException {
- CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA0_ID);
+ CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA0_ID,
+ mock(ZoomControl.class));
assertThat(cameraInfoInternal.getSensorRotationDegrees()).isEqualTo(
CAMERA0_SENSOR_ORIENTATION);
}
@@ -87,7 +93,8 @@ public class Camera2CameraInfoTest {
@Test
public void cameraInfo_canCalculateCorrectRelativeRotation_forBackCamera()
throws CameraInfoUnavailableException {
- CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA0_ID);
+ CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA0_ID,
+ mock(ZoomControl.class));
// Note: these numbers depend on the camera being a back-facing camera.
assertThat(cameraInfoInternal.getSensorRotationDegrees(Surface.ROTATION_0))
@@ -103,7 +110,8 @@ public class Camera2CameraInfoTest {
@Test
public void cameraInfo_canCalculateCorrectRelativeRotation_forFrontCamera()
throws CameraInfoUnavailableException {
- CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA1_ID);
+ CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA1_ID,
+ mock(ZoomControl.class));
// Note: these numbers depend on the camera being a front-facing camera.
assertThat(cameraInfoInternal.getSensorRotationDegrees(Surface.ROTATION_0))
@@ -118,14 +126,16 @@ public class Camera2CameraInfoTest {
@Test
public void cameraInfo_canReturnLensFacing() throws CameraInfoUnavailableException {
- CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA0_ID);
+ CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA0_ID,
+ mock(ZoomControl.class));
assertThat(cameraInfoInternal.getLensFacing()).isEqualTo(CAMERA0_LENS_FACING_ENUM);
}
@Test
public void cameraInfo_canReturnFlashAvailable_forBackCamera()
throws CameraInfoUnavailableException {
- CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA0_ID);
+ CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA0_ID,
+ mock(ZoomControl.class));
assertThat(cameraInfoInternal.isFlashAvailable().getValue().booleanValue()).isEqualTo(
CAMERA0_FLASH_INFO_BOOLEAN);
}
@@ -133,11 +143,52 @@ public class Camera2CameraInfoTest {
@Test
public void cameraInfo_canReturnFlashAvailable_forFrontCamera()
throws CameraInfoUnavailableException {
- CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA1_ID);
+ CameraInfoInternal cameraInfoInternal = new Camera2CameraInfo(mCameraManager, CAMERA1_ID,
+ mock(ZoomControl.class));
assertThat(cameraInfoInternal.isFlashAvailable().getValue().booleanValue()).isEqualTo(
CAMERA1_FLASH_INFO_BOOLEAN);
}
+ // zoom related tests just ensure it uses ZoomControl to get the value
+ // Full tests are performed at ZoomControlTest / ZoomControlRoboTest.
+ @Test
+ public void cameraInfo_getZoomRatio_valueIsCorrect() throws CameraInfoUnavailableException {
+ ZoomControl zoomControl = mock(ZoomControl.class);
+ CameraInfoInternal cameraInfo = new Camera2CameraInfo(mCameraManager, CAMERA0_ID,
+ zoomControl);
+ when(zoomControl.getZoomRatio()).thenReturn(new MutableLiveData<>(3.0f));
+ assertThat(cameraInfo.getZoomRatio().getValue()).isEqualTo(3.0f);
+ }
+
+ @Test
+ public void cameraInfo_getZoomPercentage_valueIsCorrect()
+ throws CameraInfoUnavailableException {
+ ZoomControl zoomControl = mock(ZoomControl.class);
+ CameraInfoInternal cameraInfo = new Camera2CameraInfo(mCameraManager, CAMERA0_ID,
+ zoomControl);
+ when(zoomControl.getZoomPercentage()).thenReturn(new MutableLiveData<>(0.2f));
+ assertThat(cameraInfo.getZoomPercentage().getValue()).isEqualTo(0.2f);
+ }
+
+ @Test
+ public void cameraInfo_getMaxZoomRatio_valueIsCorrect() throws CameraInfoUnavailableException {
+ ZoomControl zoomControl = mock(ZoomControl.class);
+ CameraInfoInternal cameraInfo = new Camera2CameraInfo(mCameraManager, CAMERA0_ID,
+ zoomControl);
+ when(zoomControl.getMaxZoomRatio()).thenReturn(new MutableLiveData<>(8.0f));
+ assertThat(cameraInfo.getMaxZoomRatio().getValue()).isEqualTo(8.0f);
+ }
+
+ @Test
+ public void cameraInfo_getMinZoomRatio_valueIsCorrect() throws CameraInfoUnavailableException {
+ ZoomControl zoomControl = mock(ZoomControl.class);
+ CameraInfoInternal cameraInfo = new Camera2CameraInfo(mCameraManager, CAMERA0_ID,
+ zoomControl);
+ when(zoomControl.getMinZoomRatio()).thenReturn(new MutableLiveData<>(1.0f));
+ assertThat(cameraInfo.getMinZoomRatio().getValue()).isEqualTo(1.0f);
+ }
+
+
private void initCameras() {
// **** Camera 0 characteristics ****//
CameraCharacteristics characteristics0 =
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/Camera2DeviceSurfaceManagerTest.java b/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/Camera2DeviceSurfaceManagerTest.java
index 2c461e71566..cfcc36052c9 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/Camera2DeviceSurfaceManagerTest.java
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/Camera2DeviceSurfaceManagerTest.java
@@ -23,6 +23,7 @@ import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import android.content.Context;
@@ -580,7 +581,7 @@ public final class Camera2DeviceSurfaceManagerTest {
LensFacing lensFacingEnum = CameraUtil.getLensFacingEnumFromInt(lensFacing);
mCameraFactory.insertCamera(lensFacingEnum, cameraId, () -> new FakeCamera(cameraId, null,
- new Camera2CameraInfo(cameraManager, cameraId)));
+ new Camera2CameraInfo(cameraManager, cameraId, mock(ZoomControl.class))));
}
private void initCameraX() {
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/FocusMeteringControlTest.java b/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/FocusMeteringControlTest.java
index 0b4ede7efd1..43e06a2e358 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/FocusMeteringControlTest.java
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/FocusMeteringControlTest.java
@@ -121,6 +121,7 @@ public class FocusMeteringControlTest {
public void setUp() throws CameraAccessException {
initCameras();
mFocusMeteringControl = spy(initFocusMeteringControl(CAMERA0_ID));
+ mFocusMeteringControl.setActive(true);
}
@After
@@ -149,9 +150,10 @@ public class FocusMeteringControlTest {
mCameraExecutor,
updateCallback));
-
- return new FocusMeteringControl(mCamera2CameraControl,
+ FocusMeteringControl focusMeteringControl = new FocusMeteringControl(mCamera2CameraControl,
CameraXExecutors.mainThreadExecutor(), mCameraExecutor);
+ focusMeteringControl.setActive(true);
+ return focusMeteringControl;
}
private void initCameras() {
@@ -896,5 +898,4 @@ public class FocusMeteringControlTest {
mFocusMeteringControl.cancelFocusAndMetering();
verifyAfMode(CaptureResult.CONTROL_AF_MODE_CONTINUOUS_PICTURE);
}
-
}
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/SupportedSurfaceCombinationTest.java b/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/SupportedSurfaceCombinationTest.java
index c5ed8d5a29b..c9bce8128a0 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/SupportedSurfaceCombinationTest.java
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/impl/SupportedSurfaceCombinationTest.java
@@ -23,6 +23,7 @@ import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import android.content.Context;
@@ -1122,7 +1123,7 @@ public final class SupportedSurfaceCombinationTest {
LensFacing lensFacingEnum = CameraUtil.getLensFacingEnumFromInt(lensFacing);
mCameraFactory.insertCamera(lensFacingEnum, cameraId, () -> new FakeCamera(cameraId, null,
- new Camera2CameraInfo(cameraManager, cameraId)));
+ new Camera2CameraInfo(cameraManager, cameraId, mock(ZoomControl.class))));
}
private void initCameraX() {