summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/test/java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngTest.java11
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationCameraControllerTest.java30
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationLayerControllerTest.java40
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.kt150
4 files changed, 143 insertions, 88 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngTest.java b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngTest.java
index 8e47f069c3..862c56a526 100644
--- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngTest.java
+++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngTest.java
@@ -175,7 +175,7 @@ public class LatLngTest {
LatLng latLng2 = new LatLng(1.0, 1.0);
assertEquals("distances should match",
latLng1.distanceTo(latLng2),
- 157425.53710839353, DELTA);
+ 157298.7453847275, DELTA);
}
@Test
@@ -186,6 +186,15 @@ public class LatLngTest {
assertEquals("distance should match", 0.0, distance, DELTA);
}
+ // Regression test for #14216
+ @Test
+ public void testDistanceToClosePointNotNaN() {
+ LatLng latLng = new LatLng(40.00599, -105.29261);
+ LatLng other = new LatLng(40.005990000000025, -105.29260999999997);
+ double distance = latLng.distanceTo(other);
+ assertNotEquals(distance, Double.NaN);
+ }
+
@Test
public void testLocationProvider() {
double latitude = 1.2;
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 56a8f276a7..a3d54fe221 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
@@ -408,6 +408,7 @@ public class LocationCameraControllerTest {
MapboxMap mapboxMap = mock(MapboxMap.class);
AndroidGesturesManager initialGesturesManager = mock(AndroidGesturesManager.class);
AndroidGesturesManager internalGesturesManager = mock(AndroidGesturesManager.class);
+ when(mapboxMap.getGesturesManager()).thenReturn(initialGesturesManager);
LocationCameraController camera = buildCamera(mapboxMap, initialGesturesManager, internalGesturesManager);
LocationComponentOptions options = mock(LocationComponentOptions.class);
when(options.trackingGesturesManagement()).thenReturn(true);
@@ -421,6 +422,7 @@ public class LocationCameraControllerTest {
MapboxMap mapboxMap = mock(MapboxMap.class);
AndroidGesturesManager initialGesturesManager = mock(AndroidGesturesManager.class);
AndroidGesturesManager internalGesturesManager = mock(AndroidGesturesManager.class);
+ when(mapboxMap.getGesturesManager()).thenReturn(internalGesturesManager);
LocationCameraController camera = buildCamera(mapboxMap, initialGesturesManager, internalGesturesManager);
LocationComponentOptions options = mock(LocationComponentOptions.class);
when(options.trackingGesturesManagement()).thenReturn(false);
@@ -430,6 +432,34 @@ public class LocationCameraControllerTest {
}
@Test
+ public void gesturesManagement_optionNotChangedInitial() {
+ MapboxMap mapboxMap = mock(MapboxMap.class);
+ AndroidGesturesManager initialGesturesManager = mock(AndroidGesturesManager.class);
+ AndroidGesturesManager internalGesturesManager = mock(AndroidGesturesManager.class);
+ when(mapboxMap.getGesturesManager()).thenReturn(initialGesturesManager);
+ LocationCameraController camera = buildCamera(mapboxMap, initialGesturesManager, internalGesturesManager);
+ LocationComponentOptions options = mock(LocationComponentOptions.class);
+ when(options.trackingGesturesManagement()).thenReturn(false);
+ camera.initializeOptions(options);
+
+ verify(mapboxMap, times(0)).setGesturesManager(initialGesturesManager, true, true);
+ }
+
+ @Test
+ public void gesturesManagement_optionNotChangedInternal() {
+ MapboxMap mapboxMap = mock(MapboxMap.class);
+ AndroidGesturesManager initialGesturesManager = mock(AndroidGesturesManager.class);
+ AndroidGesturesManager internalGesturesManager = mock(AndroidGesturesManager.class);
+ when(mapboxMap.getGesturesManager()).thenReturn(internalGesturesManager);
+ LocationCameraController camera = buildCamera(mapboxMap, initialGesturesManager, internalGesturesManager);
+ LocationComponentOptions options = mock(LocationComponentOptions.class);
+ when(options.trackingGesturesManagement()).thenReturn(true);
+ camera.initializeOptions(options);
+
+ verify(mapboxMap, times(0)).setGesturesManager(internalGesturesManager, true, true);
+ }
+
+ @Test
public void onMove_notCancellingTransitionWhileNone() {
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 10553700b3..6a44cf1f79 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
@@ -39,6 +39,7 @@ import static com.mapbox.mapboxsdk.location.MapboxAnimator.ANIMATOR_LAYER_ACCURA
import static com.mapbox.mapboxsdk.location.MapboxAnimator.ANIMATOR_LAYER_COMPASS_BEARING;
import static com.mapbox.mapboxsdk.location.MapboxAnimator.ANIMATOR_LAYER_GPS_BEARING;
import static com.mapbox.mapboxsdk.location.MapboxAnimator.ANIMATOR_LAYER_LATLNG;
+import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertNull;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
@@ -160,6 +161,24 @@ public class LocationLayerControllerTest {
}
@Test
+ public void onInitialization_numberOfCachedLayerIdsIsConstant() {
+ 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.initializeComponents(mapboxMap.getStyle(), options);
+
+ assertEquals(5, controller.layerSet.size());
+ }
+
+ @Test
public void applyStyle_styleShadowWithValidElevation() {
OnRenderModeChangedListener internalRenderModeChangedListener = mock(OnRenderModeChangedListener.class);
LayerSourceProvider sourceProvider = buildLayerProvider();
@@ -300,22 +319,6 @@ public class LocationLayerControllerTest {
LayerSourceProvider sourceProvider = buildLayerProvider();
when(sourceProvider.generateSource(any(Feature.class))).thenReturn(mock(GeoJsonSource.class));
- Layer bearingLayer = mock(Layer.class);
- when(bearingLayer.getId()).thenReturn(BEARING_LAYER);
- when(sourceProvider.generateLayer(BEARING_LAYER)).thenReturn(bearingLayer);
- Layer foregroundLayer = mock(Layer.class);
- when(foregroundLayer.getId()).thenReturn(FOREGROUND_LAYER);
- when(sourceProvider.generateLayer(FOREGROUND_LAYER)).thenReturn(foregroundLayer);
- Layer backgroundLayer = mock(Layer.class);
- when(backgroundLayer.getId()).thenReturn(BACKGROUND_LAYER);
- when(sourceProvider.generateLayer(BACKGROUND_LAYER)).thenReturn(backgroundLayer);
- Layer shadowLayer = mock(Layer.class);
- when(shadowLayer.getId()).thenReturn(SHADOW_LAYER);
- when(sourceProvider.generateLayer(SHADOW_LAYER)).thenReturn(shadowLayer);
- Layer accuracyLayer = mock(Layer.class);
- when(accuracyLayer.getId()).thenReturn(ACCURACY_LAYER);
- when(sourceProvider.generateAccuracyLayer()).thenReturn(accuracyLayer);
-
LocationComponentOptions options = mock(LocationComponentOptions.class);
LayerBitmapProvider bitmapProvider = mock(LayerBitmapProvider.class);
Bitmap bitmap = mock(Bitmap.class);
@@ -606,18 +609,23 @@ public class LocationLayerControllerTest {
LayerSourceProvider layerSourceProvider = mock(LayerSourceProvider.class);
Layer shadowLayer = mock(Layer.class);
+ when(shadowLayer.getId()).thenReturn(SHADOW_LAYER);
when(layerSourceProvider.generateLayer(SHADOW_LAYER)).thenReturn(shadowLayer);
Layer backgroundLayer = mock(Layer.class);
+ when(backgroundLayer.getId()).thenReturn(BACKGROUND_LAYER);
when(layerSourceProvider.generateLayer(BACKGROUND_LAYER)).thenReturn(backgroundLayer);
Layer foregroundLayer = mock(Layer.class);
+ when(foregroundLayer.getId()).thenReturn(FOREGROUND_LAYER);
when(layerSourceProvider.generateLayer(FOREGROUND_LAYER)).thenReturn(foregroundLayer);
Layer bearingLayer = mock(Layer.class);
+ when(bearingLayer.getId()).thenReturn(BEARING_LAYER);
when(layerSourceProvider.generateLayer(BEARING_LAYER)).thenReturn(bearingLayer);
Layer accuracyLayer = mock(Layer.class);
+ when(accuracyLayer.getId()).thenReturn(ACCURACY_LAYER);
when(layerSourceProvider.generateAccuracyLayer()).thenReturn(accuracyLayer);
return layerSourceProvider;
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.kt b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.kt
index a0873e97ff..2d68612c70 100644
--- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.kt
+++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.kt
@@ -15,31 +15,33 @@ import org.robolectric.RobolectricTestRunner
@RunWith(RobolectricTestRunner::class)
class MapboxMapTest {
- private lateinit var mapboxMap: MapboxMap
-
- private lateinit var nativeMapView: NativeMapView
-
- private lateinit var transform: Transform
-
- @Before
- fun setup() {
- val cameraChangeDispatcher = spyk<CameraChangeDispatcher>()
- nativeMapView = mockk(relaxed = true)
- transform = mockk(relaxed = true)
- mapboxMap = MapboxMap(nativeMapView, transform, mockk(relaxed = true), null, null, cameraChangeDispatcher)
- every { nativeMapView.isDestroyed } returns false
- every { nativeMapView.nativePtr } returns 5
- mapboxMap.injectLocationComponent(spyk())
- mapboxMap.setStyle(Style.MAPBOX_STREETS)
- mapboxMap.onFinishLoadingStyle()
- }
-
- @Test
- fun testTransitionOptions() {
- val expected = TransitionOptions(100, 200)
- mapboxMap.style?.transition = expected
- verify { nativeMapView.transitionOptions = expected }
- }
+ private lateinit var mapboxMap: MapboxMap
+
+ private lateinit var nativeMapView: NativeMapView
+
+ private lateinit var transform: Transform
+
+ private lateinit var cameraChangeDispatcher: CameraChangeDispatcher
+
+ @Before
+ fun setup() {
+ cameraChangeDispatcher = spyk()
+ nativeMapView = mockk(relaxed = true)
+ transform = mockk(relaxed = true)
+ mapboxMap = MapboxMap(nativeMapView, transform, mockk(relaxed = true), null, null, cameraChangeDispatcher)
+ every { nativeMapView.isDestroyed } returns false
+ every { nativeMapView.nativePtr } returns 5
+ mapboxMap.injectLocationComponent(spyk())
+ mapboxMap.setStyle(Style.MAPBOX_STREETS)
+ mapboxMap.onFinishLoadingStyle()
+ }
+
+ @Test
+ fun testTransitionOptions() {
+ val expected = TransitionOptions(100, 200)
+ mapboxMap.style?.transition = expected
+ verify { nativeMapView.transitionOptions = expected }
+ }
@Test
fun testMoveCamera() {
@@ -51,52 +53,52 @@ class MapboxMapTest {
verify { transform.moveCamera(mapboxMap, update, callback) }
}
- @Test
- fun testMinZoom() {
- mapboxMap.setMinZoomPreference(10.0)
- verify { transform.minZoom = 10.0 }
- }
-
- @Test
- fun testMaxZoom() {
- mapboxMap.setMaxZoomPreference(10.0)
- verify { transform.maxZoom = 10.0 }
- }
-
- @Test
- fun testFpsListener() {
- val fpsChangedListener = mockk<MapboxMap.OnFpsChangedListener>()
- mapboxMap.onFpsChangedListener = fpsChangedListener
- assertEquals("Listener should match", fpsChangedListener, mapboxMap.onFpsChangedListener)
- }
-
- @Test
- fun testTilePrefetch() {
- mapboxMap.prefetchesTiles = true
- verify { nativeMapView.prefetchTiles = true }
- }
-
- @Test
- fun testCameraForLatLngBounds() {
- val bounds = LatLngBounds.Builder().include(LatLng()).include(LatLng(1.0, 1.0)).build()
- mapboxMap.setLatLngBoundsForCameraTarget(bounds)
- verify { nativeMapView.setLatLngBounds(bounds) }
- }
-
- @Test(expected = IllegalArgumentException::class)
- fun testAnimateCameraChecksDurationPositive() {
- mapboxMap.animateCamera(CameraUpdateFactory.newLatLng(LatLng(30.0, 30.0)), 0, null)
- }
-
- @Test(expected = IllegalArgumentException::class)
- fun testEaseCameraChecksDurationPositive() {
- mapboxMap.easeCamera(CameraUpdateFactory.newLatLng(LatLng(30.0, 30.0)), 0, null)
- }
-
- @Test
- fun testGetNativeMapPtr() {
- assertEquals(5, mapboxMap.nativeMapPtr)
- }
+ @Test
+ fun testMinZoom() {
+ mapboxMap.setMinZoomPreference(10.0)
+ verify { transform.minZoom = 10.0 }
+ }
+
+ @Test
+ fun testMaxZoom() {
+ mapboxMap.setMaxZoomPreference(10.0)
+ verify { transform.maxZoom = 10.0 }
+ }
+
+ @Test
+ fun testFpsListener() {
+ val fpsChangedListener = mockk<MapboxMap.OnFpsChangedListener>()
+ mapboxMap.onFpsChangedListener = fpsChangedListener
+ assertEquals("Listener should match", fpsChangedListener, mapboxMap.onFpsChangedListener)
+ }
+
+ @Test
+ fun testTilePrefetch() {
+ mapboxMap.prefetchesTiles = true
+ verify { nativeMapView.prefetchTiles = true }
+ }
+
+ @Test
+ fun testCameraForLatLngBounds() {
+ val bounds = LatLngBounds.Builder().include(LatLng()).include(LatLng(1.0, 1.0)).build()
+ mapboxMap.setLatLngBoundsForCameraTarget(bounds)
+ verify { nativeMapView.setLatLngBounds(bounds) }
+ }
+
+ @Test(expected = IllegalArgumentException::class)
+ fun testAnimateCameraChecksDurationPositive() {
+ mapboxMap.animateCamera(CameraUpdateFactory.newLatLng(LatLng(30.0, 30.0)), 0, null)
+ }
+
+ @Test(expected = IllegalArgumentException::class)
+ fun testEaseCameraChecksDurationPositive() {
+ mapboxMap.easeCamera(CameraUpdateFactory.newLatLng(LatLng(30.0, 30.0)), 0, null)
+ }
+
+ @Test
+ fun testGetNativeMapPtr() {
+ assertEquals(5, mapboxMap.nativeMapPtr)
+ }
@Test
fun testNativeMapIsNotCalledOnStateSave() {
@@ -104,4 +106,10 @@ class MapboxMapTest {
mapboxMap.onSaveInstanceState(mockk(relaxed = true))
verify { nativeMapView wasNot Called }
}
+
+ @Test
+ fun testCameraChangeDispatcherCleared() {
+ mapboxMap.onDestroy()
+ verify { cameraChangeDispatcher.onDestroy() }
+ }
} \ No newline at end of file