Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import com.mapbox.mapboxsdk.style.sources.GeoJsonSource
import org.hamcrest.CoreMatchers.*
import org.junit.*
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotEquals
import org.junit.rules.TestName
import org.junit.runner.RunWith
import timber.log.Timber

Expand All @@ -53,7 +53,11 @@ class LocationLayerPluginTest {

@Rule
@JvmField
val rule = ActivityTestRule(SingleFragmentActivity::class.java, true, true)
val activityRule = ActivityTestRule(SingleFragmentActivity::class.java, true, true)

@Rule
@JvmField
val nameRule = TestName()

@Rule
@JvmField
Expand All @@ -77,9 +81,9 @@ class LocationLayerPluginTest {
val options = MapboxMapOptions()
.camera(CameraPosition.Builder().zoom(2.0).build()) // to match plugins min zoom
fragment = SupportMapFragment.newInstance(options)
rule.activity.setFragment(fragment)
activityRule.activity.setFragment(fragment)

Timber.e("@Before: register idle resource")
Timber.e("@Before: ${nameRule.methodName} - register idle resource")
// If idlingResource is null, throw Kotlin exception
idlingResource = OnMapFragmentReadyIdlingResource(fragment)
styleChangeIdlingResource = StyleChangeIdlingResource()
Expand All @@ -103,7 +107,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, true))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, true))
}

@Test
Expand All @@ -128,7 +132,7 @@ class LocationLayerPluginTest {
// changing the style just before instantiating the plugin
mapboxMap.setStyleUrl(Style.LIGHT)
val plugin =
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, null, false)
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, null, false)
.providePlugin(mapView, mapboxMap, context)
plugin.forceLocationUpdate(location)
return plugin
Expand Down Expand Up @@ -191,7 +195,7 @@ class LocationLayerPluginTest {
.enableStaleState(false)
.build()
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, options))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, options))
}

@Test
Expand Down Expand Up @@ -227,7 +231,7 @@ class LocationLayerPluginTest {
.bearingName("custom-bearing-bitmap")
.build()
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, options))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, options))
}

@Test
Expand All @@ -236,6 +240,7 @@ class LocationLayerPluginTest {
override fun onGenericPluginAction(plugin: LocationLayerPlugin, mapboxMap: MapboxMap,
uiController: UiController, context: Context) {
plugin.renderMode = RenderMode.GPS
plugin.forceLocationUpdate(location)
uiController.loopMainThreadForAtLeast(MAP_RENDER_DELAY)
val foregroundDrawable = ContextCompat.getDrawable(context, R.drawable.ic_media_play)
mapboxMap.addImageFromDrawable("custom-foreground-bitmap", foregroundDrawable!!)
Expand All @@ -251,7 +256,7 @@ class LocationLayerPluginTest {
.gpsName("custom-gps-bitmap")
.build()
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, options))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, options))
}

@Test
Expand All @@ -260,6 +265,7 @@ class LocationLayerPluginTest {
override fun onGenericPluginAction(plugin: LocationLayerPlugin, mapboxMap: MapboxMap,
uiController: UiController, context: Context) {
plugin.renderMode = RenderMode.GPS
plugin.forceLocationUpdate(location)
uiController.loopMainThreadForAtLeast(MAP_RENDER_DELAY)

val foregroundId = mapboxMap.querySourceFeatures(LOCATION_SOURCE)[0].getStringProperty(PROPERTY_FOREGROUND_ICON)
Expand All @@ -278,7 +284,7 @@ class LocationLayerPluginTest {
.gpsName("custom-gps-bitmap")
.build()
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, options))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, options))
}

@Test
Expand All @@ -287,6 +293,7 @@ class LocationLayerPluginTest {
override fun onGenericPluginAction(plugin: LocationLayerPlugin, mapboxMap: MapboxMap,
uiController: UiController, context: Context) {
plugin.renderMode = RenderMode.GPS
plugin.forceLocationUpdate(location)
uiController.loopMainThreadForAtLeast(MAP_RENDER_DELAY)

val foregroundId = mapboxMap.querySourceFeatures(LOCATION_SOURCE)[0].getStringProperty(PROPERTY_FOREGROUND_ICON)
Expand All @@ -304,7 +311,7 @@ class LocationLayerPluginTest {
.gpsName("custom-gps-bitmap")
.build()
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, options))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, options))
}

@Test
Expand Down Expand Up @@ -333,7 +340,7 @@ class LocationLayerPluginTest {
.staleStateTimeout(200)
.build()
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, options, false))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, options, false))
}

@Test
Expand All @@ -358,7 +365,7 @@ class LocationLayerPluginTest {
}
}
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand All @@ -383,7 +390,7 @@ class LocationLayerPluginTest {
.accuracyColor(color)
.build()
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, options))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, options))
}

@Test
Expand Down Expand Up @@ -464,7 +471,7 @@ class LocationLayerPluginTest {
}
}
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, null, false))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, null, false))
}

@Test
Expand All @@ -485,7 +492,7 @@ class LocationLayerPluginTest {
}
}
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, null, false))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, null, false))
}

@Test
Expand All @@ -506,7 +513,7 @@ class LocationLayerPluginTest {
}
}
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, null, false))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, null, false))
}

@Test
Expand All @@ -526,7 +533,7 @@ class LocationLayerPluginTest {
}
}
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, null, false))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, null, false))
}

@Test
Expand All @@ -547,7 +554,7 @@ class LocationLayerPluginTest {
}
}
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, null, false))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, null, false))
}

@Test
Expand All @@ -571,7 +578,7 @@ class LocationLayerPluginTest {
}
}
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, null, false))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, null, false))
}

@Test
Expand Down Expand Up @@ -603,7 +610,7 @@ class LocationLayerPluginTest {
}
}
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, null, false))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, null, false))
}

@Test
Expand All @@ -624,7 +631,7 @@ class LocationLayerPluginTest {
}
}
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))

// Waiting for style to finish loading while pushing updates
onView(withId(R.id.content)).check(matches(isDisplayed()))
Expand All @@ -645,7 +652,7 @@ class LocationLayerPluginTest {
}
}
executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))

// Waiting for style to finish loading while pushing updates
onView(withId(R.id.content)).check(matches(isDisplayed()))
Expand All @@ -671,7 +678,7 @@ class LocationLayerPluginTest {
override fun providePlugin(mapView: MapView, mapboxMap: MapboxMap, context: Context): LocationLayerPlugin {
// changing the style just before instantiating the plugin
styleChangeIdlingResource.waitForStyle(mapView, mapboxMap, MAPBOX_HEAVY_STYLE)
return PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, null, false)
return PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, null, false)
.providePlugin(mapView, mapboxMap, context)
}

Expand Down Expand Up @@ -702,7 +709,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand All @@ -729,7 +736,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand Down Expand Up @@ -759,7 +766,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand Down Expand Up @@ -790,7 +797,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand All @@ -807,7 +814,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand All @@ -824,7 +831,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand All @@ -840,7 +847,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand All @@ -859,7 +866,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand All @@ -885,7 +892,7 @@ class LocationLayerPluginTest {
}

executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, null, false))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, null, false))
}

@Test
Expand All @@ -904,7 +911,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand All @@ -921,7 +928,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand All @@ -937,7 +944,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand All @@ -956,7 +963,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand All @@ -981,7 +988,7 @@ class LocationLayerPluginTest {
}

executePluginTest(pluginAction,
PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity, false, null, null, false))
PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity, false, null, null, false))
}

@Test
Expand All @@ -1000,7 +1007,7 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@Test
Expand All @@ -1022,18 +1029,18 @@ class LocationLayerPluginTest {
}
}

executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity))
executePluginTest(pluginAction, PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity))
}

@After
fun afterTest() {
Timber.e("@After: unregister idle resource")
Timber.e("@After: ${nameRule.methodName} - unregister idle resource")
IdlingRegistry.getInstance().unregister(idlingResource)
IdlingRegistry.getInstance().unregister(styleChangeIdlingResource)
}

private fun executePluginTest(listener: GenericPluginAction.OnPerformGenericPluginAction<LocationLayerPlugin>,
pluginProvider: GenericPluginAction.PluginProvider<LocationLayerPlugin> = PluginGenerationUtil.getLocationLayerPluginProvider(rule.activity)) {
pluginProvider: GenericPluginAction.PluginProvider<LocationLayerPlugin> = PluginGenerationUtil.getLocationLayerPluginProvider(activityRule.activity)) {
onView(withId(R.id.content)).perform(GenericPluginAction(fragment.view as MapView, mapboxMap, pluginProvider, listener))
}
}
Loading