MCPcopy Create free account
hub / github.com/PyVRP/PyVRP / test_route_schedule

Function test_route_schedule

tests/test_Route.py:429–454  ·  view source on GitHub ↗

Tests that the route's schedule returns correct statistics for various routes.

(ok_small, visits: list[int])

Source from the content-addressed store, hash-verified

427
428@pytest.mark.parametrize("visits", [[1, 2, 3, 4], [2, 1, 3, 4]])
429def test_route_schedule(ok_small, visits: list[int]):
430 """
431 Tests that the route's schedule returns correct statistics for various
432 routes.
433 """
434 route = Route(ok_small, visits, 0)
435 schedule = route.schedule()
436 assert_equal(len(schedule), len(route) + 2) # schedule includes depots
437
438 for visit in schedule:
439 data = ok_small.location(visit.location)
440 service = getattr(data, "service_duration", 0) # only for clients
441 assert_equal(visit.service_duration, service)
442 assert_equal(
443 visit.service_duration,
444 visit.end_service - visit.start_service,
445 )
446
447 service_duration = sum(visit.service_duration for visit in schedule)
448 assert_equal(service_duration, route.service_duration())
449
450 wait_duration = sum(visit.wait_duration for visit in schedule)
451 assert_equal(wait_duration, route.wait_duration())
452
453 time_warp = sum(visit.time_warp for visit in schedule)
454 assert_equal(time_warp, route.time_warp())
455
456
457def test_route_schedule_wait_duration():

Callers

nothing calls this directly

Calls 2

RouteClass · 0.90
locationMethod · 0.80

Tested by

no test coverage detected