summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationCameraControllerTest.java26
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationLayerControllerTest.java38
2 files changed, 64 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationCameraControllerTest.java b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationCameraControllerTest.java
index 7fb018d235..d1b8642c31 100644
--- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationCameraControllerTest.java
+++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationCameraControllerTest.java
@@ -142,6 +142,32 @@ public class LocationCameraControllerTest {
}
@Test
+ public void setCameraMode_doNotNotifyAboutDuplicates_NONE() {
+ OnCameraTrackingChangedListener internalTrackingChangedListener = mock(OnCameraTrackingChangedListener.class);
+ LocationCameraController camera = buildCamera(internalTrackingChangedListener);
+ camera.initializeOptions(mock(LocationComponentOptions.class));
+ int cameraMode = NONE;
+
+ camera.setCameraMode(cameraMode);
+ camera.setCameraMode(cameraMode);
+
+ verify(internalTrackingChangedListener, times(1)).onCameraTrackingChanged(cameraMode);
+ }
+
+ @Test
+ public void setCameraMode_doNotNotifyAboutDuplicates_TRACKING_GPS() {
+ OnCameraTrackingChangedListener internalTrackingChangedListener = mock(OnCameraTrackingChangedListener.class);
+ LocationCameraController camera = buildCamera(internalTrackingChangedListener);
+ camera.initializeOptions(mock(LocationComponentOptions.class));
+ int cameraMode = TRACKING_GPS;
+
+ camera.setCameraMode(cameraMode);
+ camera.setCameraMode(cameraMode);
+
+ verify(internalTrackingChangedListener, times(1)).onCameraTrackingChanged(cameraMode);
+ }
+
+ @Test
public void setCameraMode_cancelTransitionsWhenSet() {
MapboxMap mapboxMap = mock(MapboxMap.class);
when(mapboxMap.getUiSettings()).thenReturn(mock(UiSettings.class));
diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationLayerControllerTest.java b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationLayerControllerTest.java
index aa0a07b73e..0fbc47df55 100644
--- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationLayerControllerTest.java
+++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationLayerControllerTest.java
@@ -594,6 +594,44 @@ public class LocationLayerControllerTest {
.addNumberProperty(PROPERTY_ACCURACY_RADIUS, accuracyRadiusValue);
}
+ @Test
+ public void renderModeChanged_doNotNotifyAboutDuplicates_NORMAL() {
+ OnRenderModeChangedListener internalRenderModeChangedListener = mock(OnRenderModeChangedListener.class);
+ LayerSourceProvider sourceProvider = buildLayerProvider();
+ GeoJsonSource locationSource = mock(GeoJsonSource.class);
+ when(sourceProvider.generateSource(any(Feature.class))).thenReturn(locationSource);
+ LayerBitmapProvider bitmapProvider = mock(LayerBitmapProvider.class);
+ LocationComponentOptions options = mock(LocationComponentOptions.class);
+
+ LocationLayerController controller =
+ new LocationLayerController(mapboxMap, mapboxMap.getStyle(), sourceProvider, buildFeatureProvider(options),
+ bitmapProvider, options, internalRenderModeChangedListener);
+
+ controller.setRenderMode(RenderMode.NORMAL);
+ controller.setRenderMode(RenderMode.NORMAL);
+
+ verify(internalRenderModeChangedListener, times(1)).onRenderModeChanged(RenderMode.NORMAL);
+ }
+
+ @Test
+ public void renderModeChanged_doNotNotifyAboutDuplicates_GPS() {
+ OnRenderModeChangedListener internalRenderModeChangedListener = mock(OnRenderModeChangedListener.class);
+ LayerSourceProvider sourceProvider = buildLayerProvider();
+ GeoJsonSource locationSource = mock(GeoJsonSource.class);
+ when(sourceProvider.generateSource(any(Feature.class))).thenReturn(locationSource);
+ LayerBitmapProvider bitmapProvider = mock(LayerBitmapProvider.class);
+ LocationComponentOptions options = mock(LocationComponentOptions.class);
+
+ LocationLayerController controller =
+ new LocationLayerController(mapboxMap, mapboxMap.getStyle(), sourceProvider, buildFeatureProvider(options),
+ bitmapProvider, options, internalRenderModeChangedListener);
+
+ controller.setRenderMode(RenderMode.GPS);
+ controller.setRenderMode(RenderMode.GPS);
+
+ verify(internalRenderModeChangedListener, times(1)).onRenderModeChanged(RenderMode.GPS);
+ }
+
private LayerFeatureProvider buildFeatureProvider(@NonNull LocationComponentOptions options) {
LayerFeatureProvider provider = mock(LayerFeatureProvider.class);
when(provider.generateLocationFeature(null, options)).thenReturn(mock(Feature.class));