Implement Turn Lane Api
This commit is contained in:
@@ -30,14 +30,94 @@ BOOST_AUTO_TEST_CASE(long_road_test)
|
||||
|
||||
std::vector<InputEdge> edges = {
|
||||
// src, tgt, dist, edge_id, name_id, access_restricted, fwd, bkwd, roundabout, travel_mode
|
||||
{0, 1, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{1, 0, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{1, 2, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{2, 1, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{2, 3, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{3, 2, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{3, 4, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{4, 3, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID}};
|
||||
{0,
|
||||
1,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{1,
|
||||
0,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{1,
|
||||
2,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{2,
|
||||
1,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{2,
|
||||
3,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{3,
|
||||
2,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{3,
|
||||
4,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{4,
|
||||
3,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID}};
|
||||
|
||||
BOOST_ASSERT(edges[0].data.IsCompatibleTo(edges[2].data));
|
||||
BOOST_ASSERT(edges[2].data.IsCompatibleTo(edges[4].data));
|
||||
@@ -69,18 +149,138 @@ BOOST_AUTO_TEST_CASE(loop_test)
|
||||
|
||||
std::vector<InputEdge> edges = {
|
||||
// src, tgt, dist, edge_id, name_id, access_restricted, fwd, bkwd, roundabout, travel_mode
|
||||
{0, 1, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{0, 5, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{1, 0, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{1, 2, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{2, 1, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{2, 3, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{3, 2, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{3, 4, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{4, 3, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{4, 5, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{5, 0, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{5, 4, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{0,
|
||||
1,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{0,
|
||||
5,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{1,
|
||||
0,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{1,
|
||||
2,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{2,
|
||||
1,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{2,
|
||||
3,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{3,
|
||||
2,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{3,
|
||||
4,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{4,
|
||||
3,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{4,
|
||||
5,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{5,
|
||||
0,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{5,
|
||||
4,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
};
|
||||
|
||||
BOOST_ASSERT(edges.size() == 12);
|
||||
@@ -124,12 +324,72 @@ BOOST_AUTO_TEST_CASE(t_intersection)
|
||||
|
||||
std::vector<InputEdge> edges = {
|
||||
// src, tgt, dist, edge_id, name_id, access_restricted, fwd, bkwd, roundabout, travel_mode
|
||||
{0, 1, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{1, 0, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{1, 2, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{1, 3, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{2, 1, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{3, 1, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{0,
|
||||
1,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{1,
|
||||
0,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{1,
|
||||
2,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{1,
|
||||
3,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{2,
|
||||
1,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{3,
|
||||
1,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
};
|
||||
|
||||
BOOST_ASSERT(edges[0].data.IsCompatibleTo(edges[1].data));
|
||||
@@ -160,10 +420,50 @@ BOOST_AUTO_TEST_CASE(street_name_changes)
|
||||
|
||||
std::vector<InputEdge> edges = {
|
||||
// src, tgt, dist, edge_id, name_id, access_restricted, fwd, bkwd, roundabout, travel_mode
|
||||
{0, 1, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{1, 0, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{1, 2, 1, SPECIAL_EDGEID, 1, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{2, 1, 1, SPECIAL_EDGEID, 1, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{0,
|
||||
1,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{1,
|
||||
0,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{1,
|
||||
2,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
1,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{2,
|
||||
1,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
1,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
};
|
||||
|
||||
BOOST_ASSERT(edges[0].data.IsCompatibleTo(edges[1].data));
|
||||
@@ -190,10 +490,50 @@ BOOST_AUTO_TEST_CASE(direction_changes)
|
||||
|
||||
std::vector<InputEdge> edges = {
|
||||
// src, tgt, dist, edge_id, name_id, access_restricted, fwd, bkwd, roundabout, travel_mode
|
||||
{0, 1, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{1, 0, 1, SPECIAL_EDGEID, 0, false, true, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{1, 2, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{2, 1, 1, SPECIAL_EDGEID, 0, false, false, false, true, TRAVEL_MODE_INACCESSIBLE,INVALID_LANE_STRINGID},
|
||||
{0,
|
||||
1,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{1,
|
||||
0,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{1,
|
||||
2,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
{2,
|
||||
1,
|
||||
1,
|
||||
SPECIAL_EDGEID,
|
||||
0,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
TRAVEL_MODE_INACCESSIBLE,
|
||||
INVALID_LANE_STRINGID},
|
||||
};
|
||||
|
||||
Graph graph(5, edges);
|
||||
|
||||
Reference in New Issue
Block a user