diff --git a/routing/routing_integration_tests/turn_test.cpp b/routing/routing_integration_tests/turn_test.cpp index 270f2fda0d..d8613f77a6 100644 --- a/routing/routing_integration_tests/turn_test.cpp +++ b/routing/routing_integration_tests/turn_test.cpp @@ -202,7 +202,6 @@ UNIT_TEST(RussiaMoscowTTKVarshavskoeShosseOutTurnTest) TEST_EQUAL(result, RouterResultCode::NoError, ()); integration::TestTurnCount(route, 2 /* expectedTurnCount */); integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::ExitHighwayToRight); - integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::GoStraight); } UNIT_TEST(RussiaMoscowTTKUTurnTest) @@ -216,12 +215,11 @@ UNIT_TEST(RussiaMoscowTTKUTurnTest) RouterResultCode const result = routeResult.second; TEST_EQUAL(result, RouterResultCode::NoError, ()); - integration::TestTurnCount(route, 4 /* expectedTurnCount */); + integration::TestTurnCount(route, 3 /* expectedTurnCount */); integration::GetNthTurn(route, 0).TestValid().TestOneOfDirections( {CarDirection::TurnSlightRight, CarDirection::TurnRight}); - integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::GoStraight); - integration::GetNthTurn(route, 2).TestValid().TestDirection(CarDirection::UTurnLeft); - integration::GetNthTurn(route, 3).TestValid().TestDirection(CarDirection::TurnSlightLeft); + integration::GetNthTurn(route, 1).TestValid().TestDirection(CarDirection::UTurnLeft); + integration::GetNthTurn(route, 2).TestValid().TestDirection(CarDirection::TurnSlightLeft); } UNIT_TEST(RussiaMoscowParallelResidentalUTurnAvoiding) @@ -999,3 +997,18 @@ UNIT_TEST(RussiaMoscowKomsomolskyTurnTest) integration::TestTurnCount(route, 1 /* expectedTurnCount */); integration::GetNthTurn(route, 0).TestValid().TestDirection(CarDirection::TurnRight); } + +// Test on no go straight direction in case of a route along a big road and pass smaller ones. +UNIT_TEST(RussiaMoscowTTKNoGoStraightTurnTest) +{ + TRouteResult const routeResult = + integration::CalculateRoute(integration::GetVehicleComponents(), + MercatorBounds::FromLatLon(55.78949, 37.5711), {0., 0.}, + MercatorBounds::FromLatLon(55.78673, 37.56726)); + + Route const & route = *routeResult.first; + RouterResultCode const result = routeResult.second; + + TEST_EQUAL(result, RouterResultCode::NoError, ()); + integration::TestTurnCount(route, 0 /* expectedTurnCount */); +}