Exemplo n.º 1
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))])
Exemplo n.º 2
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))])
Exemplo n.º 3
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))
            ])
Exemplo n.º 4
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))
            ])