def test_businesstime_holidays_date_desc(self): """ Test for https://github.com/seatgeek/businesstime/issues/25 """ bt_cal = BusinessTime(holidays=USFederalHolidays()) non_holiday = datetime(2018, 5, 31, 12, 0) memorial_day_2017 = datetime(2017, 5, 29, 12, 0) memorial_day_2018 = datetime(2018, 5, 28, 12, 0) # Note that we test the later memorial day first, internally populating # the holidays cache starting with memorial day 2018. We then verify # that memorial day 2017 is properly classified as a holiday. is_memorial_day_2018_holiday = bt_cal.isholiday(memorial_day_2018) is_memorial_day_2017_holiday = bt_cal.isholiday(memorial_day_2017) is_non_holiday_holiday = bt_cal.isholiday(non_holiday) self.assertTrue(is_memorial_day_2017_holiday) self.assertTrue(is_memorial_day_2018_holiday) self.assertFalse(is_non_holiday_holiday)
def test_lots_of_holidays(self): """ Test for https://github.com/seatgeek/businesstime/issues/25 """ bt_cal = BusinessTime(holidays=USFederalHolidays()) non_holiday = datetime(2018, 5, 31, 12, 0) non_holiday2 = datetime(2018, 2, 3, 12, 0) non_holiday3 = datetime(2018, 6, 4, 12, 0) non_holiday4 = datetime(2018, 11, 21, 12, 0) memorial_day = datetime(2018, 5, 28, 12, 0) new_year_day = datetime(2018, 1, 1, 12, 0) labor_day = datetime(2018, 9, 3, 12, 0) christmas = datetime(2018, 12, 25, 12, 0) self.assertFalse(bt_cal.isholiday(non_holiday)) self.assertTrue(bt_cal.isholiday(memorial_day)) self.assertTrue(bt_cal.isholiday(new_year_day)) self.assertFalse(bt_cal.isholiday(non_holiday2)) self.assertFalse(bt_cal.isholiday(non_holiday4)) self.assertTrue(bt_cal.isholiday(labor_day)) self.assertFalse(bt_cal.isholiday(non_holiday3)) self.assertTrue(bt_cal.isholiday(christmas))
def test_no_holidays(self): bt = BusinessTime() self.assertFalse(bt.isholiday(date(2014, 1, 1)))
def test_holidays_specified_as_list(self): bd = BusinessTime(holidays=[date(2014, 1, 1)]) self.assertTrue(bd.isholiday(date(2014, 1, 1))) self.assertFalse(bd.isholiday(date(2014, 1, 2)))