From 9abd61808331df008f25b8b887bfe61379f49841 Mon Sep 17 00:00:00 2001 From: Frank Tobia Date: Thu, 3 Jan 2019 13:58:06 -0500 Subject: [PATCH] Add basic tests for maya.intervals() --- tests/test_maya_interval.py | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/tests/test_maya_interval.py b/tests/test_maya_interval.py index 1e1362b..bfa6f5e 100755 --- a/tests/test_maya_interval.py +++ b/tests/test_maya_interval.py @@ -572,6 +572,50 @@ def test_interval_from_iso8601_duration(): assert interval.end == e +@pytest.mark.parametrize( + "start_string,end_string,interval,expected_count", + [ + ("2019-01-03 11:40:00Z", "2019-01-03 11:40:20Z", 2, 10), + ( + "2019-01-03 11:40:00Z", + "2019-01-03 11:40:30Z", + timedelta(seconds=2), + 15, + ), + ("2019-01-03 11:40:00Z", "2019-01-03 11:45:00Z", 2 * 60, 3), + ( + "2019-01-03 11:40:00Z", + "2019-01-03 11:51:00Z", + timedelta(minutes=1), + 11, + ), + ("2019-01-03 11:40:00Z", "2019-01-03 21:40:00Z", 3 * 60 * 60, 4), + ( + "2019-01-03 11:40:00Z", + "2019-01-03 13:41:00Z", + timedelta(hours=1), + 3, + ), + ("2019-01-03 11:40:00Z", "2019-01-09 11:40:00Z", 3 * 60 * 60 * 24, 2), + ("2019-01-03 11:40:00Z", "2019-01-05 12:00:00Z", timedelta(days=2), 2), + ], + ids=( + "seconds", + "seconds-timedelta", + "minutes", + "minutes-timedelta", + "hours", + "hours-timedelta", + "days", + "days-timedelta", + ), +) +def test_intervals(start_string, end_string, interval, expected_count): + start = maya.parse(start_string) + end = maya.parse(end_string) + assert len(list(maya.intervals(start, end, interval))) == expected_count + + def test_issue_168_regression(): start = maya.now() end = start.add(weeks=1)