|
6 | 6 | nearest_workday, next_monday_or_tuesday, next_monday,
|
7 | 7 | previous_friday, sunday_to_monday, Holiday, DateOffset,
|
8 | 8 | MO, Timestamp, AbstractHolidayCalendar, get_calendar,
|
9 |
| - HolidayCalendarFactory) |
| 9 | + HolidayCalendarFactory, next_workday, previous_workday, |
| 10 | + before_nearest_workday, EasterMonday, GoodFriday, |
| 11 | + after_nearest_workday, weekend_to_monday) |
| 12 | +import nose |
10 | 13 |
|
11 | 14 | class TestCalendar(tm.TestCase):
|
12 | 15 |
|
@@ -69,6 +72,37 @@ def test_usmemorialday(self):
|
69 | 72 | ]
|
70 | 73 | self.assertEqual(list(holidays), holidayList)
|
71 | 74 |
|
| 75 | + def test_easter(self): |
| 76 | + holidays = EasterMonday.dates(self.start_date, |
| 77 | + self.end_date) |
| 78 | + holidayList = [Timestamp('2011-04-25 00:00:00'), |
| 79 | + Timestamp('2012-04-09 00:00:00'), |
| 80 | + Timestamp('2013-04-01 00:00:00'), |
| 81 | + Timestamp('2014-04-21 00:00:00'), |
| 82 | + Timestamp('2015-04-06 00:00:00'), |
| 83 | + Timestamp('2016-03-28 00:00:00'), |
| 84 | + Timestamp('2017-04-17 00:00:00'), |
| 85 | + Timestamp('2018-04-02 00:00:00'), |
| 86 | + Timestamp('2019-04-22 00:00:00'), |
| 87 | + Timestamp('2020-04-13 00:00:00')] |
| 88 | + |
| 89 | + |
| 90 | + self.assertEqual(list(holidays), holidayList) |
| 91 | + holidays = GoodFriday.dates(self.start_date, |
| 92 | + self.end_date) |
| 93 | + holidayList = [Timestamp('2011-04-22 00:00:00'), |
| 94 | + Timestamp('2012-04-06 00:00:00'), |
| 95 | + Timestamp('2013-03-29 00:00:00'), |
| 96 | + Timestamp('2014-04-18 00:00:00'), |
| 97 | + Timestamp('2015-04-03 00:00:00'), |
| 98 | + Timestamp('2016-03-25 00:00:00'), |
| 99 | + Timestamp('2017-04-14 00:00:00'), |
| 100 | + Timestamp('2018-03-30 00:00:00'), |
| 101 | + Timestamp('2019-04-19 00:00:00'), |
| 102 | + Timestamp('2020-04-10 00:00:00')] |
| 103 | + self.assertEqual(list(holidays), holidayList) |
| 104 | + |
| 105 | + |
72 | 106 | def test_usthanksgivingday(self):
|
73 | 107 | holidays = USThanksgivingDay.dates(self.start_date,
|
74 | 108 | self.end_date)
|
@@ -166,3 +200,33 @@ def test_nearest_workday(self):
|
166 | 200 | self.assertEqual(nearest_workday(self.su), self.mo)
|
167 | 201 | self.assertEqual(nearest_workday(self.mo), self.mo)
|
168 | 202 |
|
| 203 | + def test_weekend_to_monday(self): |
| 204 | + self.assertEqual(weekend_to_monday(self.sa), self.mo) |
| 205 | + self.assertEqual(weekend_to_monday(self.su), self.mo) |
| 206 | + self.assertEqual(weekend_to_monday(self.mo), self.mo) |
| 207 | + |
| 208 | + def test_next_workday(self): |
| 209 | + self.assertEqual(next_workday(self.sa), self.mo) |
| 210 | + self.assertEqual(next_workday(self.su), self.mo) |
| 211 | + self.assertEqual(next_workday(self.mo), self.tu) |
| 212 | + |
| 213 | + def test_previous_workday(self): |
| 214 | + self.assertEqual(previous_workday(self.sa), self.fr) |
| 215 | + self.assertEqual(previous_workday(self.su), self.fr) |
| 216 | + self.assertEqual(previous_workday(self.tu), self.mo) |
| 217 | + |
| 218 | + def test_before_nearest_workday(self): |
| 219 | + self.assertEqual(before_nearest_workday(self.sa), self.th) |
| 220 | + self.assertEqual(before_nearest_workday(self.su), self.fr) |
| 221 | + self.assertEqual(before_nearest_workday(self.tu), self.mo) |
| 222 | + |
| 223 | + def test_after_nearest_workday(self): |
| 224 | + self.assertEqual(after_nearest_workday(self.sa), self.mo) |
| 225 | + self.assertEqual(after_nearest_workday(self.su), self.tu) |
| 226 | + self.assertEqual(after_nearest_workday(self.fr), self.mo) |
| 227 | + |
| 228 | + |
| 229 | +if __name__ == '__main__': |
| 230 | + nose.runmodule(argv=[__file__, '-vvs', '-x', '--pdb', '--pdb-failure'], |
| 231 | + exit=False) |
| 232 | + |
0 commit comments