invoke location camera transition finish callback when equal mode is set

This commit is contained in:
Łukasz Paczos
2019-12-03 11:03:43 +01:00
parent b1fe1433b0
commit 4bde987fb9
2 changed files with 33 additions and 0 deletions

View File

@@ -643,6 +643,36 @@ public class LocationCameraControllerTest {
any(MapboxMap.CancelableCallback.class));
}
@Test
public void transition_duplicateMode() {
MapboxMap mapboxMap = mock(MapboxMap.class);
Transform transform = mock(Transform.class);
when(mapboxMap.getCameraPosition()).thenReturn(CameraPosition.DEFAULT);
Projection projection = mock(Projection.class);
when(mapboxMap.getProjection()).thenReturn(projection);
when(projection.getMetersPerPixelAtLatitude(any(Double.class))).thenReturn(Double.valueOf(1000));
LocationCameraController camera = buildCamera(mapboxMap, transform);
camera.initializeOptions(mock(LocationComponentOptions.class));
final OnLocationCameraTransitionListener listener = mock(OnLocationCameraTransitionListener.class);
Location location = mock(Location.class);
camera.setCameraMode(TRACKING, location, TRANSITION_ANIMATION_DURATION_MS, null, null, null, listener);
doAnswer(new Answer<Void>() {
@Override
public Void answer(InvocationOnMock invocation) throws Throwable {
listener.onLocationCameraTransitionFinished(TRACKING);
return null;
}
}).when(transform).animateCamera(eq(mapboxMap), any(CameraUpdate.class), any(Integer.class),
any(MapboxMap.CancelableCallback.class));
camera.setCameraMode(TRACKING, location, TRANSITION_ANIMATION_DURATION_MS, null, null, null, listener);
verify(listener, times(1)).onLocationCameraTransitionFinished(TRACKING);
verify(transform, times(1))
.animateCamera(eq(mapboxMap), any(CameraUpdate.class), any(Integer.class),
any(MapboxMap.CancelableCallback.class));
}
@Test
public void transition_canceled() {
MapboxMap mapboxMap = mock(MapboxMap.class);