def testFarFutureDt(self):
     event = RecurringEventPage(slug="UVW",
                                title="Underwater viking wombats",
                                repeat=Recurrence(dtstart=dt.date(
                                    1989, 1, 1),
                                                  freq=MONTHLY,
                                                  bymonthday=23),
                                time_from=dt.time(19))
     self.calendar.add_child(instance=event)
     closedHols = ClosedForHolidaysPage(owner=self.user,
                                        overrides=event,
                                        all_holidays=False)
     event.add_child(instance=closedHols)
     closedHols.save_revision().publish()
     dates = list(islice(closedHols._getMyDates(), 10))
     self.assertEqual(dates, [])
     closedHols.holidays = self.calendar.holidays
     dates = list(islice(closedHols._getMyDates(), 10))
     self.assertEqual(dates, [])
     closedHols.closed_for = [ClosedFor(name="Good Friday")]
     # Good Friday falls on 2038-04-23 but that is too far to calculate
     self.assertEqual(closedHols._future_datetime_from,
                      datetimetz(9999, 12, 29, 19, 0))
 def testGetMyDates(self):
     event = RecurringEventPage(slug="UVW",
                                title="Underwater viking wombats",
                                repeat=Recurrence(dtstart=dt.date(
                                    1989, 1, 1),
                                                  freq=MONTHLY,
                                                  byweekday=[MO(1)]),
                                time_from=dt.time(19))
     self.calendar.add_child(instance=event)
     closedHols = ClosedForHolidaysPage(owner=self.user,
                                        overrides=event,
                                        all_holidays=False)
     event.add_child(instance=closedHols)
     closedHols.save_revision().publish()
     dates = list(islice(closedHols._getMyDates(), 10))
     self.assertEqual(dates, [])
     closedHols.holidays = self.calendar.holidays
     dates = list(islice(closedHols._getMyDates(), 10))
     self.assertEqual(dates, [])
     closedHols.closed_for = [ClosedFor(name="Good Friday")]
     # Good Friday is never going to fall on a Monday
     dates = list(islice(closedHols._getMyDates(), 10))
     self.assertEqual(dates, [])