blob: 663d0e2f26d61ccaae9f11c89c7b5a46a4fe8729 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package io.flutter.plugins.camerax;
import static org.junit.Assert.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import androidx.camera.core.CameraInfo;
import io.flutter.plugin.common.BinaryMessenger;
import java.util.Objects;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
public class CameraInfoTest {
@Rule public MockitoRule mockitoRule = MockitoJUnit.rule();
@Mock public CameraInfo mockCameraInfo;
@Mock public BinaryMessenger mockBinaryMessenger;
InstanceManager testInstanceManager;
@Before
public void setUp() {
testInstanceManager = InstanceManager.open(identifier -> {});
}
@After
public void tearDown() {
testInstanceManager.close();
}
@Test
public void getSensorRotationDegreesTest() {
final CameraInfoHostApiImpl cameraInfoHostApi = new CameraInfoHostApiImpl(testInstanceManager);
testInstanceManager.addDartCreatedInstance(mockCameraInfo, 1);
when(mockCameraInfo.getSensorRotationDegrees()).thenReturn(90);
assertEquals((long) cameraInfoHostApi.getSensorRotationDegrees(1L), 90L);
verify(mockCameraInfo).getSensorRotationDegrees();
}
@Test
public void flutterApiCreateTest() {
final CameraInfoFlutterApiImpl spyFlutterApi =
spy(new CameraInfoFlutterApiImpl(mockBinaryMessenger, testInstanceManager));
spyFlutterApi.create(mockCameraInfo, reply -> {});
final long identifier =
Objects.requireNonNull(testInstanceManager.getIdentifierForStrongReference(mockCameraInfo));
verify(spyFlutterApi).create(eq(identifier), any());
}
}