From 07bb5c0ba45a1a9f918eb461d0b74fb6e76163c5 Mon Sep 17 00:00:00 2001 From: Danny Whalen Date: Wed, 11 Oct 2017 10:12:58 -0700 Subject: [PATCH] Account for days w/o service for raw_feed Need to coerce the 0/1 value to an int before testing truthyness. Test plan: update unit tests to assert that feed and raw_feed resolve identical service dates. --- partridge/gtfs.py | 2 +- tests/test_feed.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/partridge/gtfs.py b/partridge/gtfs.py index 42c0d05..5f938c6 100644 --- a/partridge/gtfs.py +++ b/partridge/gtfs.py @@ -180,7 +180,7 @@ def service_ids_by_date(self): dow = {i: cal[day] for i, day in enumerate(DAY_NAMES)} for ordinal in range(start, end + 1): date = datetime.date.fromordinal(ordinal) - if dow[date.weekday()]: + if int(dow[date.weekday()]): results[date].add(cal.service_id) # Process calendar_dates.txt if it exists diff --git a/tests/test_feed.py b/tests/test_feed.py index cbbc2fa..fce86f0 100644 --- a/tests/test_feed.py +++ b/tests/test_feed.py @@ -158,8 +158,10 @@ def test_service_ids_by_date(): service_ids_by_date = ptg.read_service_ids_by_date(path) feed = ptg.feed(path) + raw_feed = ptg.raw_feed(path) assert service_ids_by_date == feed.service_ids_by_date + assert service_ids_by_date == raw_feed.service_ids_by_date assert service_ids_by_date == { datetime.date(2017, 8, 1): frozenset({'1', '0'}), @@ -176,8 +178,10 @@ def test_dates_by_service_ids(): dates_by_service_ids = ptg.read_dates_by_service_ids(path) feed = ptg.feed(path) + raw_feed = ptg.raw_feed(path) assert dates_by_service_ids == feed.dates_by_service_ids + assert dates_by_service_ids == raw_feed.dates_by_service_ids assert dates_by_service_ids == { frozenset({'1'}): { @@ -198,8 +202,10 @@ def test_trip_counts_by_date(): trip_counts_by_date = ptg.read_trip_counts_by_date(path) feed = ptg.feed(path) + raw_feed = ptg.raw_feed(path) assert trip_counts_by_date == feed.trip_counts_by_date + assert trip_counts_by_date == raw_feed.trip_counts_by_date assert trip_counts_by_date == { datetime.date(2017, 8, 1): 442,