def test_should_renew_on_start_date_if_date_is_before_start_date(self): self.assertEqual( datetime.date(2018, 7, 14), get_monthly_renewal_date(datetime.date(2018, 7, 14), datetime.date(2016, 3, 9)))
def test_should_renew_on_start_date(self): self.assertEqual( datetime.date(2018, 8, 14), get_monthly_renewal_date(datetime.date(2018, 7, 14), datetime.date(2018, 7, 14)))
def test_should_renew_on_same_day_of_next_month(self): self.assertEqual( datetime.date(2018, 8, 14), get_monthly_renewal_date(datetime.date(2018, 7, 14), datetime.date(2018, 7, 28)))
def test_should_renew_today_next_month(self): self.assertEqual( datetime.date(2018, 9, 14), get_monthly_renewal_date(datetime.date(2018, 7, 14), datetime.date(2018, 8, 14)))
def test_should_adjust_if_day_of_month_for_next_month_does_not_exist(self): self.assertEqual( datetime.date(2018, 3, 1), get_monthly_renewal_date(datetime.date(2018, 1, 30), datetime.date(2018, 1, 31)))