def test_period_to_intervals_monthly(): intervals = _period_to_intervals("2021-06-08", "2021-08-24", "month") print(list(intervals)) intervals = [(i[0].isoformat(), i[1].isoformat()) for i in intervals] assert 3 == len(intervals) assert intervals[0] == ('2021-06-01T00:00:00', '2021-07-01T00:00:00') assert intervals[1] == ('2021-07-01T00:00:00', '2021-08-01T00:00:00') assert intervals[2] == ('2021-08-01T00:00:00', '2021-09-01T00:00:00')
def test_period_to_intervals_daily(): intervals = _period_to_intervals("2021-06-08", "2021-06-11", "day") print(list(intervals)) intervals = [(i[0].isoformat(), i[1].isoformat()) for i in intervals] assert 4 == len(intervals) assert intervals[0] == ('2021-06-07T00:00:00', '2021-06-08T00:00:00') assert intervals[1] == ('2021-06-08T00:00:00', '2021-06-09T00:00:00') assert intervals[2] == ('2021-06-09T00:00:00', '2021-06-10T00:00:00') assert intervals[3] == ('2021-06-10T00:00:00', '2021-06-11T00:00:00')
def test_period_to_intervals_monthly_full_year(): intervals = _period_to_intervals("2020-01-01", "2021-01-01", "month") print(list(intervals)) intervals = [(i[0].isoformat(), i[1].isoformat()) for i in intervals] assert 12 == len(intervals) assert intervals[0] == ('2020-01-01T00:00:00', '2020-02-01T00:00:00') assert intervals[1] == ('2020-02-01T00:00:00', '2020-03-01T00:00:00') assert intervals[2] == ('2020-03-01T00:00:00', '2020-04-01T00:00:00') assert intervals[11] == ('2020-12-01T00:00:00', '2021-01-01T00:00:00')
def test_period_to_intervals_yearly(): intervals = _period_to_intervals("2018-06-08", "2021-08-24", "year") print(list(intervals)) intervals = [(i[0].isoformat(), i[1].isoformat()) for i in intervals] assert 4 == len(intervals) assert intervals[0] == ('2018-01-01T00:00:00', '2019-01-01T00:00:00') assert intervals[1] == ('2019-01-01T00:00:00', '2020-01-01T00:00:00') assert intervals[2] == ('2020-01-01T00:00:00', '2021-01-01T00:00:00') assert intervals[3] == ('2021-01-01T00:00:00', '2022-01-01T00:00:00')
def test_period_to_intervals_dekad_first_of_month(): intervals = _period_to_intervals("2021-06-01", "2021-07-20", "dekad") print(list(intervals)) intervals = [(i[0].isoformat(), i[1].isoformat()) for i in intervals] assert 5 == len(intervals) assert intervals[0] == ('2021-06-01T00:00:00', '2021-06-11T00:00:00') assert intervals[1] == ('2021-06-11T00:00:00', '2021-06-21T00:00:00') assert intervals[2] == ('2021-06-21T00:00:00', '2021-07-01T00:00:00') assert intervals[3] == ('2021-07-01T00:00:00', '2021-07-11T00:00:00') assert intervals[4] == ('2021-07-11T00:00:00', '2021-07-21T00:00:00')
def test_period_to_intervals(): weekly_intervals = _period_to_intervals("2021-06-08", "2021-06-24", "week") print(list(weekly_intervals)) weekly_intervals = [(i[0].isoformat(), i[1].isoformat()) for i in weekly_intervals] assert 3 == len(weekly_intervals) assert weekly_intervals[0] == ('2021-06-06T00:00:00', '2021-06-13T00:00:00') assert weekly_intervals[1] == ('2021-06-13T00:00:00', '2021-06-20T00:00:00') assert weekly_intervals[2] == ('2021-06-20T00:00:00', '2021-06-27T00:00:00')