@@ -16,6 +16,7 @@ import com.mapbox.maps.extension.style.layers.generated.BackgroundLayer
16
16
import com.mapbox.maps.extension.style.layers.generated.LineLayer
17
17
import com.mapbox.maps.extension.style.layers.getLayer
18
18
import com.mapbox.maps.extension.style.layers.properties.generated.Visibility
19
+ import com.mapbox.maps.extension.style.sources.Source
19
20
import com.mapbox.maps.extension.style.sources.generated.GeoJsonSource
20
21
import com.mapbox.maps.extension.style.sources.getSource
21
22
import com.mapbox.navigation.testing.MainCoroutineRule
@@ -169,6 +170,88 @@ class MapboxRouteLineViewTest {
169
170
every {
170
171
setStyleSourceProperty(WAYPOINT_SOURCE_ID , any(), any())
171
172
} returns ExpectedFactory .createNone()
173
+ every { getSource(LAYER_GROUP_1_SOURCE_ID ) } returns null
174
+ every { getSource(LAYER_GROUP_2_SOURCE_ID ) } returns null
175
+ every { getSource(LAYER_GROUP_3_SOURCE_ID ) } returns null
176
+ every { getSource(WAYPOINT_SOURCE_ID ) } returns null
177
+ every {
178
+ removeStyleSource(LAYER_GROUP_1_SOURCE_ID )
179
+ } returns ExpectedFactory .createNone()
180
+ every {
181
+ removeStyleSource(LAYER_GROUP_2_SOURCE_ID )
182
+ } returns ExpectedFactory .createNone()
183
+ every {
184
+ removeStyleSource(LAYER_GROUP_3_SOURCE_ID )
185
+ } returns ExpectedFactory .createNone()
186
+ every {
187
+ removeStyleSource(WAYPOINT_SOURCE_ID )
188
+ } returns ExpectedFactory .createNone()
189
+ every {
190
+ removeStyleSource(TOP_LEVEL_ROUTE_LINE_LAYER_ID )
191
+ } returns ExpectedFactory .createNone()
192
+ every {
193
+ removeStyleSource(BOTTOM_LEVEL_ROUTE_LINE_LAYER_ID )
194
+ } returns ExpectedFactory .createNone()
195
+ every {
196
+ removeStyleLayer(TOP_LEVEL_ROUTE_LINE_LAYER_ID )
197
+ } returns ExpectedFactory .createNone()
198
+ every {
199
+ removeStyleLayer(BOTTOM_LEVEL_ROUTE_LINE_LAYER_ID )
200
+ } returns ExpectedFactory .createNone()
201
+ every {
202
+ removeStyleLayer(LAYER_GROUP_1_TRAIL_CASING )
203
+ } returns ExpectedFactory .createNone()
204
+ every {
205
+ removeStyleLayer(LAYER_GROUP_1_TRAIL )
206
+ } returns ExpectedFactory .createNone()
207
+ every {
208
+ removeStyleLayer(LAYER_GROUP_1_CASING )
209
+ } returns ExpectedFactory .createNone()
210
+ every {
211
+ removeStyleLayer(LAYER_GROUP_1_MAIN )
212
+ } returns ExpectedFactory .createNone()
213
+ every {
214
+ removeStyleLayer(LAYER_GROUP_1_TRAFFIC )
215
+ } returns ExpectedFactory .createNone()
216
+ every {
217
+ removeStyleLayer(LAYER_GROUP_1_RESTRICTED )
218
+ } returns ExpectedFactory .createNone()
219
+ every {
220
+ removeStyleLayer(LAYER_GROUP_2_TRAIL_CASING )
221
+ } returns ExpectedFactory .createNone()
222
+ every {
223
+ removeStyleLayer(LAYER_GROUP_2_TRAIL )
224
+ } returns ExpectedFactory .createNone()
225
+ every {
226
+ removeStyleLayer(LAYER_GROUP_2_CASING )
227
+ } returns ExpectedFactory .createNone()
228
+ every {
229
+ removeStyleLayer(LAYER_GROUP_2_MAIN )
230
+ } returns ExpectedFactory .createNone()
231
+ every {
232
+ removeStyleLayer(LAYER_GROUP_2_TRAFFIC )
233
+ } returns ExpectedFactory .createNone()
234
+ every {
235
+ removeStyleLayer(LAYER_GROUP_2_RESTRICTED )
236
+ } returns ExpectedFactory .createNone()
237
+ every {
238
+ removeStyleLayer(LAYER_GROUP_3_TRAIL_CASING )
239
+ } returns ExpectedFactory .createNone()
240
+ every {
241
+ removeStyleLayer(LAYER_GROUP_3_TRAIL )
242
+ } returns ExpectedFactory .createNone()
243
+ every {
244
+ removeStyleLayer(LAYER_GROUP_3_CASING )
245
+ } returns ExpectedFactory .createNone()
246
+ every {
247
+ removeStyleLayer(LAYER_GROUP_3_MAIN )
248
+ } returns ExpectedFactory .createNone()
249
+ every {
250
+ removeStyleLayer(LAYER_GROUP_3_TRAFFIC )
251
+ } returns ExpectedFactory .createNone()
252
+ every {
253
+ removeStyleLayer(LAYER_GROUP_3_RESTRICTED )
254
+ } returns ExpectedFactory .createNone()
172
255
}.also {
173
256
mockCheckForLayerInitialization(it)
174
257
}
@@ -179,6 +262,123 @@ class MapboxRouteLineViewTest {
179
262
unmockkObject(MapboxRouteLineUtils )
180
263
}
181
264
265
+ @Test
266
+ fun initializeLayers_withOptions () {
267
+ mockkObject(MapboxRouteLineUtils )
268
+ val options = MapboxRouteLineOptions .Builder (ctx).build()
269
+ val options2 = MapboxRouteLineOptions .Builder (ctx).withTolerance(59.0 ).build()
270
+ val style = mockk<Style > {
271
+ every {
272
+ setStyleSourceProperty(LAYER_GROUP_1_SOURCE_ID , any(), any())
273
+ } returns ExpectedFactory .createNone()
274
+ every {
275
+ setStyleSourceProperty(LAYER_GROUP_2_SOURCE_ID , any(), any())
276
+ } returns ExpectedFactory .createNone()
277
+ every {
278
+ setStyleSourceProperty(LAYER_GROUP_3_SOURCE_ID , any(), any())
279
+ } returns ExpectedFactory .createNone()
280
+ every {
281
+ setStyleSourceProperty(WAYPOINT_SOURCE_ID , any(), any())
282
+ } returns ExpectedFactory .createNone()
283
+ every { getSource(LAYER_GROUP_1_SOURCE_ID ) } returns null
284
+ every { getSource(LAYER_GROUP_2_SOURCE_ID ) } returns null
285
+ every { getSource(LAYER_GROUP_3_SOURCE_ID ) } returns null
286
+ every { getSource(WAYPOINT_SOURCE_ID ) } returns null
287
+ every {
288
+ removeStyleSource(LAYER_GROUP_1_SOURCE_ID )
289
+ } returns ExpectedFactory .createNone()
290
+ every {
291
+ removeStyleSource(LAYER_GROUP_2_SOURCE_ID )
292
+ } returns ExpectedFactory .createNone()
293
+ every {
294
+ removeStyleSource(LAYER_GROUP_3_SOURCE_ID )
295
+ } returns ExpectedFactory .createNone()
296
+ every {
297
+ removeStyleSource(WAYPOINT_SOURCE_ID )
298
+ } returns ExpectedFactory .createNone()
299
+ every {
300
+ removeStyleSource(TOP_LEVEL_ROUTE_LINE_LAYER_ID )
301
+ } returns ExpectedFactory .createNone()
302
+ every {
303
+ removeStyleSource(BOTTOM_LEVEL_ROUTE_LINE_LAYER_ID )
304
+ } returns ExpectedFactory .createNone()
305
+ every {
306
+ removeStyleLayer(TOP_LEVEL_ROUTE_LINE_LAYER_ID )
307
+ } returns ExpectedFactory .createNone()
308
+ every {
309
+ removeStyleLayer(BOTTOM_LEVEL_ROUTE_LINE_LAYER_ID )
310
+ } returns ExpectedFactory .createNone()
311
+ every {
312
+ removeStyleLayer(LAYER_GROUP_1_TRAIL_CASING )
313
+ } returns ExpectedFactory .createNone()
314
+ every {
315
+ removeStyleLayer(LAYER_GROUP_1_TRAIL )
316
+ } returns ExpectedFactory .createNone()
317
+ every {
318
+ removeStyleLayer(LAYER_GROUP_1_CASING )
319
+ } returns ExpectedFactory .createNone()
320
+ every {
321
+ removeStyleLayer(LAYER_GROUP_1_MAIN )
322
+ } returns ExpectedFactory .createNone()
323
+ every {
324
+ removeStyleLayer(LAYER_GROUP_1_TRAFFIC )
325
+ } returns ExpectedFactory .createNone()
326
+ every {
327
+ removeStyleLayer(LAYER_GROUP_1_RESTRICTED )
328
+ } returns ExpectedFactory .createNone()
329
+ every {
330
+ removeStyleLayer(LAYER_GROUP_2_TRAIL_CASING )
331
+ } returns ExpectedFactory .createNone()
332
+ every {
333
+ removeStyleLayer(LAYER_GROUP_2_TRAIL )
334
+ } returns ExpectedFactory .createNone()
335
+ every {
336
+ removeStyleLayer(LAYER_GROUP_2_CASING )
337
+ } returns ExpectedFactory .createNone()
338
+ every {
339
+ removeStyleLayer(LAYER_GROUP_2_MAIN )
340
+ } returns ExpectedFactory .createNone()
341
+ every {
342
+ removeStyleLayer(LAYER_GROUP_2_TRAFFIC )
343
+ } returns ExpectedFactory .createNone()
344
+ every {
345
+ removeStyleLayer(LAYER_GROUP_2_RESTRICTED )
346
+ } returns ExpectedFactory .createNone()
347
+ every {
348
+ removeStyleLayer(LAYER_GROUP_3_TRAIL_CASING )
349
+ } returns ExpectedFactory .createNone()
350
+ every {
351
+ removeStyleLayer(LAYER_GROUP_3_TRAIL )
352
+ } returns ExpectedFactory .createNone()
353
+ every {
354
+ removeStyleLayer(LAYER_GROUP_3_CASING )
355
+ } returns ExpectedFactory .createNone()
356
+ every {
357
+ removeStyleLayer(LAYER_GROUP_3_MAIN )
358
+ } returns ExpectedFactory .createNone()
359
+ every {
360
+ removeStyleLayer(LAYER_GROUP_3_TRAFFIC )
361
+ } returns ExpectedFactory .createNone()
362
+ every {
363
+ removeStyleLayer(LAYER_GROUP_3_RESTRICTED )
364
+ } returns ExpectedFactory .createNone()
365
+ }.also {
366
+ mockCheckForLayerInitialization(it)
367
+ }
368
+ val view = MapboxRouteLineView (options)
369
+
370
+ view.initializeLayers(style, options2)
371
+
372
+ verify { MapboxRouteLineUtils .removeLayersAndSources(style) }
373
+ verify { MapboxRouteLineUtils .initializeLayers(style, options2) }
374
+ verify { style.getSource(LAYER_GROUP_1_SOURCE_ID ) }
375
+ verify { style.getSource(LAYER_GROUP_2_SOURCE_ID ) }
376
+ verify { style.getSource(LAYER_GROUP_3_SOURCE_ID ) }
377
+ verify { style.getSource(WAYPOINT_SOURCE_ID ) }
378
+ assertEquals(view.options, options2)
379
+ unmockkObject(MapboxRouteLineUtils )
380
+ }
381
+
182
382
@Test
183
383
fun renderClearRouteLineValue () = coroutineRule.runBlockingTest {
184
384
mockkStatic(" com.mapbox.maps.extension.style.sources.SourceUtils" )
0 commit comments