@@ -55,87 +55,112 @@ def setUp(self):
55
55
self .start_date = datetime (2011 , 1 , 1 )
56
56
self .end_date = datetime (2020 , 12 , 31 )
57
57
58
+ def check_results (self , holiday , start , end , expected ):
59
+ self .assertEqual (
60
+ list (holiday .dates (start , end )),
61
+ expected ,
62
+ )
63
+
58
64
def test_usmemorialday (self ):
59
- holidays = USMemorialDay .dates (self .start_date ,
60
- self .end_date )
61
- holidayList = [
62
- datetime (2011 , 5 , 30 ),
63
- datetime (2012 , 5 , 28 ),
64
- datetime (2013 , 5 , 27 ),
65
- datetime (2014 , 5 , 26 ),
66
- datetime (2015 , 5 , 25 ),
67
- datetime (2016 , 5 , 30 ),
68
- datetime (2017 , 5 , 29 ),
69
- datetime (2018 , 5 , 28 ),
70
- datetime (2019 , 5 , 27 ),
71
- datetime (2020 , 5 , 25 ),
72
- ]
73
- self .assertEqual (list (holidays ), holidayList )
65
+ self .check_results (
66
+ holiday = USMemorialDay ,
67
+ start = self .start_date ,
68
+ end = self .end_date ,
69
+ expected = [
70
+ datetime (2011 , 5 , 30 ),
71
+ datetime (2012 , 5 , 28 ),
72
+ datetime (2013 , 5 , 27 ),
73
+ datetime (2014 , 5 , 26 ),
74
+ datetime (2015 , 5 , 25 ),
75
+ datetime (2016 , 5 , 30 ),
76
+ datetime (2017 , 5 , 29 ),
77
+ datetime (2018 , 5 , 28 ),
78
+ datetime (2019 , 5 , 27 ),
79
+ datetime (2020 , 5 , 25 ),
80
+ ],
81
+ )
74
82
75
83
def test_non_observed_holiday (self ):
76
- july_3rd = Holiday ('July 4th Eve' , month = 7 , day = 3 )
77
- result = july_3rd .dates ("2001-01-01" , "2003-03-03" )
78
- expected = [Timestamp ('2001-07-03 00:00:00' ),
79
- Timestamp ('2002-07-03 00:00:00' )]
80
- self .assertEqual (list (result ), expected )
81
- july_3rd = Holiday ('July 4th Eve' , month = 7 , day = 3 ,
82
- days_of_week = (0 , 1 , 2 , 3 ))
83
- result = july_3rd .dates ("2001-01-01" , "2008-03-03" )
84
- expected = [Timestamp ('2001-07-03 00:00:00' ),
85
- Timestamp ('2002-07-03 00:00:00' ),
86
- Timestamp ('2003-07-03 00:00:00' ),
87
- Timestamp ('2006-07-03 00:00:00' ),
88
- Timestamp ('2007-07-03 00:00:00' )]
89
- self .assertEqual (list (result ), expected )
84
+
85
+ self .check_results (
86
+ Holiday ('July 4th Eve' , month = 7 , day = 3 ),
87
+ start = "2001-01-01" ,
88
+ end = "2003-03-03" ,
89
+ expected = [
90
+ Timestamp ('2001-07-03 00:00:00' ),
91
+ Timestamp ('2002-07-03 00:00:00' )
92
+ ]
93
+ )
94
+
95
+ self .check_results (
96
+ Holiday ('July 4th Eve' , month = 7 , day = 3 , days_of_week = (0 , 1 , 2 , 3 )),
97
+ start = "2001-01-01" ,
98
+ end = "2008-03-03" ,
99
+ expected = [
100
+ Timestamp ('2001-07-03 00:00:00' ),
101
+ Timestamp ('2002-07-03 00:00:00' ),
102
+ Timestamp ('2003-07-03 00:00:00' ),
103
+ Timestamp ('2006-07-03 00:00:00' ),
104
+ Timestamp ('2007-07-03 00:00:00' ),
105
+ ]
106
+ )
90
107
91
108
def test_easter (self ):
92
- holidays = EasterMonday .dates (self .start_date ,
93
- self .end_date )
94
- holidayList = [Timestamp ('2011-04-25 00:00:00' ),
95
- Timestamp ('2012-04-09 00:00:00' ),
96
- Timestamp ('2013-04-01 00:00:00' ),
97
- Timestamp ('2014-04-21 00:00:00' ),
98
- Timestamp ('2015-04-06 00:00:00' ),
99
- Timestamp ('2016-03-28 00:00:00' ),
100
- Timestamp ('2017-04-17 00:00:00' ),
101
- Timestamp ('2018-04-02 00:00:00' ),
102
- Timestamp ('2019-04-22 00:00:00' ),
103
- Timestamp ('2020-04-13 00:00:00' )]
104
-
105
-
106
- self .assertEqual (list (holidays ), holidayList )
107
- holidays = GoodFriday .dates (self .start_date ,
108
- self .end_date )
109
- holidayList = [Timestamp ('2011-04-22 00:00:00' ),
110
- Timestamp ('2012-04-06 00:00:00' ),
111
- Timestamp ('2013-03-29 00:00:00' ),
112
- Timestamp ('2014-04-18 00:00:00' ),
113
- Timestamp ('2015-04-03 00:00:00' ),
114
- Timestamp ('2016-03-25 00:00:00' ),
115
- Timestamp ('2017-04-14 00:00:00' ),
116
- Timestamp ('2018-03-30 00:00:00' ),
117
- Timestamp ('2019-04-19 00:00:00' ),
118
- Timestamp ('2020-04-10 00:00:00' )]
119
- self .assertEqual (list (holidays ), holidayList )
120
-
109
+
110
+ self .check_results (
111
+ EasterMonday ,
112
+ start = self .start_date ,
113
+ end = self .end_date ,
114
+ expected = [
115
+ Timestamp ('2011-04-25 00:00:00' ),
116
+ Timestamp ('2012-04-09 00:00:00' ),
117
+ Timestamp ('2013-04-01 00:00:00' ),
118
+ Timestamp ('2014-04-21 00:00:00' ),
119
+ Timestamp ('2015-04-06 00:00:00' ),
120
+ Timestamp ('2016-03-28 00:00:00' ),
121
+ Timestamp ('2017-04-17 00:00:00' ),
122
+ Timestamp ('2018-04-02 00:00:00' ),
123
+ Timestamp ('2019-04-22 00:00:00' ),
124
+ Timestamp ('2020-04-13 00:00:00' ),
125
+ ],
126
+ )
127
+ self .check_results (
128
+ GoodFriday ,
129
+ start = self .start_date ,
130
+ end = self .end_date ,
131
+ expected = [
132
+ Timestamp ('2011-04-22 00:00:00' ),
133
+ Timestamp ('2012-04-06 00:00:00' ),
134
+ Timestamp ('2013-03-29 00:00:00' ),
135
+ Timestamp ('2014-04-18 00:00:00' ),
136
+ Timestamp ('2015-04-03 00:00:00' ),
137
+ Timestamp ('2016-03-25 00:00:00' ),
138
+ Timestamp ('2017-04-14 00:00:00' ),
139
+ Timestamp ('2018-03-30 00:00:00' ),
140
+ Timestamp ('2019-04-19 00:00:00' ),
141
+ Timestamp ('2020-04-10 00:00:00' ),
142
+ ],
143
+ )
121
144
122
145
def test_usthanksgivingday (self ):
123
- holidays = USThanksgivingDay .dates (self .start_date ,
124
- self .end_date )
125
- holidayList = [
126
- datetime (2011 , 11 , 24 ),
127
- datetime (2012 , 11 , 22 ),
128
- datetime (2013 , 11 , 28 ),
129
- datetime (2014 , 11 , 27 ),
130
- datetime (2015 , 11 , 26 ),
131
- datetime (2016 , 11 , 24 ),
132
- datetime (2017 , 11 , 23 ),
133
- datetime (2018 , 11 , 22 ),
134
- datetime (2019 , 11 , 28 ),
135
- datetime (2020 , 11 , 26 ),
136
- ]
137
-
138
- self .assertEqual (list (holidays ), holidayList )
146
+
147
+ self .check_results (
148
+ USThanksgivingDay ,
149
+ start = self .start_date ,
150
+ end = self .end_date ,
151
+ expected = [
152
+ datetime (2011 , 11 , 24 ),
153
+ datetime (2012 , 11 , 22 ),
154
+ datetime (2013 , 11 , 28 ),
155
+ datetime (2014 , 11 , 27 ),
156
+ datetime (2015 , 11 , 26 ),
157
+ datetime (2016 , 11 , 24 ),
158
+ datetime (2017 , 11 , 23 ),
159
+ datetime (2018 , 11 , 22 ),
160
+ datetime (2019 , 11 , 28 ),
161
+ datetime (2020 , 11 , 26 ),
162
+ ],
163
+ )
139
164
140
165
def test_argument_types (self ):
141
166
holidays = USThanksgivingDay .dates (self .start_date ,
0 commit comments