@@ -77,6 +77,10 @@ class EVRouteRefreshTest : BaseTest<EmptyTestActivity>(EmptyTestActivity::class.
7777 Point .fromLngLat(10.3406374 , 49.16479 )
7878 )
7979 private lateinit var routeHandler: MockDirectionsRequestHandler
80+ private val initialEnergyConsumptionCurve = " 0,300;20,160;80,140;120,180"
81+ private val initialInitialCharge = " 18000"
82+ private val initialAuxiliaryConsumption = " 300"
83+ private val initialEvPreconditioningTime = " 10"
8084
8185 override fun setupMockLocation (): Location = mockLocationUpdatesRule.generateLocationUpdate {
8286 latitude = twoCoordinates[0 ].latitude()
@@ -150,20 +154,42 @@ class EVRouteRefreshTest : BaseTest<EmptyTestActivity>(EmptyTestActivity::class.
150154 R .raw.ev_route_refresh_response,
151155 acceptedGeometryIndex = 0
152156 )
157+ refreshHandler.jsonResponseModifier = DynamicResponseModifier ()
153158 val requestedRoutes = requestRoutes(twoCoordinates, electric = true )
154159
155160 mapboxNavigation.startTripSession()
156161 stayOnInitialPosition()
157162 mapboxNavigation.setNavigationRoutes(requestedRoutes)
158163 waitUntilRefresh()
159164
160- checkDoesNotHaveParameters (
165+ checkHasParameters (
161166 refreshHandler.handledRequests.first().requestUrl!! ,
162- evDataKeys
167+ mapOf (
168+ KEY_ENGINE to VALUE_ELECTRIC ,
169+ KEY_ENERGY_CONSUMPTION_CURVE to initialEnergyConsumptionCurve,
170+ KEY_EV_INITIAL_CHARGE to initialInitialCharge,
171+ KEY_AUXILIARY_CONSUMPTION to initialAuxiliaryConsumption,
172+ KEY_EV_PRECONDITIONING_TIME to initialEvPreconditioningTime,
173+ )
174+ )
175+
176+ val newInitialCharge = " 17900"
177+ val newRequestedRoutes = requestRoutes(
178+ twoCoordinates,
179+ electric = true ,
180+ initialCharge = newInitialCharge
163181 )
182+ mapboxNavigation.setNavigationRoutes(newRequestedRoutes)
183+ waitUntilNewRefresh()
164184 checkHasParameters(
165- refreshHandler.handledRequests.first().requestUrl!! ,
166- mapOf (KEY_ENGINE to VALUE_ELECTRIC )
185+ refreshHandler.handledRequests.last().requestUrl!! ,
186+ mapOf (
187+ KEY_ENGINE to VALUE_ELECTRIC ,
188+ KEY_ENERGY_CONSUMPTION_CURVE to initialEnergyConsumptionCurve,
189+ KEY_EV_INITIAL_CHARGE to newInitialCharge,
190+ KEY_AUXILIARY_CONSUMPTION to initialAuxiliaryConsumption,
191+ KEY_EV_PRECONDITIONING_TIME to initialEvPreconditioningTime,
192+ )
167193 )
168194 }
169195
@@ -212,14 +238,22 @@ class EVRouteRefreshTest : BaseTest<EmptyTestActivity>(EmptyTestActivity::class.
212238 mapboxNavigation.setNavigationRoutes(requestedRoutes)
213239 waitUntilRefresh()
214240
215- val noUpdaterRefreshUrl = refreshHandler.handledRequests.first().requestUrl!!
216- checkDoesNotHaveParameters(noUpdaterRefreshUrl, evDataKeys)
217- checkHasParameters(noUpdaterRefreshUrl, mapOf (KEY_ENGINE to VALUE_ELECTRIC ))
241+ val noDataRefreshUrl = refreshHandler.handledRequests.first().requestUrl!!
242+ checkHasParameters(
243+ noDataRefreshUrl,
244+ mapOf (
245+ KEY_ENGINE to VALUE_ELECTRIC ,
246+ KEY_ENERGY_CONSUMPTION_CURVE to initialEnergyConsumptionCurve,
247+ KEY_EV_PRECONDITIONING_TIME to initialEvPreconditioningTime,
248+ KEY_EV_INITIAL_CHARGE to initialInitialCharge,
249+ KEY_EV_INITIAL_CHARGE to initialInitialCharge,
250+ )
251+ )
218252
219- val consumptionCurve = " 0,300 ;20,120 ;40,150 "
253+ val consumptionCurve = " 0,301 ;20,121 ;40,151 "
220254 val initialCharge = " 80"
221- val preconditioningTime = " 10 "
222- val auxiliaryConsumption = " 300 "
255+ val preconditioningTime = " 11 "
256+ val auxiliaryConsumption = " 299 "
223257 val firstEvData = mapOf (
224258 KEY_ENERGY_CONSUMPTION_CURVE to consumptionCurve,
225259 KEY_EV_INITIAL_CHARGE to initialCharge,
@@ -236,10 +270,7 @@ class EVRouteRefreshTest : BaseTest<EmptyTestActivity>(EmptyTestActivity::class.
236270
237271 val newInitialCharge = " 60"
238272 mapboxNavigation.onEVDataUpdated(
239- mapOf (
240- KEY_EV_INITIAL_CHARGE to newInitialCharge,
241- KEY_EV_PRECONDITIONING_TIME to null ,
242- )
273+ mapOf (KEY_EV_INITIAL_CHARGE to newInitialCharge)
243274 )
244275 waitUntilNewRefresh()
245276
@@ -250,10 +281,10 @@ class EVRouteRefreshTest : BaseTest<EmptyTestActivity>(EmptyTestActivity::class.
250281 KEY_ENGINE to VALUE_ELECTRIC ,
251282 KEY_ENERGY_CONSUMPTION_CURVE to consumptionCurve,
252283 KEY_EV_INITIAL_CHARGE to newInitialCharge,
253- KEY_AUXILIARY_CONSUMPTION to auxiliaryConsumption
284+ KEY_AUXILIARY_CONSUMPTION to auxiliaryConsumption,
285+ KEY_EV_PRECONDITIONING_TIME to preconditioningTime,
254286 )
255287 )
256- checkDoesNotHaveParameters(urlWithTwiceUpdatedData, setOf (KEY_EV_PRECONDITIONING_TIME ))
257288
258289 mapboxNavigation.onEVDataUpdated(emptyMap())
259290 waitUntilNewRefresh()
@@ -265,10 +296,10 @@ class EVRouteRefreshTest : BaseTest<EmptyTestActivity>(EmptyTestActivity::class.
265296 KEY_ENGINE to VALUE_ELECTRIC ,
266297 KEY_ENERGY_CONSUMPTION_CURVE to consumptionCurve,
267298 KEY_EV_INITIAL_CHARGE to newInitialCharge,
268- KEY_AUXILIARY_CONSUMPTION to auxiliaryConsumption
299+ KEY_AUXILIARY_CONSUMPTION to auxiliaryConsumption,
300+ KEY_EV_PRECONDITIONING_TIME to preconditioningTime,
269301 )
270302 )
271- checkDoesNotHaveParameters(urlAfterEmptyUpdate, setOf (KEY_EV_PRECONDITIONING_TIME ))
272303 }
273304
274305 @Test
@@ -279,7 +310,7 @@ class EVRouteRefreshTest : BaseTest<EmptyTestActivity>(EmptyTestActivity::class.
279310 )
280311 val requestedRoutes = requestRoutes(twoCoordinates, electric = true )
281312 val evData = mapOf (
282- KEY_ENERGY_CONSUMPTION_CURVE to " 0,300;20,160;80,140;120,180 " ,
313+ KEY_ENERGY_CONSUMPTION_CURVE to initialEnergyConsumptionCurve ,
283314 KEY_EV_INITIAL_CHARGE to " 17000" ,
284315 KEY_EV_PRECONDITIONING_TIME to " 10" ,
285316 KEY_AUXILIARY_CONSUMPTION to " 300"
@@ -328,7 +359,7 @@ class EVRouteRefreshTest : BaseTest<EmptyTestActivity>(EmptyTestActivity::class.
328359 )
329360 val requestedRoutes = requestRoutes(twoCoordinates, electric = true )
330361 val evData = mapOf (
331- KEY_ENERGY_CONSUMPTION_CURVE to " 0,300;20,160;80,140;120,180 " ,
362+ KEY_ENERGY_CONSUMPTION_CURVE to initialEnergyConsumptionCurve ,
332363 KEY_EV_INITIAL_CHARGE to " 17000" ,
333364 KEY_EV_PRECONDITIONING_TIME to " 10" ,
334365 KEY_AUXILIARY_CONSUMPTION to " 300"
@@ -379,7 +410,7 @@ class EVRouteRefreshTest : BaseTest<EmptyTestActivity>(EmptyTestActivity::class.
379410 )
380411 val requestedRoutes = requestRoutes(twoCoordinates, electric = true )
381412 val evData = mapOf (
382- KEY_ENERGY_CONSUMPTION_CURVE to " 0,300;20,160;80,140;120,180 " ,
413+ KEY_ENERGY_CONSUMPTION_CURVE to initialEnergyConsumptionCurve ,
383414 KEY_EV_INITIAL_CHARGE to " 17000" ,
384415 KEY_EV_PRECONDITIONING_TIME to " 10" ,
385416 KEY_AUXILIARY_CONSUMPTION to " 300"
@@ -434,7 +465,7 @@ class EVRouteRefreshTest : BaseTest<EmptyTestActivity>(EmptyTestActivity::class.
434465 minChargeAtDestination = 35000
435466 )
436467 val evData = mapOf (
437- KEY_ENERGY_CONSUMPTION_CURVE to " 0,300;20,160;80,140;120,180 " ,
468+ KEY_ENERGY_CONSUMPTION_CURVE to initialEnergyConsumptionCurve ,
438469 KEY_EV_INITIAL_CHARGE to " 30000" ,
439470 KEY_EV_PRECONDITIONING_TIME to " 10" ,
440471 KEY_AUXILIARY_CONSUMPTION to " 300"
@@ -512,6 +543,7 @@ class EVRouteRefreshTest : BaseTest<EmptyTestActivity>(EmptyTestActivity::class.
512543 coordinates : List <Point >,
513544 electric : Boolean ,
514545 minChargeAtDestination : Int ,
546+ initialCharge : String ,
515547 ): RouteOptions {
516548 return RouteOptions .builder().applyDefaultNavigationOptions()
517549 .profile(DirectionsCriteria .PROFILE_DRIVING_TRAFFIC )
@@ -525,19 +557,18 @@ class EVRouteRefreshTest : BaseTest<EmptyTestActivity>(EmptyTestActivity::class.
525557 unrecognizedProperties(
526558 mapOf (
527559 KEY_ENGINE to VALUE_ELECTRIC ,
528- KEY_EV_INITIAL_CHARGE to " 18000" ,
529- KEY_ENERGY_CONSUMPTION_CURVE to " 0,300;20,160;80,140;120,180" ,
530- KEY_EV_PRECONDITIONING_TIME to " 10" ,
560+ KEY_EV_INITIAL_CHARGE to initialCharge,
561+ KEY_ENERGY_CONSUMPTION_CURVE to initialEnergyConsumptionCurve,
562+ KEY_EV_PRECONDITIONING_TIME to initialEvPreconditioningTime,
563+ KEY_AUXILIARY_CONSUMPTION to initialAuxiliaryConsumption,
531564 " ev_min_charge_at_charging_station" to " 6000" ,
532565 " ev_min_charge_at_destination" to " $minChargeAtDestination " ,
533566 " ev_max_charge" to " 60000" ,
534567 " ev_connector_types" to " ccs_combo_type1,ccs_combo_type2" ,
535- " energy_consumption_curve" to " 0,300;20,160;80,140;120,180" ,
536568 " ev_charging_curve" to " 0,100000;40000,70000;60000,30000;80000,10000" ,
537569 " ev_max_ac_charging_power" to " 14400" ,
538570 " ev_unconditioned_charging_curve" to
539571 " 0,50000;42000,35000;60000,15000;80000,5000" ,
540- " auxiliary_consumption" to " 300" ,
541572 )
542573 )
543574 }
@@ -562,10 +593,11 @@ class EVRouteRefreshTest : BaseTest<EmptyTestActivity>(EmptyTestActivity::class.
562593 private suspend fun requestRoutes (
563594 coordinates : List <Point >,
564595 electric : Boolean ,
565- minChargeAtDestination : Int = 6000
596+ minChargeAtDestination : Int = 6000,
597+ initialCharge : String = initialInitialCharge
566598 ): List <NavigationRoute > {
567599 return mapboxNavigation.requestRoutes(
568- generateRouteOptions(coordinates, electric, minChargeAtDestination)
600+ generateRouteOptions(coordinates, electric, minChargeAtDestination, initialCharge )
569601 )
570602 .getSuccessfulResultOrThrowException()
571603 .routes
0 commit comments