From d1c87452f37aa4118485ed5e78e334cf2cbfd283 Mon Sep 17 00:00:00 2001 From: Vladimir Byko-Ianko Date: Wed, 11 May 2016 13:31:53 +0300 Subject: [PATCH] [bicycle routing] Writing routing_integration_tests for bicycle routing. --- .../bicycle_route_test.cpp | 16 +++++++++ .../bicycle_turn_test.cpp | 35 +++++++++++++++++++ .../routing_integration_tests.pro | 2 ++ 3 files changed, 53 insertions(+) create mode 100644 routing/routing_integration_tests/bicycle_route_test.cpp create mode 100644 routing/routing_integration_tests/bicycle_turn_test.cpp diff --git a/routing/routing_integration_tests/bicycle_route_test.cpp b/routing/routing_integration_tests/bicycle_route_test.cpp new file mode 100644 index 0000000000..e2b6e48265 --- /dev/null +++ b/routing/routing_integration_tests/bicycle_route_test.cpp @@ -0,0 +1,16 @@ +#include "testing/testing.hpp" + +#include "routing/routing_integration_tests/routing_test_tools.hpp" + +#include "geometry/mercator.hpp" + +using namespace routing; +using namespace routing::turns; + +UNIT_TEST(RussiaMoscowSevTushinoParkPreferingBicycleWay) +{ + integration::CalculateRouteAndTestRouteLength( + integration::GetBicycleComponents(), + MercatorBounds::FromLatLon(55.87445, 37.43711), {0., 0.}, + MercatorBounds::FromLatLon(55.87203, 37.44274), 460.); +} diff --git a/routing/routing_integration_tests/bicycle_turn_test.cpp b/routing/routing_integration_tests/bicycle_turn_test.cpp new file mode 100644 index 0000000000..04e85460a5 --- /dev/null +++ b/routing/routing_integration_tests/bicycle_turn_test.cpp @@ -0,0 +1,35 @@ +#include "testing/testing.hpp" + +#include "routing/routing_integration_tests/routing_test_tools.hpp" + +#include "routing/route.hpp" + + +using namespace routing; +using namespace routing::turns; + +UNIT_TEST(RussiaMoscowSevTushinoParkBicycleWayTurnTest) +{ + TRouteResult const routeResult = integration::CalculateRoute( + integration::GetBicycleComponents(), + MercatorBounds::FromLatLon(55.87445, 37.43711), {0.0, 0.0}, + MercatorBounds::FromLatLon(55.8719, 37.4464)); + + 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::TurnRight); + integration::GetNthTurn(route, 1) + .TestValid() + .TestDirection(TurnDirection::TurnLeft); + integration::GetNthTurn(route, 2) + .TestValid() + .TestDirection(TurnDirection::TurnRight); + + integration::TestRouteLength(route, 711.); +} diff --git a/routing/routing_integration_tests/routing_integration_tests.pro b/routing/routing_integration_tests/routing_integration_tests.pro index 691c7a9292..4ecd20ebeb 100644 --- a/routing/routing_integration_tests/routing_integration_tests.pro +++ b/routing/routing_integration_tests/routing_integration_tests.pro @@ -24,6 +24,8 @@ QT *= core SOURCES += \ ../../testing/testingmain.cpp \ + bicycle_route_test.cpp \ + bicycle_turn_test.cpp \ cross_section_tests.cpp \ online_cross_tests.cpp \ osrm_route_test.cpp \