summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationAnimatorCoordinatorTest.kt
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationAnimatorCoordinatorTest.kt')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationAnimatorCoordinatorTest.kt62
1 files changed, 55 insertions, 7 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationAnimatorCoordinatorTest.kt b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationAnimatorCoordinatorTest.kt
index fad71237ab..7c75a8cb75 100644
--- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationAnimatorCoordinatorTest.kt
+++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/location/LocationAnimatorCoordinatorTest.kt
@@ -1,6 +1,8 @@
package com.mapbox.mapboxsdk.location
+import android.animation.Animator
import android.location.Location
+import android.view.animation.LinearInterpolator
import com.mapbox.mapboxsdk.camera.CameraPosition
import com.mapbox.mapboxsdk.geometry.LatLng
import com.mapbox.mapboxsdk.location.LocationComponentConstants.DEFAULT_TRACKING_TILT_ANIM_DURATION
@@ -12,8 +14,11 @@ import junit.framework.Assert.assertTrue
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.ArgumentMatchers.any
+import org.mockito.ArgumentMatchers.eq
import org.mockito.Mockito
import org.mockito.Mockito.mock
+import org.mockito.Mockito.verify
import org.robolectric.RobolectricTestRunner
@RunWith(RobolectricTestRunner::class)
@@ -22,9 +27,12 @@ class LocationAnimatorCoordinatorTest {
private lateinit var locationAnimatorCoordinator: LocationAnimatorCoordinator
private val cameraPosition: CameraPosition = CameraPosition.DEFAULT
+ private lateinit var animatorSetProvider: MapboxAnimatorSetProvider
+
@Before
fun setUp() {
- locationAnimatorCoordinator = LocationAnimatorCoordinator(mock(Projection::class.java))
+ animatorSetProvider = mock(MapboxAnimatorSetProvider::class.java)
+ locationAnimatorCoordinator = LocationAnimatorCoordinator(mock(Projection::class.java), animatorSetProvider)
}
@Test
@@ -127,9 +135,6 @@ class LocationAnimatorCoordinatorTest {
val layerAccuracy = locationAnimatorCoordinator.animatorArray[ANIMATOR_LAYER_ACCURACY]?.target as Float
assertEquals(layerAccuracy, accuracy)
-
- val animationDuration = locationAnimatorCoordinator.animatorArray[ANIMATOR_LAYER_ACCURACY]?.duration as Long
- assertEquals(LocationComponentConstants.ACCURACY_RADIUS_ANIMATION_DURATION, animationDuration)
}
@Test
@@ -146,9 +151,6 @@ class LocationAnimatorCoordinatorTest {
val layerAccuracy = locationAnimatorCoordinator.animatorArray[ANIMATOR_LAYER_ACCURACY]?.target as Float
assertEquals(layerAccuracy, accuracy)
-
- val animationDuration = locationAnimatorCoordinator.animatorArray[ANIMATOR_LAYER_ACCURACY]?.duration as Long
- assertEquals(0L, animationDuration)
}
@Test
@@ -283,4 +285,50 @@ class LocationAnimatorCoordinatorTest {
assertTrue(locationAnimatorCoordinator.cameraListeners.isEmpty())
}
+
+ @Test
+ fun feedNewCompassBearing_withAnimation() {
+ locationAnimatorCoordinator.setCompassAnimationEnabled(true)
+ locationAnimatorCoordinator.feedNewCompassBearing(77f, cameraPosition)
+
+ val animators = mutableListOf<Animator>(
+ locationAnimatorCoordinator.animatorArray[ANIMATOR_LAYER_COMPASS_BEARING],
+ locationAnimatorCoordinator.animatorArray[ANIMATOR_CAMERA_COMPASS_BEARING])
+
+ verify(animatorSetProvider).startAnimation(eq(animators), any(LinearInterpolator::class.java), eq(LocationComponentConstants.COMPASS_UPDATE_RATE_MS))
+ }
+
+ @Test
+ fun feedNewCompassBearing_withoutAnimation() {
+ locationAnimatorCoordinator.setCompassAnimationEnabled(false)
+ locationAnimatorCoordinator.feedNewCompassBearing(77f, cameraPosition)
+
+ val animators = mutableListOf<Animator>(
+ locationAnimatorCoordinator.animatorArray[ANIMATOR_LAYER_COMPASS_BEARING],
+ locationAnimatorCoordinator.animatorArray[ANIMATOR_CAMERA_COMPASS_BEARING])
+
+ verify(animatorSetProvider).startAnimation(eq(animators), any(LinearInterpolator::class.java), eq(0L))
+ }
+
+ @Test
+ fun feedNewAccuracy_withAnimation() {
+ locationAnimatorCoordinator.setAccuracyAnimationEnabled(true)
+ locationAnimatorCoordinator.feedNewAccuracyRadius(150f, false)
+
+ val animators = mutableListOf<Animator>(
+ locationAnimatorCoordinator.animatorArray[ANIMATOR_LAYER_ACCURACY])
+
+ verify(animatorSetProvider).startAnimation(eq(animators), any(LinearInterpolator::class.java), eq(LocationComponentConstants.ACCURACY_RADIUS_ANIMATION_DURATION))
+ }
+
+ @Test
+ fun feedNewAccuracy_withoutAnimation() {
+ locationAnimatorCoordinator.setAccuracyAnimationEnabled(false)
+ locationAnimatorCoordinator.feedNewAccuracyRadius(150f, false)
+
+ val animators = mutableListOf<Animator>(
+ locationAnimatorCoordinator.animatorArray[ANIMATOR_LAYER_ACCURACY])
+
+ verify(animatorSetProvider).startAnimation(eq(animators), any(LinearInterpolator::class.java), eq(0L))
+ }
} \ No newline at end of file