diff options
author | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2016-05-25 18:40:55 +0300 |
---|---|---|
committer | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2016-05-27 14:17:14 +0300 |
commit | 6361f1f99a6415e528101e87433a227a42be6297 (patch) | |
tree | 5bf0aecbdae0b38fcef57aa58cd206e9558b4048 /routing | |
parent | c51114a4779d93665fdeac54a0e2600bc2195933 (diff) |
[bicycle routing] Tests on bicycle routing alone oneway roads.
Diffstat (limited to 'routing')
-rw-r--r-- | routing/routing_integration_tests/bicycle_turn_test.cpp | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/routing/routing_integration_tests/bicycle_turn_test.cpp b/routing/routing_integration_tests/bicycle_turn_test.cpp index f3906d80d4..81f02a9942 100644 --- a/routing/routing_integration_tests/bicycle_turn_test.cpp +++ b/routing/routing_integration_tests/bicycle_turn_test.cpp @@ -17,11 +17,13 @@ UNIT_TEST(RussiaMoscowSevTushinoParkBicycleWayTurnTest) IRouter::ResultCode const result = routeResult.second; TEST_EQUAL(result, IRouter::NoError, ()); - integration::TestTurnCount(route, 1); + integration::TestTurnCount(route, 3); integration::GetNthTurn(route, 0).TestValid().TestDirection(TurnDirection::TurnLeft); + integration::GetNthTurn(route, 1).TestValid().TestDirection(TurnDirection::TurnLeft); + integration::GetNthTurn(route, 2).TestValid().TestDirection(TurnDirection::TurnLeft); - integration::TestRouteLength(route, 752.); + integration::TestRouteLength(route, 2350.0); } UNIT_TEST(RussiaMoscowGerPanfilovtsev22BicycleWayTurnTest) @@ -67,3 +69,42 @@ UNIT_TEST(RussiaMoscowSevTushinoParkBicycleOnePointTurnTest) TEST_EQUAL(route.GetTurns().size(), 0, ()); integration::TestRouteLength(route, 0.0); } + +UNIT_TEST(RussiaMoscowPlanernaiOnewayCarRoadTurnTest) +{ + TRouteResult const routeResult = integration::CalculateRoute( + integration::GetBicycleComponents(), MercatorBounds::FromLatLon(55.87012, 37.44028), + {0.0, 0.0}, MercatorBounds::FromLatLon(55.87153, 37.43928)); + + Route const & route = *routeResult.first; + IRouter::ResultCode const result = routeResult.second; + TEST_EQUAL(result, IRouter::NoError, ()); + + integration::TestTurnCount(route, 4); + + integration::GetNthTurn(route, 0).TestValid().TestDirection(TurnDirection::TurnLeft); + integration::GetNthTurn(route, 1).TestValid().TestDirection(TurnDirection::TurnLeft); + integration::GetNthTurn(route, 2).TestValid().TestDirection(TurnDirection::TurnSlightRight); + integration::GetNthTurn(route, 3).TestValid().TestDirection(TurnDirection::TurnLeft); + + integration::TestRouteLength(route, 420.0); +} + +UNIT_TEST(RussiaMoscowSvobodiOnewayBicycleWayTurnTest) +{ + TRouteResult const routeResult = integration::CalculateRoute( + integration::GetBicycleComponents(), MercatorBounds::FromLatLon(55.87277, 37.44002), + {0.0, 0.0}, MercatorBounds::FromLatLon(55.87362, 37.43853)); + + Route const & route = *routeResult.first; + IRouter::ResultCode const result = routeResult.second; + TEST_EQUAL(result, IRouter::NoError, ()); + + integration::TestTurnCount(route, 3); + + integration::GetNthTurn(route, 0).TestValid().TestDirection(TurnDirection::TurnLeft); + integration::GetNthTurn(route, 1).TestValid().TestDirection(TurnDirection::TurnLeft); + integration::GetNthTurn(route, 2).TestValid().TestDirection(TurnDirection::TurnLeft); + + integration::TestRouteLength(route, 768.0); +} |