Skip to content

Commit 5bd87ec

Browse files
committed
test: use isoformat to check dates
Use `.isoformat()` to check the dates instead of comparing the date (without the tzinfo) and the UTC offset separately. That makes reading test failures easier.
1 parent 177a299 commit 5bd87ec

1 file changed

Lines changed: 20 additions & 22 deletions

File tree

src/croniter/tests/test_croniter.py

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -746,51 +746,49 @@ def testInitNoStartTime(self):
746746
# Greater does not exists in py26
747747
self.assertTrue(itr2.cur > itr.cur)
748748

749-
def assertScheduleTimezone(self, callback, expected_schedule):
750-
for expected_date, expected_offset in expected_schedule:
751-
d = callback()
752-
self.assertEqual(expected_date, d.replace(tzinfo=None))
753-
self.assertEqual(expected_offset, d.utcoffset().total_seconds())
754-
755749
def testTimezoneWinterTime(self):
756750
tz = pytz.timezone("Europe/Athens")
757751

758752
expected_schedule = [
759-
(datetime(2013, 10, 27, 2, 30, 0), 10800),
760-
(datetime(2013, 10, 27, 3, 0, 0), 10800),
761-
(datetime(2013, 10, 27, 3, 30, 0), 10800),
762-
(datetime(2013, 10, 27, 3, 0, 0), 7200),
763-
(datetime(2013, 10, 27, 3, 30, 0), 7200),
764-
(datetime(2013, 10, 27, 4, 0, 0), 7200),
765-
(datetime(2013, 10, 27, 4, 30, 0), 7200),
753+
"2013-10-27T02:30:00+03:00",
754+
"2013-10-27T03:00:00+03:00",
755+
"2013-10-27T03:30:00+03:00",
756+
"2013-10-27T03:00:00+02:00",
757+
"2013-10-27T03:30:00+02:00",
758+
"2013-10-27T04:00:00+02:00",
759+
"2013-10-27T04:30:00+02:00",
766760
]
767761

768762
start = datetime(2013, 10, 27, 2, 0, 0)
769763
ct = croniter("*/30 * * * *", tz.localize(start))
770-
self.assertScheduleTimezone(lambda: ct.get_next(datetime), expected_schedule)
764+
schedule = [ct.get_next(datetime).isoformat() for _ in range(7)]
765+
self.assertEqual(schedule, expected_schedule)
771766

772767
start = datetime(2013, 10, 27, 5, 0, 0)
773768
ct = croniter("*/30 * * * *", tz.localize(start))
774-
self.assertScheduleTimezone(lambda: ct.get_prev(datetime), reversed(expected_schedule))
769+
schedule = [ct.get_prev(datetime).isoformat() for _ in range(7)]
770+
self.assertEqual(schedule, list(reversed(expected_schedule)))
775771

776772
def testTimezoneSummerTime(self):
777773
tz = pytz.timezone("Europe/Athens")
778774

779775
expected_schedule = [
780-
(datetime(2013, 3, 31, 1, 30, 0), 7200),
781-
(datetime(2013, 3, 31, 2, 0, 0), 7200),
782-
(datetime(2013, 3, 31, 2, 30, 0), 7200),
783-
(datetime(2013, 3, 31, 4, 0, 0), 10800),
784-
(datetime(2013, 3, 31, 4, 30, 0), 10800),
776+
"2013-03-31T01:30:00+02:00",
777+
"2013-03-31T02:00:00+02:00",
778+
"2013-03-31T02:30:00+02:00",
779+
"2013-03-31T04:00:00+03:00",
780+
"2013-03-31T04:30:00+03:00",
785781
]
786782

787783
start = datetime(2013, 3, 31, 1, 0, 0)
788784
ct = croniter("*/30 * * * *", tz.localize(start))
789-
self.assertScheduleTimezone(lambda: ct.get_next(datetime), expected_schedule)
785+
schedule = [ct.get_next(datetime).isoformat() for _ in range(5)]
786+
self.assertEqual(schedule, expected_schedule)
790787

791788
start = datetime(2013, 3, 31, 5, 0, 0)
792789
ct = croniter("*/30 * * * *", tz.localize(start))
793-
self.assertScheduleTimezone(lambda: ct.get_prev(datetime), reversed(expected_schedule))
790+
schedule = [ct.get_prev(datetime).isoformat() for _ in range(5)]
791+
self.assertEqual(schedule, list(reversed(expected_schedule)))
794792

795793
def test_std_dst(self):
796794
"""

0 commit comments

Comments
 (0)