From 9fc16b6a8382e53ed4f7d4cfe8c1e4ae6512a993 Mon Sep 17 00:00:00 2001 From: "Daniel J. Hofmann" Date: Thu, 14 Apr 2016 11:27:26 +0200 Subject: [PATCH] Unit test for trip exclusively in big component --- unit_tests/library/trip.cpp | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/unit_tests/library/trip.cpp b/unit_tests/library/trip.cpp index 163f0f5db..32df28384 100644 --- a/unit_tests/library/trip.cpp +++ b/unit_tests/library/trip.cpp @@ -59,4 +59,48 @@ BOOST_AUTO_TEST_CASE(test_trip_response_for_locations_in_small_component) } } +BOOST_AUTO_TEST_CASE(test_trip_response_for_locations_in_big_component) +{ + const auto args = get_args(); + auto osrm = getOSRM(args.at(0)); + + using namespace osrm; + + const auto locations = get_locations_in_big_component(); + + TripParameters params; + params.coordinates.push_back(locations.at(0)); + params.coordinates.push_back(locations.at(1)); + params.coordinates.push_back(locations.at(2)); + + json::Object result; + const auto rc = osrm.Trip(params, result); + BOOST_CHECK(rc == Status::Ok); + + const auto code = result.values.at("code").get().value; + BOOST_CHECK_EQUAL(code, "Ok"); + + const auto &waypoints = result.values.at("waypoints").get().values; + BOOST_CHECK_EQUAL(waypoints.size(), params.coordinates.size()); + + const auto &trips = result.values.at("trips").get().values; + BOOST_CHECK_EQUAL(trips.size(), 1); + + for (const auto &waypoint : waypoints) + { + const auto &waypoint_object = waypoint.get(); + + const auto location = waypoint_object.values.at("location").get().values; + const auto longitude = location[0].get().value; + const auto latitude = location[1].get().value; + BOOST_CHECK(longitude >= -180. && longitude <= 180.); + BOOST_CHECK(latitude >= -90. && latitude <= 90.); + + const auto trip = waypoint_object.values.at("trips_index").get().value; + const auto pos = waypoint_object.values.at("waypoint_index").get().value; + BOOST_CHECK(trip >= 0 && trip < trips.size()); + BOOST_CHECK(pos >= 0 && pos < waypoints.size()); + } +} + BOOST_AUTO_TEST_SUITE_END()