diff --git a/transit/world_feed/world_feed_integration_tests/world_feed_integration_tests.cpp b/transit/world_feed/world_feed_integration_tests/world_feed_integration_tests.cpp index dd2158c0584..28bc703c4d2 100644 --- a/transit/world_feed/world_feed_integration_tests/world_feed_integration_tests.cpp +++ b/transit/world_feed/world_feed_integration_tests/world_feed_integration_tests.cpp @@ -99,6 +99,23 @@ class WorldFeedIntegrationTests TEST(!m_globalFeed.SetFeed(std::move(feed)), ()); } + void ReadFeedWithBackwardOrder() + { + gtfs::Feed feed(base::JoinPath(m_testPath, "feed_with_backward_order")); + TEST_EQUAL(feed.read_feed().code, gtfs::ResultCode::OK, ()); + TEST(m_globalFeed.SetFeed(std::move(feed)), ()); + + TEST_EQUAL(m_globalFeed.m_networks.m_data.size(), 1, ()); + TEST_EQUAL(m_globalFeed.m_routes.m_data.size(), 1, ()); + TEST_EQUAL(m_globalFeed.m_lines.m_data.size(), 1, ()); + TEST_EQUAL(m_globalFeed.m_stops.m_data.size(), 16, ()); + TEST_EQUAL(m_globalFeed.m_shapes.m_data.size(), 1, ()); + TEST_EQUAL(m_globalFeed.m_gates.m_data.size(), 0, ()); + TEST_EQUAL(m_globalFeed.m_transfers.m_data.size(), 2, ()); + TEST_EQUAL(m_globalFeed.m_edges.m_data.size(), 16, ()); + TEST_EQUAL(m_globalFeed.m_edgesTransfers.m_data.size(), 2, ()); + } + // Test for train itinerary that passes through 4 regions in Europe and consists of 4 stops // (each in separate mwm) and 1 route with 1 line. This line passes through 4 stops: // [1] Switzerland_Ticino -> [2] Switzerland_Eastern -> @@ -173,4 +190,9 @@ UNIT_CLASS_TEST(WorldFeedIntegrationTests, FeedWithWrongStopsOrder) { ReadFeedWithWrongStopsOrder(); } + +UNIT_CLASS_TEST(WorldFeedIntegrationTests, FeedWithBackwardOrder) +{ + ReadFeedWithBackwardOrder(); +} } // namespace transit