From 033e38343146162bcece9545ca636fba19cf5b91 Mon Sep 17 00:00:00 2001 From: Vladimir Byko-Ianko Date: Tue, 24 Apr 2018 18:23:51 +0300 Subject: Changing turn angles in rightmost and leftmost direction. --- .../routing_integration_tests/bicycle_turn_test.cpp | 6 +++--- routing/routing_integration_tests/turn_test.cpp | 18 ++++++++++-------- routing/turns_generator.cpp | 8 ++++---- 3 files changed, 17 insertions(+), 15 deletions(-) (limited to 'routing') diff --git a/routing/routing_integration_tests/bicycle_turn_test.cpp b/routing/routing_integration_tests/bicycle_turn_test.cpp index 337ef612ea..c82ecb963c 100644 --- a/routing/routing_integration_tests/bicycle_turn_test.cpp +++ b/routing/routing_integration_tests/bicycle_turn_test.cpp @@ -63,7 +63,7 @@ UNIT_TEST(RussiaMoscowSalameiNerisPossibleTurnCorrectionBicycleWayTurnTest) integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnSlightRight); integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnSlightLeft); integration::GetNthTurn(route, 2).TestValid().TestDirection(CarDirection::TurnSlightLeft); - integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::GoStraight); + integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::TurnSlightRight); } // Test that there's no uturn notification in case of zero point edges on two way edges. @@ -79,7 +79,7 @@ UNIT_TEST(RussiaMoscowSalameiNerisNoUTurnBicycleWayTurnTest) TEST_EQUAL(result, IRouter::NoError, ()); integration::TestTurnCount(route, 1 /* expectedTurnCount */); - integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnRight); + integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnSlightRight); } UNIT_TEST(RussiaMoscowSevTushinoParkBicycleOnePointOnewayRoadTurnTest) @@ -139,7 +139,7 @@ UNIT_TEST(RussiaMoscowSvobodiOnewayBicycleWayTurnTest) integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnLeft); integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnSlightRight); integration::GetNthTurn(route, 2).TestValid().TestDirection(CarDirection::TurnSlightLeft); - integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::GoStraight); + integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::TurnSlightRight); integration::GetNthTurn(route, 4).TestValid().TestOneOfDirections( {CarDirection::TurnSlightRight, CarDirection::TurnRight}); integration::GetNthTurn(route, 5).TestValid().TestDirection(CarDirection::TurnLeft); diff --git a/routing/routing_integration_tests/turn_test.cpp b/routing/routing_integration_tests/turn_test.cpp index ed18b6e905..f4b695bb70 100644 --- a/routing/routing_integration_tests/turn_test.cpp +++ b/routing/routing_integration_tests/turn_test.cpp @@ -160,7 +160,7 @@ UNIT_TEST(RussiaMoscowPlanetnayaOnlyStraightTest) integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnRight); integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnRight); integration::GetNthTurn(route, 2).TestValid().TestDirection(CarDirection::TurnLeft); - integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::GoStraight); + integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::TurnSlightRight); integration::GetNthTurn(route, 4).TestValid().TestDirection(CarDirection::TurnRight); integration::TestRouteLength(route, 454.); @@ -199,7 +199,7 @@ UNIT_TEST(RussiaMoscowTTKVarshavskoeShosseOutTurnTest) TEST_EQUAL(result, IRouter::NoError, ()); integration::TestTurnCount(route, 2 /* expectedTurnCount */); integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::ExitHighwayToRight); - integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnSlightLeft); + integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::GoStraight); } UNIT_TEST(RussiaMoscowTTKUTurnTest) @@ -216,7 +216,7 @@ UNIT_TEST(RussiaMoscowTTKUTurnTest) integration::TestTurnCount(route, 4 /* expectedTurnCount */); integration::GetNthTurn(route, 0).TestValid().TestOneOfDirections( {CarDirection::TurnSlightRight, CarDirection::TurnRight}); - integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnSlightLeft); + integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::GoStraight); integration::GetNthTurn(route, 2).TestValid().TestDirection(CarDirection::UTurnLeft); integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::TurnSlightLeft); } @@ -385,7 +385,7 @@ UNIT_TEST(ThailandPhuketNearPrabarameeRoad) TEST_EQUAL(result, IRouter::NoError, ()); integration::TestTurnCount(route, 1 /* expectedTurnCount */); - integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnSlightLeft); + integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::GoStraight); } // Test case: a route goes in Moscow from Varshavskoe shosse (from the city center direction) @@ -512,7 +512,9 @@ UNIT_TEST(RussiaMoscowLeningradskiyPrptToTTKTest) TEST_EQUAL(result, IRouter::NoError, ()); integration::TestTurnCount(route, 2 /* expectedTurnCount */); integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::ExitHighwayToRight); - integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::GoStraight); + // @TODO(bykoianko) It's a case when two possible ways go slight left. + // A special processing should be implemented for such cases. + integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnSlightLeft); } UNIT_TEST(RussiaMoscowLeningradskiyPrptDublToTTKTest) @@ -528,7 +530,7 @@ UNIT_TEST(RussiaMoscowLeningradskiyPrptDublToTTKTest) TEST_EQUAL(result, IRouter::NoError, ()); integration::TestTurnCount(route, 2 /* expectedTurnCount */); integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnSlightLeft); - integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::GoStraight); + integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::TurnSlightLeft); } UNIT_TEST(RussiaMoscowSvobodaStTest) @@ -543,7 +545,7 @@ UNIT_TEST(RussiaMoscowSvobodaStTest) TEST_EQUAL(result, IRouter::NoError, ()); integration::TestTurnCount(route, 1 /* expectedTurnCount */); - integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnSlightLeft); + integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::GoStraight); } UNIT_TEST(RussiaTiinskTest) @@ -766,7 +768,7 @@ UNIT_TEST(NetherlandsBarneveldTest) TEST_EQUAL(result, IRouter::NoError, ()); integration::TestTurnCount(route, 1 /* expectedTurnCount */); - integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnSlightRight); + integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::GoStraight); } UNIT_TEST(GermanyRaunheimAirportTest) diff --git a/routing/turns_generator.cpp b/routing/turns_generator.cpp index d10d8036f7..73d53fd872 100644 --- a/routing/turns_generator.cpp +++ b/routing/turns_generator.cpp @@ -628,10 +628,10 @@ CarDirection RightmostDirection(const double angle) { static vector> const kLowerBounds = { {157., CarDirection::TurnSharpRight}, - {40., CarDirection::TurnRight}, - {-10., CarDirection::TurnSlightRight}, - {-20., CarDirection::GoStraight}, - {-60., CarDirection::TurnSlightLeft}, + {50., CarDirection::TurnRight}, + {2., CarDirection::TurnSlightRight}, + {-10., CarDirection::GoStraight}, + {-50., CarDirection::TurnSlightLeft}, {-157., CarDirection::TurnLeft}, {-180., CarDirection::TurnSharpLeft}}; -- cgit v1.2.3