diff options
Diffstat (limited to 'tests/unit_tests.cpp')
-rw-r--r-- | tests/unit_tests.cpp | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/tests/unit_tests.cpp b/tests/unit_tests.cpp index 629974a..bd678c0 100644 --- a/tests/unit_tests.cpp +++ b/tests/unit_tests.cpp @@ -223,7 +223,7 @@ TEST_CASE("Read GTFS feed") CHECK_EQ(feed.get_stop_times().size(), 28); } -TEST_CASE("Agencies") +TEST_CASE("Agency") { Feed feed("data/sample_feed"); auto res = feed.read_agencies(); @@ -342,4 +342,54 @@ TEST_CASE("Shapes") auto const shape = feed.get_shape("10237"); CHECK_EQ(shape.size(), 4); } + +TEST_CASE("Calendar") +{ + Feed feed("data/sample_feed"); + auto res = feed.read_calendar(); + CHECK_EQ(res.code, ResultCode::OK); + + const auto & calendar = feed.get_calendar(); + CHECK_EQ(calendar.size(), 2); + CHECK_EQ(calendar[0].service_id, "FULLW"); + CHECK_EQ(calendar[0].start_date, Date(2007, 01, 01)); + CHECK_EQ(calendar[0].end_date, Date(2010, 12, 31)); + CHECK_EQ(calendar[0].monday, CalendarAvailability::Available); + CHECK_EQ(calendar[0].sunday, CalendarAvailability::Available); + + auto calendar_for_service = feed.get_calendar("FULLW"); + CHECK(calendar_for_service); +} + +TEST_CASE("Calendar dates") +{ + Feed feed("data/sample_feed"); + auto res = feed.read_calendar_dates(); + CHECK_EQ(res.code, ResultCode::OK); + + const auto & calendar_dates = feed.get_calendar_dates(); + CHECK_EQ(calendar_dates.size(), 1); + CHECK_EQ(calendar_dates[0].service_id, "FULLW"); + CHECK_EQ(calendar_dates[0].date, Date(2007, 06, 04)); + CHECK_EQ(calendar_dates[0].exception_type, CalendarDateException::Removed); + + auto calendar_dates_for_service = feed.get_calendar_dates("FULLW"); + CHECK_EQ(calendar_dates_for_service.size(), 1); +} + +TEST_CASE("Frequencies") +{ + Feed feed("data/sample_feed"); + auto res = feed.read_frequencies(); + CHECK_EQ(res.code, ResultCode::OK); + + const auto & frequencies = feed.get_frequencies(); + CHECK_EQ(frequencies.size(), 11); + CHECK_EQ(frequencies[0].trip_id, "STBA"); + CHECK_EQ(frequencies[0].start_time, Time(6, 00, 00)); + CHECK_EQ(frequencies[0].end_time, Time(22, 00, 00)); + CHECK_EQ(frequencies[0].headway_secs, 1800); + auto const frequencies_for_trip = feed.get_frequencies("CITY1"); + CHECK_EQ(frequencies_for_trip.size(), 5); +} TEST_SUITE_END(); |