JSON instruction serialization fix.

This commit is contained in:
Lev Dragunov 2016-08-08 20:32:01 +03:00
parent 65def1a9e2
commit 8986777c58
2 changed files with 18 additions and 1 deletions

View File

@ -50,7 +50,7 @@ const constexpr char *turn_type_names[] = {
"roundabout", "roundabout", "rotary", "rotary", "roundabout turn",
"roundabout turn", "use lane", "invalid", "invalid", "invalid",
"invalid", "invalid", "invalid", "invalid", "invalid",
"invalid"};
"invalid", "invalid"};
const constexpr char *waypoint_type_names[] = {"invalid", "arrive", "depart"};
@ -68,6 +68,7 @@ inline bool hasValidLanes(const guidance::Intersection &intersection)
std::string instructionTypeToString(const TurnType::Enum type)
{
BOOST_ASSERT(static_cast<std::size_t>(type) < sizeof(turn_type_names)/sizeof(turn_type_names[0]));
return turn_type_names[static_cast<std::size_t>(type)];
}

View File

@ -0,0 +1,16 @@
#include "engine/api/json_factory.hpp"
#include <boost/test/test_case_template.hpp>
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(json_factory)
BOOST_AUTO_TEST_CASE(instructionTypeToString_test_size)
{
using namespace osrm::engine::api::json::detail;
using namespace osrm::extractor::guidance;
BOOST_CHECK_EQUAL(instructionTypeToString(TurnType::Sliproad), "invalid");
}
BOOST_AUTO_TEST_SUITE_END()