def test_dates_between_exdate(self): schedule = Schedule( slot=Slot(runtime=datetime.timedelta(minutes=60)), recurrences=recurrence.Recurrence( dtstart=datetime.datetime(2014, 1, 2, 14, 0, 0), rrules=[recurrence.Rule(recurrence.DAILY)], exdates=[datetime.datetime(2014, 1, 5, 0, 0, 0)])) self.assertListEqual( list(schedule.dates_between(datetime.datetime(2014, 1, 4), datetime.datetime(2014, 1, 7))), [timezone.make_aware(datetime.datetime(2014, 1, 4, 14, 0)), timezone.make_aware(datetime.datetime(2014, 1, 6, 14, 0))])
def test_dates_between_complex_ruleset(self): schedule = Schedule( slot=Slot(runtime=datetime.timedelta(minutes=60)), recurrences=recurrence.Recurrence( dtstart=datetime.datetime(2014, 1, 2, 14, 0, 0), rrules=[recurrence.Rule(recurrence.DAILY, interval=2)], exrules=[recurrence.Rule( recurrence.WEEKLY, byday=[recurrence.MO, recurrence.TU])])) self.assertListEqual( list(schedule.dates_between(datetime.datetime(2014, 1, 1), datetime.datetime(2014, 1, 9))), [timezone.make_aware(datetime.datetime(2014, 1, 2, 14, 0)), timezone.make_aware(datetime.datetime(2014, 1, 4, 14, 0)), timezone.make_aware(datetime.datetime(2014, 1, 8, 14, 0))])
def test_dates_between_exdate(self): schedule = Schedule( slot=Slot(runtime=datetime.timedelta(minutes=60)), recurrences=recurrence.Recurrence( dtstart=datetime.datetime(2014, 1, 2, 14, 0, 0), rrules=[recurrence.Rule(recurrence.DAILY)], exdates=[datetime.datetime(2014, 1, 5, 0, 0, 0)])) self.assertListEqual( list( schedule.dates_between(datetime.datetime(2014, 1, 4), datetime.datetime(2014, 1, 7))), [ timezone.make_aware(datetime.datetime(2014, 1, 4, 14, 0)), timezone.make_aware(datetime.datetime(2014, 1, 6, 14, 0)) ])
def test_dates_between_complex_ruleset(self): schedule = Schedule( slot=Slot(runtime=datetime.timedelta(minutes=60)), recurrences=recurrence.Recurrence( dtstart=datetime.datetime(2014, 1, 2, 14, 0, 0), rrules=[recurrence.Rule(recurrence.DAILY, interval=2)], exrules=[ recurrence.Rule(recurrence.WEEKLY, byday=[recurrence.MO, recurrence.TU]) ])) self.assertListEqual( list( schedule.dates_between(datetime.datetime(2014, 1, 1), datetime.datetime(2014, 1, 9))), [ timezone.make_aware(datetime.datetime(2014, 1, 2, 14, 0)), timezone.make_aware(datetime.datetime(2014, 1, 4, 14, 0)), timezone.make_aware(datetime.datetime(2014, 1, 8, 14, 0)) ])