Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlga Khlopkova <o.khlopkova@corp.mail.ru>2020-10-23 16:44:03 +0300
committerVladimir Byko-Ianko <bykoianko@gmail.com>2020-10-26 15:05:35 +0300
commit57f21b3930beaaa5472f617d5b41cbd6285307f8 (patch)
treee6e99c0b5d5c286010fe8fdf1db5e01f5f57421a /routing
parent03aff98fecf855487fef7b85ac48bb2f254b3bf7 (diff)
[routing] New integration tests for bicycle turns.
Diffstat (limited to 'routing')
-rw-r--r--routing/routing_integration_tests/bicycle_turn_test.cpp78
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);
+}