From e572ae2365dabb0efa4e7f6ab5e368685a3ea931 Mon Sep 17 00:00:00 2001 From: Olga Khlopkova Date: Fri, 2 Oct 2020 15:30:24 +0300 Subject: [PATCH] [transit] Unit tests for new helper functions. --- .../world_feed_tests/world_feed_tests.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/transit/world_feed/world_feed_tests/world_feed_tests.cpp b/transit/world_feed/world_feed_tests/world_feed_tests.cpp index 5c8be22135..fc6812fdb1 100644 --- a/transit/world_feed/world_feed_tests/world_feed_tests.cpp +++ b/transit/world_feed/world_feed_tests/world_feed_tests.cpp @@ -78,6 +78,14 @@ void TestPlanFact(size_t planIndex, bool planInsert, std::pair con TEST_EQUAL(factRes.second, planInsert, ()); } +void TestStopsRange(IdList const & stopsOnLine, IdSet const & stopsInRegion, size_t firstIdxPlan, + size_t lastIdxPlan) +{ + auto const & [firstIdxFact, lastIdxFact] = GetStopsRange(stopsOnLine, stopsInRegion); + TEST_EQUAL(firstIdxFact, firstIdxPlan, ()); + TEST_EQUAL(lastIdxFact, lastIdxPlan, ()); +} + UNIT_TEST(Transit_GTFS_OpenCloseInterval1) { auto const & intervals = GetOpenCloseIntervals(GetCalendarAvailability({1, 1, 1, 1, 1, 0, 0})); @@ -478,4 +486,14 @@ UNIT_TEST(CalcSegmentOrder) TEST_EQUAL(CalcSegmentOrder(3 /* segIndex */, 5 /* totalSegCount */), 2, ()); TEST_EQUAL(CalcSegmentOrder(4 /* segIndex */, 5 /* totalSegCount */), 4, ()); } + +UNIT_TEST(SplitLineToRegions) +{ + TestStopsRange({1, 2, 3, 4, 5} /* stopsOnLine */, {1, 2, 3, 4, 5} /* stopsInRegion */, + 0 /* firstIdxPlan */, 4 /* lastIdxPlan */); + TestStopsRange({1, 2, 3, 4, 5, 6, 7} /* stopsOnLine */, {1, 2, 3} /* stopsInRegion */, + 0 /* firstIdxPlan */, 3 /* lastIdxPlan */); + TestStopsRange({1, 2, 3, 4, 5, 6, 7} /* stopsOnLine */, {3, 4} /* stopsInRegion */, + 1 /* firstIdxPlan */, 4 /* lastIdxPlan */); +} } // namespace