diff options
author | Olga Khlopkova <o.khlopkova@corp.mail.ru> | 2020-10-23 16:44:03 +0300 |
---|---|---|
committer | Vladimir Byko-Ianko <bykoianko@gmail.com> | 2020-10-26 15:05:35 +0300 |
commit | 57f21b3930beaaa5472f617d5b41cbd6285307f8 (patch) | |
tree | e6e99c0b5d5c286010fe8fdf1db5e01f5f57421a /routing | |
parent | 03aff98fecf855487fef7b85ac48bb2f254b3bf7 (diff) |
[routing] New integration tests for bicycle turns.
Diffstat (limited to 'routing')
-rw-r--r-- | routing/routing_integration_tests/bicycle_turn_test.cpp | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/routing/routing_integration_tests/bicycle_turn_test.cpp b/routing/routing_integration_tests/bicycle_turn_test.cpp index 200ffc3b28..1a27958c25 100644 --- a/routing/routing_integration_tests/bicycle_turn_test.cpp +++ b/routing/routing_integration_tests/bicycle_turn_test.cpp @@ -142,3 +142,81 @@ UNIT_TEST(RussiaMoscowSvobodiOnewayBicycleWayTurnTest) integration::TestRouteLength(route, 768.0); } + +UNIT_TEST(TurnsNearAltufievskoeShosseLongFakeSegmentTest) +{ + TRouteResult const routeResult = + integration::CalculateRoute(integration::GetVehicleComponents(VehicleType::Bicycle), + mercator::FromLatLon(55.91569, 37.58972), {0.0, 0.0}, + mercator::FromLatLon(55.91608, 37.58614)); + + Route const & route = *routeResult.first; + RouterResultCode const result = routeResult.second; + TEST_EQUAL(result, RouterResultCode::NoError, ()); + + integration::TestTurnCount(route, 3 /* expectedTurnCount */); + + integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnRight); + integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnLeft); + integration::GetNthTurn(route, 2).TestValid().TestDirection(CarDirection::TurnSlightLeft); + + integration::TestRouteLength(route, 341.5); +} + +UNIT_TEST(TurnsNearMoscowRiverShortFakeSegmentTest) +{ + TRouteResult const routeResult = + integration::CalculateRoute(integration::GetVehicleComponents(VehicleType::Bicycle), + mercator::FromLatLon(55.71484, 37.54868), {0.0, 0.0}, + mercator::FromLatLon(55.71586, 37.54594)); + + Route const & route = *routeResult.first; + RouterResultCode const result = routeResult.second; + TEST_EQUAL(result, RouterResultCode::NoError, ()); + + integration::TestTurnCount(route, 1 /* expectedTurnCount */); + + integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnRight); + + integration::TestRouteLength(route, 382.2); +} + +UNIT_TEST(TurnsNearMKAD85kmShortFakeSegmentTest) +{ + TRouteResult const routeResult = + integration::CalculateRoute(integration::GetVehicleComponents(VehicleType::Bicycle), + mercator::FromLatLon(55.91788, 37.58603), {0.0, 0.0}, + mercator::FromLatLon(55.91684, 37.57884)); + + Route const & route = *routeResult.first; + RouterResultCode const result = routeResult.second; + TEST_EQUAL(result, RouterResultCode::NoError, ()); + + integration::TestTurnCount(route, 4 /* expectedTurnCount */); + + integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnRight); + integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnSlightRight); + integration::GetNthTurn(route, 2).TestValid().TestDirection(CarDirection::TurnLeft); + integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::TurnRight); + + integration::TestRouteLength(route, 774.6); +} + +UNIT_TEST(TurnsNearKhladkombinatTest) +{ + TRouteResult const routeResult = + integration::CalculateRoute(integration::GetVehicleComponents(VehicleType::Bicycle), + mercator::FromLatLon(55.86973, 37.45825), {0.0, 0.0}, + mercator::FromLatLon(55.87020, 37.46011)); + + Route const & route = *routeResult.first; + RouterResultCode const result = routeResult.second; + TEST_EQUAL(result, RouterResultCode::NoError, ()); + + integration::TestTurnCount(route, 2 /* expectedTurnCount */); + + integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnLeft); + integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnRight); + + integration::TestRouteLength(route, 484.3); +} |