Ejemplo n.º 1
0
 def test_should_return_true_for_reminder_before_deadline_type_if_today_is_on_weekend(
         self):
     # Case where deadline is in next week, but reminder is scheduled today
     today = date(2011, 9, 11)
     reminder = Reminder(reminder_mode=ReminderMode.BEFORE_DEADLINE, day=2)
     deadline = Deadline(frequency=Week(2), mode="That")
     self.assertTrue(reminder.should_be_send_on(deadline, today))
Ejemplo n.º 2
0
 def test_should_return_true_for_reminder_after_deadline_type_if_today_is_three_days_after_deadline_2(
         self):
     # next week
     today = date(2011, 9, 13)
     reminder = Reminder(reminder_mode=ReminderMode.AFTER_DEADLINE, day=3)
     deadline = Deadline(frequency=Week(6), mode="That")
     self.assertTrue(reminder.should_be_send_on(deadline, today))
Ejemplo n.º 3
0
 def test_should_return_false_for_reminder_before_deadline_type_if_today_is_not_two_days_before_deadline(
         self):
     today = date(2011, 9, 9)
     # Sunday deadline
     reminder = Reminder(reminder_mode=ReminderMode.BEFORE_DEADLINE, day=1)
     deadline = Deadline(frequency=Week(7), mode="That")
     self.assertFalse(reminder.should_be_send_on(deadline, today))
Ejemplo n.º 4
0
 def test_should_return_true_for_reminder_before_deadline_type_if_today_is_two_days_before_following_deadline(
         self):
     # same week
     today = date(2011, 9, 9)
     reminder = Reminder(reminder_mode=ReminderMode.BEFORE_DEADLINE, day=2)
     deadline = Deadline(frequency=Week(7), mode="Following")
     self.assertTrue(reminder.should_be_send_on(deadline, today))
Ejemplo n.º 5
0
 def test_should_get_applicapable_frequency_only_if_given_date_is_a_monthly_deadline(
         self):
     deadline = Deadline(frequency=Month(2), mode="Following")
     self.assertRaises(NotADeadLine,
                       deadline.get_applicable_frequency_period_for,
                       date(2011, 9, 14))
Ejemplo n.º 6
0
 def test_should_return_current_deadline_date_for_this_week_for_following_deadline_for_today_on_deadline(
         self):
     deadline = Deadline(frequency=Week(6), mode="Following")
     self.assertEqual(date(2011, 9, 17), deadline.current(date(2011, 9,
                                                               17)))
Ejemplo n.º 7
0
 def test_should_return_next_deadline_date_for_following_week_and_asof_post_deadline_day(
         self):
     deadline = Deadline(frequency=Week(6), mode="Following")
     self.assertEqual(date(2011, 9, 24), deadline.next(date(2011, 9, 18)))
Ejemplo n.º 8
0
 def test_should_return_next_deadline_date_for_current_week_for_day3(self):
     deadline = Deadline(frequency=Week(3), mode="That")
     self.assertEqual(date(2011, 9, 21), deadline.next(date(2011, 9, 19)))
Ejemplo n.º 9
0
 def test_should_return_description_of_weekly_deadline_in_following_mode(
         self):
     deadline = Deadline(frequency=Week(5), mode="Following")
     self.assertEqual('Friday of the Following Week',
                      deadline.description())
Ejemplo n.º 10
0
 def test_should_return_description_of_weekly_deadline_in_that_mode(self):
     deadline = Deadline(frequency=Week(1), mode="That")
     self.assertEqual('Monday of the Week', deadline.description())
Ejemplo n.º 11
0
 def test_should_return_current_deadline_date_for_following_month_and_asof_as_deadline_day(
         self):
     deadline = Deadline(frequency=Month(6), mode="Following")
     self.assertEqual(date(2011, 9, 6), deadline.current(date(2011, 9, 6)))
Ejemplo n.º 12
0
 def test_should_return_current_deadline_date_for_this_week_for_that_deadline_for_day3_for_deadline_on_different_day(
         self):
     deadline = Deadline(frequency=Week(3), mode="That")
     self.assertEqual(date(2011, 9, 21), deadline.current(date(2011, 9,
                                                               19)))
Ejemplo n.º 13
0
 def deadline(self):
     return Deadline(self._frequency(), self._deadline_type())
Ejemplo n.º 14
0
 def test_should_return_false_for_reminder_on_deadline_type_if_today_is_not_on_deadline(
         self):
     today = date(2011, 9, 10)
     reminder = Reminder(reminder_mode=ReminderMode.ON_DEADLINE)
     deadline = Deadline(frequency=Week(5), mode="That")
     self.assertFalse(reminder.should_be_send_on(deadline, today))
Ejemplo n.º 15
0
 def test_should_return_description_of_monthly_deadline_in_that_mode(self):
     deadline = Deadline(frequency=Month(2), mode="That")
     self.assertEqual('2nd of the Month', deadline.description())
Ejemplo n.º 16
0
 def test_should_return_description_of_monthly_deadline_in_following_mode(
         self):
     deadline = Deadline(frequency=Month(2), mode="Following")
     self.assertEqual('2nd of the Following Month', deadline.description())
Ejemplo n.º 17
0
 def test_should_return_next_deadline_date_for_current_month_and_asof_post_deadline_day(
         self):
     deadline = Deadline(frequency=Month(24), mode="That")
     self.assertEqual(None, deadline.next(date(2011, 9, 30)))
Ejemplo n.º 18
0
 def test_should_return_next_deadline_date_for_following_month_when_current_month_is_december(
         self):
     deadline = Deadline(frequency=Month(24), mode="Following")
     self.assertEqual(date(2014, 1, 24), deadline.next(date(2013, 12, 15)))
Ejemplo n.º 19
0
 def test_should_return_current_deadline_date_for_that_month_and_asof_post_deadline_day(
         self):
     deadline = Deadline(frequency=Month(6), mode="That")
     self.assertEqual(date(2011, 9, 6), deadline.current(date(2011, 9, 18)))
Ejemplo n.º 20
0
 def test_should_return_next_deadline_date_for_following_month_with_asof_after_deadline_day(
         self):
     deadline = Deadline(frequency=Month(24), mode="Following")
     self.assertEqual(date(2011, 10, 24), deadline.next(date(2011, 9, 28)))
Ejemplo n.º 21
0
 def test_should_retun_frequency_period_for_a_given_deadline_when_deadline_frequency_is_month_and_mode_is_that(
         self):
     deadline = Deadline(frequency=Month(6), mode="That")
     self.assertEqual(
         (date(2011, 9, 1), date(2011, 9, 30)),
         deadline.get_applicable_frequency_period_for(date(2011, 9, 6)))
Ejemplo n.º 22
0
 def test_should_return_next_deadline_date_for_current_week_and_asof_post_deadline_day(
         self):
     deadline = Deadline(frequency=Week(6), mode="That")
     self.assertEqual(None, deadline.next(date(2011, 9, 18)))
Ejemplo n.º 23
0
 def test_should_retun_frequency_period_for_a_given_deadline_when_deadline_frequency_is_month_and_mode_is_following_2(
         self):
     deadline = Deadline(frequency=Month(30), mode="Following")
     self.assertEqual(
         (date(2011, 7, 1), date(2011, 7, 31)),
         deadline.get_applicable_frequency_period_for(date(2011, 8, 30)))
Ejemplo n.º 24
0
 def test_should_return_next_deadline_date_for_current_month(self):
     deadline = Deadline(frequency=Month(24), mode="That")
     self.assertEqual(date(2011, 9, 24), deadline.next(date(2011, 9, 15)))
Ejemplo n.º 25
0
 def test_should_retun_frequency_period_for_a_given_deadline_when_deadline_frequency_is_week_and_mode_is_that(
         self):
     deadline = Deadline(frequency=Week(5), mode="That")
     self.assertEqual(
         (date(2011, 9, 12), date(2011, 9, 18)),
         deadline.get_applicable_frequency_period_for(date(2011, 9, 16)))
Ejemplo n.º 26
0
 def test_should_return_current_deadline_date_for_this_week_for_that_deadline(
         self):
     deadline = Deadline(frequency=Week(6), mode="That")
     self.assertEqual(date(2011, 9, 17), deadline.current(date(2011, 9,
                                                               15)))
Ejemplo n.º 27
0
 def test_should_retun_frequency_period_for_a_given_deadline_when_deadline_frequency_is_week_and_mode_is_following_1(
         self):
     deadline = Deadline(frequency=Week(2), mode="Following")
     self.assertEqual(
         (date(2011, 9, 5), date(2011, 9, 11)),
         deadline.get_applicable_frequency_period_for(date(2011, 9, 13)))