1111import static org .mockito .Mockito .verify ;
1212import static org .mockito .Mockito .when ;
1313
14+ import android .hardware .camera2 .CaptureRequest ;
15+ import android .util .Range ;
1416import android .view .Surface ;
17+ import androidx .camera .camera2 .interop .Camera2Interop ;
1518import androidx .camera .core .ImageAnalysis ;
1619import androidx .camera .core .ImageAnalysis .Analyzer ;
1720import androidx .camera .core .resolutionselector .ResolutionSelector ;
1821import androidx .core .content .ContextCompat ;
1922import java .util .concurrent .Executor ;
2023import org .junit .Test ;
2124import org .junit .runner .RunWith ;
25+ import org .mockito .MockedConstruction ;
2226import org .mockito .MockedStatic ;
2327import org .mockito .Mockito ;
2428import org .mockito .stubbing .Answer ;
2529import org .robolectric .RobolectricTestRunner ;
2630
2731@ RunWith (RobolectricTestRunner .class )
2832public class ImageAnalysisTest {
33+ @ SuppressWarnings ({"unchecked" , "rawtypes" })
2934 @ Test
3035 public void pigeon_defaultConstructor_createsExpectedImageAnalysisInstance () {
3136 final PigeonApiImageAnalysis api = new TestProxyApiRegistrar ().getPigeonApiImageAnalysis ();
@@ -34,13 +39,25 @@ public void pigeon_defaultConstructor_createsExpectedImageAnalysisInstance() {
3439 final long targetResolution = Surface .ROTATION_0 ;
3540 final long targetFps = 30 ;
3641 final long outputImageFormat = ImageAnalysis .OUTPUT_IMAGE_FORMAT_NV21 ;
37- final ImageAnalysis imageAnalysis =
38- api .pigeon_defaultConstructor (
39- mockResolutionSelector , targetResolution , targetFps , outputImageFormat );
4042
41- assertEquals (imageAnalysis .getResolutionSelector (), mockResolutionSelector );
42- assertEquals (imageAnalysis .getTargetRotation (), Surface .ROTATION_0 );
43- assertEquals (imageAnalysis .getOutputImageFormat (), ImageAnalysis .OUTPUT_IMAGE_FORMAT_NV21 );
43+ try (MockedConstruction <Camera2Interop .Extender > mockCamera2InteropExtender =
44+ Mockito .mockConstruction (
45+ Camera2Interop .Extender .class ,
46+ (mock , context ) -> {
47+ when (mock .setCaptureRequestOption (
48+ CaptureRequest .CONTROL_AE_TARGET_FPS_RANGE ,
49+ new Range <>(targetFps , targetFps )))
50+ .thenReturn (mock );
51+ })) {
52+ final ImageAnalysis imageAnalysis =
53+ api .pigeon_defaultConstructor (
54+ mockResolutionSelector , targetResolution , targetFps , outputImageFormat );
55+
56+ assertEquals (mockResolutionSelector , imageAnalysis .getResolutionSelector ());
57+ assertEquals (Surface .ROTATION_0 , imageAnalysis .getTargetRotation ());
58+ assertEquals (1 , mockCamera2InteropExtender .constructed ().size ());
59+ assertEquals (ImageAnalysis .OUTPUT_IMAGE_FORMAT_NV21 , imageAnalysis .getOutputImageFormat ());
60+ }
4461 }
4562
4663 @ Test
0 commit comments