Skip to content

Commit ac75c1e

Browse files
Add tests
1 parent 4703352 commit ac75c1e

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

libnavigation-core/src/test/java/com/mapbox/navigation/core/MapboxNavigationTest.kt

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ import com.mapbox.navigation.base.route.NavigationRouterCallback
1111
import com.mapbox.navigation.base.route.RouterOrigin
1212
import com.mapbox.navigation.base.trip.model.RouteLegProgress
1313
import com.mapbox.navigation.base.trip.model.RouteProgress
14+
import com.mapbox.navigation.core.adasis.AdasisConfig
15+
import com.mapbox.navigation.core.adasis.AdasisMessageContext
16+
import com.mapbox.navigation.core.adasis.AdasisV2MessageCallback
1417
import com.mapbox.navigation.core.arrival.ArrivalController
1518
import com.mapbox.navigation.core.arrival.ArrivalProgressObserver
1619
import com.mapbox.navigation.core.directions.session.DirectionsSessionRoutes
@@ -36,6 +39,8 @@ import com.mapbox.navigation.core.routerefresh.RouteRefreshObserver
3639
import com.mapbox.navigation.core.routerefresh.RouteRefresherResult
3740
import com.mapbox.navigation.core.routerefresh.RouteRefresherStatus
3841
import com.mapbox.navigation.core.routerefresh.RoutesRefresherResult
42+
import com.mapbox.navigation.core.sensor.SensorData
43+
import com.mapbox.navigation.core.sensor.UpdateExternalSensorDataCallback
3944
import com.mapbox.navigation.core.telemetry.MapboxNavigationTelemetry
4045
import com.mapbox.navigation.core.testutil.createRoutesUpdatedResult
4146
import com.mapbox.navigation.core.trip.session.LocationObserver
@@ -52,6 +57,7 @@ import com.mapbox.navigation.navigator.internal.NavigatorLoader
5257
import com.mapbox.navigation.testing.factories.createDirectionsRoute
5358
import com.mapbox.navigation.testing.factories.createNavigationRoute
5459
import com.mapbox.navigation.testing.factories.createRouteOptions
60+
import com.mapbox.navigator.ADASISv2MessageCallback
5561
import com.mapbox.navigator.FallbackVersionsObserver
5662
import com.mapbox.navigator.NavigatorConfig
5763
import com.mapbox.navigator.RouteAlternative
@@ -2382,6 +2388,81 @@ internal class MapboxNavigationTest : MapboxNavigationBaseTest() {
23822388
}
23832389
}
23842390

2391+
@Test
2392+
fun updateExternalSensorData() {
2393+
createMapboxNavigation()
2394+
2395+
val nativeCallbackSlot = slot<com.mapbox.navigator.UpdateExternalSensorDataCallback>()
2396+
every { navigator.updateExternalSensorData(any(), capture(nativeCallbackSlot)) } answers {
2397+
nativeCallbackSlot.captured.run(true)
2398+
}
2399+
2400+
val weatherSensorData = SensorData.Weather(SensorData.Weather.ConditionType.FOG)
2401+
val callback = mockk<UpdateExternalSensorDataCallback>(relaxed = true)
2402+
mapboxNavigation.updateExternalSensorData(weatherSensorData, callback)
2403+
2404+
verify(exactly = 1) {
2405+
navigator.updateExternalSensorData(
2406+
eq(weatherSensorData.toNativeSensorData()),
2407+
eq(nativeCallbackSlot.captured)
2408+
)
2409+
}
2410+
2411+
verify(exactly = 1) {
2412+
callback.onResult(eq(true))
2413+
}
2414+
}
2415+
2416+
@Test
2417+
fun setAdasisMessageCallback() {
2418+
createMapboxNavigation()
2419+
2420+
val testMessageBuffer = listOf<Byte>(1, 2, 3)
2421+
val testMessageContext = com.mapbox.navigator.AdasisMessageContext(123)
2422+
val nativeCallbackSlot = slot<ADASISv2MessageCallback>()
2423+
every { navigator.setAdasisMessageCallback(capture(nativeCallbackSlot), any()) } answers {
2424+
nativeCallbackSlot.captured.run(testMessageBuffer, testMessageContext)
2425+
}
2426+
2427+
val adasisConfig = AdasisConfig.Builder().build()
2428+
val callback = mockk<AdasisV2MessageCallback>(relaxed = true)
2429+
mapboxNavigation.setAdasisMessageCallback(adasisConfig, callback)
2430+
2431+
verify(exactly = 1) {
2432+
navigator.setAdasisMessageCallback(
2433+
nativeCallbackSlot.captured,
2434+
adasisConfig.toNativeAdasisConfig()
2435+
)
2436+
}
2437+
2438+
verify(exactly = 1) {
2439+
callback.onMessage(
2440+
eq(testMessageBuffer),
2441+
eq(AdasisMessageContext.createFromNativeObject(testMessageContext))
2442+
)
2443+
}
2444+
}
2445+
2446+
@Test
2447+
fun resetAdasisMessageCallback() {
2448+
createMapboxNavigation()
2449+
mapboxNavigation.resetAdasisMessageCallback()
2450+
2451+
verify(exactly = 1) {
2452+
navigator.resetAdasisMessageCallback()
2453+
}
2454+
}
2455+
2456+
@Test
2457+
fun destroy_resetAdasisMessageCallback() {
2458+
createMapboxNavigation()
2459+
mapboxNavigation.onDestroy()
2460+
2461+
verify(exactly = 1) {
2462+
navigator.resetAdasisMessageCallback()
2463+
}
2464+
}
2465+
23852466
private fun interceptRefreshObserver(): RouteRefreshObserver {
23862467
val observers = mutableListOf<RouteRefreshObserver>()
23872468
verify { routeRefreshController.registerRouteRefreshObserver(capture(observers)) }

0 commit comments

Comments
 (0)