1- package com.mapbox.navigation.dropin.component.recenter
1+ package com.mapbox.navigation.dropin.camera
22
33import com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI
44import com.mapbox.navigation.dropin.util.TestStore
@@ -10,7 +10,6 @@ import io.mockk.mockk
1010import io.mockk.spyk
1111import io.mockk.verify
1212import kotlinx.coroutines.ExperimentalCoroutinesApi
13- import kotlinx.coroutines.yield
1413import org.junit.Assert.assertFalse
1514import org.junit.Assert.assertTrue
1615import org.junit.Before
@@ -21,7 +20,7 @@ import org.junit.Test
2120class RecenterButtonComponentContractImplTest {
2221
2322 @get:Rule
24- var coroutineRule = MainCoroutineRule ()
23+ val coroutineRule = MainCoroutineRule ()
2524
2625 private lateinit var store: TestStore
2726 private lateinit var sut: RecenterButtonComponentContractImpl
@@ -41,32 +40,36 @@ class RecenterButtonComponentContractImplTest {
4140 navigation = NavigationState .FreeDrive
4241 )
4342 }
44- yield () // yielding to allow isVisible StateFlow run its logic
43+ coroutineRule.testDispatcher.advanceUntilIdle()
4544 assertTrue(
4645 " expected TRUE when camera is Idle and not in RoutePreview" ,
4746 sut.isVisible.value
4847 )
4948 }
5049
5150 @Test
52- fun `isVisible - should return FALSE when camera not Idle or in RoutePreview ` () =
51+ fun `isVisible - should return FALSE when camera not Idle` () =
5352 coroutineRule.runBlockingTest {
5453 store.updateState {
5554 it.copy(
5655 camera = it.camera.copy(cameraMode = TargetCameraMode .Following ),
5756 navigation = NavigationState .FreeDrive
5857 )
5958 }
60- yield () // yielding to allow isVisible StateFlow run its logic
59+ coroutineRule.testDispatcher.advanceUntilIdle()
6160 assertFalse(" expected FALSE when camera not Idle" , sut.isVisible.value)
61+ }
6262
63+ @Test
64+ fun `isVisible - should return FALSE when camera in RoutePreview` () =
65+ coroutineRule.runBlockingTest {
6366 store.updateState {
6467 it.copy(
6568 camera = it.camera.copy(cameraMode = TargetCameraMode .Idle ),
6669 navigation = NavigationState .RoutePreview
6770 )
6871 }
69- yield () // yielding to allow isVisible StateFlow run its logic
72+ coroutineRule.testDispatcher.advanceUntilIdle()
7073 assertFalse(" expected FALSE when NavigationState not RoutePreview" , sut.isVisible.value)
7174 }
7275
0 commit comments