us_bank_holidays 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f9ef1ece79b15a1e2431e7627d0bc36914e86fb0e76b39310551d4198c728d0
4
- data.tar.gz: c27c824131609ffcb000915313d80778322f88ffbaef9ab52c8a8c0137db55fa
3
+ metadata.gz: 8db39160147df2816e65af1fd851ff2fdc9488bdc189101c7bc03e86395a0189
4
+ data.tar.gz: ad4e2585e1539f8d82e8f1b11dd1b10b9625c57f019e85944a1b961baf699af9
5
5
  SHA512:
6
- metadata.gz: bd9bc1def99590c5e5b706f2e0ccdc60c3e346b7c8f6e0d8900dd34462ff1e28dc1a362f13f33e8a911d8d8111a8f02b44fcbb7b14ff254a764b5349174571fc
7
- data.tar.gz: d8324975d14a8ca035620bb572dfce8ac159ab18edc5d3540a91553ad48815acbd561313768405da41abd03379df06c32a8f585dcb942e35adb21483de13cee5
6
+ metadata.gz: 5f4933efb849b3df1673ccf858494d9ba183baa980193a980a15ccb0adf51d3527b42ce4a8c93a23bb402b0399f0510d14aaebf6c38f0a8b875a6172b7f43703
7
+ data.tar.gz: b78c5d1a86ae39a7307155580d8c33b15d0feb317fee9a680a1fbb7bcb20ee60a14b2e7444d11020937b2a5222bd1f31ec3cd2cdbf6c4028d18badd6ace3973f
@@ -43,7 +43,7 @@ module UsBankHolidays
43
43
  thanksgiving,
44
44
  christmas
45
45
  ].compact
46
- if Date.new(year + 1, 1, 1).saturday?
46
+ if Date.new(year + 1, 1, 1).saturday? && ::UsBankHolidays.saturday_holiday_date_rolling?
47
47
  holidays << Date.new(year, 12, 31)
48
48
  end
49
49
  holidays.freeze
@@ -1,3 +1,3 @@
1
1
  module UsBankHolidays
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -53,6 +53,7 @@ RSpec.describe UsBankHolidays::HolidayYear do
53
53
  context "2021 and later" do
54
54
 
55
55
  context "Force Saturday date rolling" do
56
+
56
57
  before :each do
57
58
  allow(::UsBankHolidays).to receive(:saturday_holiday_date_rolling?).and_return(true)
58
59
  end
@@ -78,6 +79,10 @@ RSpec.describe UsBankHolidays::HolidayYear do
78
79
  end
79
80
 
80
81
  context "No Saturday date rolling" do
82
+ before :each do
83
+ allow(::UsBankHolidays).to receive(:saturday_holiday_date_rolling?).and_return(false)
84
+ end
85
+
81
86
  it 'should determine bank holidays' do
82
87
  expect(UsBankHolidays::HolidayYear.new(2021).bank_holidays).to eq([
83
88
  '2021-01-01', #New Year’s Day
@@ -90,8 +95,7 @@ RSpec.describe UsBankHolidays::HolidayYear do
90
95
  '2021-10-11', #Columbus Day
91
96
  '2021-11-11', #Veterans Day
92
97
  '2021-11-25', #Thanksgiving Day
93
- '2021-12-25', #Christmas Day
94
- '2021-12-31' #New Year’s Day
98
+ '2021-12-25' #Christmas Day
95
99
  ].map { |d| Date.parse(d) }
96
100
  )
97
101
  end
@@ -102,10 +106,6 @@ RSpec.describe UsBankHolidays::HolidayYear do
102
106
 
103
107
  end
104
108
 
105
- it 'should declare Dec. 31 a bank holiday if it falls on a Friday' do
106
- UsBankHolidays::HolidayYear.new(2021).bank_holidays.last.should == Date.new(2021, 12, 31)
107
- end
108
-
109
109
  context 'Months' do
110
110
  let(:year) { UsBankHolidays::HolidayYear.new(2014) }
111
111
 
@@ -1,245 +1,282 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  RSpec.describe UsBankHolidays do
4
- let(:sample_holidays) {
5
- [
6
- '2014-01-01', #New Year’s Day
7
- '2014-01-20', #Birthday of Martin Luther King, Jr.
8
- '2014-02-17', #Washington’s Birthday
9
- '2014-05-26', #Memorial Day
10
- '2014-07-04', #Independence Day
11
- '2014-09-01', #Labor Day
12
- '2014-10-13', #Columbus Day
13
- '2014-11-11', #Veterans Day
14
- '2014-11-27', #Thanksgiving Day
15
- '2014-12-25', #Christmas Day
16
-
17
- '2015-01-01', #New Year’s Day
18
- '2015-01-19', #Birthday of Martin Luther King, Jr.
19
- '2015-02-16', #Washington’s Birthday
20
- '2015-05-25', #Memorial Day
21
- '2015-07-03', #Independence Day
22
- '2015-09-07', #Labor Day
23
- '2015-10-12', #Columbus Day
24
- '2015-11-11', #Veterans Day
25
- '2015-11-26', #Thanksgiving Day
26
- '2015-12-25', #Christmas Day
27
-
28
- '2016-01-01', #New Year’s Day
29
- '2016-01-18', #Birthday of Martin Luther King, Jr.
30
- '2016-02-15', #Washington’s Birthday
31
- '2016-05-30', #Memorial Day
32
- '2016-07-04', #Independence Day
33
- '2016-09-05', #Labor Day
34
- '2016-10-10', #Columbus Day
35
- '2016-11-11', #Veterans Day
36
- '2016-11-24', #Thanksgiving Day
37
- '2016-12-26', #Christmas Day
38
-
39
- '2017-01-02', #New Year’s Day
40
- '2017-01-16', #Birthday of Martin Luther King, Jr.
41
- '2017-02-20', #Washington’s Birthday
42
- '2017-05-29', #Memorial Day
43
- '2017-07-04', #Independence Day
44
- '2017-09-04', #Labor Day
45
- '2017-10-09', #Columbus Day
46
- '2017-11-10', #Veterans Day
47
- '2017-11-23', #Thanksgiving Day
48
- '2017-12-25', #Christmas Day
49
-
50
- '2018-01-01', #New Year’s Day
51
- '2018-01-15', #Birthday of Martin Luther King, Jr.
52
- '2018-02-19', #Washington’s Birthday
53
- '2018-05-28', #Memorial Day
54
- '2018-07-04', #Independence Day
55
- '2018-09-03', #Labor Day
56
- '2018-10-08', #Columbus Day
57
- '2018-11-12', #Veterans Day
58
- '2018-11-22', #Thanksgiving Day
59
- '2018-12-25', #Christmas Day
60
-
61
- '2019-01-01', #New Year’s Day
62
- '2019-01-21', #Birthday of Martin Luther King, Jr.
63
- '2019-02-18', #Washington’s Birthday
64
- '2019-05-27', #Memorial Day
65
- '2019-07-04', #Independence Day
66
- '2019-09-02', #Labor Day
67
- '2019-10-14', #Columbus Day
68
- '2019-11-11', #Veterans Day
69
- '2019-11-28', #Thanksgiving Day
70
- '2019-12-25', #Christmas Day
71
-
72
- '2020-01-01', #New Year’s Day
73
- '2020-01-20', #Birthday of Martin Luther King, Jr.
74
- '2020-02-17', #Washington’s Birthday
75
- '2020-05-25', #Memorial Day
76
- '2020-07-03', #Independence Day
77
- '2020-09-07', #Labor Day
78
- '2020-10-12', #Columbus Day
79
- '2020-11-11', #Veterans Day
80
- '2020-11-26', #Thanksgiving Day
81
- '2020-12-25' #Christmas Day
82
- ].map {|date_str| Date.parse(date_str) }
83
- }
84
4
 
85
5
  let(:sample_weekends) { [Date.new(2014, 2, 1), Date.new(2014, 2, 2)] }
86
6
 
87
7
  let(:sample_weekdays) { [3, 4, 5, 6, 7].map{|d| Date.new(2014, 2, d) } }
88
8
 
89
- before :each do
90
- allow(::UsBankHolidays).to receive(:saturday_holiday_date_rolling?).and_return(true)
91
- end
92
-
93
- describe '.bank_holiday?' do
94
- it 'should determine bank holidays on the list' do
95
- sample_holidays.each { |holiday|
96
- UsBankHolidays.bank_holiday?(holiday).should eq(true)
97
- UsBankHolidays.banking_day?(holiday).should eq(false)
98
- }
99
- end
100
-
101
- it 'weekends should be bank holidays' do
102
- sample_weekends.each { |weekend|
103
- UsBankHolidays.bank_holiday?(weekend).should eq(true)
104
- UsBankHolidays.banking_day?(weekend).should eq(false)
105
- }
9
+ context "with saturday holiday date rolling" do
10
+
11
+ let(:sample_holidays) {
12
+ [
13
+ '2014-01-01', #New Year’s Day
14
+ '2014-01-20', #Birthday of Martin Luther King, Jr.
15
+ '2014-02-17', #Washington’s Birthday
16
+ '2014-05-26', #Memorial Day
17
+ '2014-07-04', #Independence Day
18
+ '2014-09-01', #Labor Day
19
+ '2014-10-13', #Columbus Day
20
+ '2014-11-11', #Veterans Day
21
+ '2014-11-27', #Thanksgiving Day
22
+ '2014-12-25', #Christmas Day
23
+
24
+ '2015-01-01', #New Year’s Day
25
+ '2015-01-19', #Birthday of Martin Luther King, Jr.
26
+ '2015-02-16', #Washington’s Birthday
27
+ '2015-05-25', #Memorial Day
28
+ '2015-07-03', #Independence Day
29
+ '2015-09-07', #Labor Day
30
+ '2015-10-12', #Columbus Day
31
+ '2015-11-11', #Veterans Day
32
+ '2015-11-26', #Thanksgiving Day
33
+ '2015-12-25', #Christmas Day
34
+
35
+ '2016-01-01', #New Year’s Day
36
+ '2016-01-18', #Birthday of Martin Luther King, Jr.
37
+ '2016-02-15', #Washington’s Birthday
38
+ '2016-05-30', #Memorial Day
39
+ '2016-07-04', #Independence Day
40
+ '2016-09-05', #Labor Day
41
+ '2016-10-10', #Columbus Day
42
+ '2016-11-11', #Veterans Day
43
+ '2016-11-24', #Thanksgiving Day
44
+ '2016-12-26', #Christmas Day
45
+
46
+ '2017-01-02', #New Year’s Day
47
+ '2017-01-16', #Birthday of Martin Luther King, Jr.
48
+ '2017-02-20', #Washington’s Birthday
49
+ '2017-05-29', #Memorial Day
50
+ '2017-07-04', #Independence Day
51
+ '2017-09-04', #Labor Day
52
+ '2017-10-09', #Columbus Day
53
+ '2017-11-10', #Veterans Day
54
+ '2017-11-23', #Thanksgiving Day
55
+ '2017-12-25', #Christmas Day
56
+
57
+ '2018-01-01', #New Year’s Day
58
+ '2018-01-15', #Birthday of Martin Luther King, Jr.
59
+ '2018-02-19', #Washington’s Birthday
60
+ '2018-05-28', #Memorial Day
61
+ '2018-07-04', #Independence Day
62
+ '2018-09-03', #Labor Day
63
+ '2018-10-08', #Columbus Day
64
+ '2018-11-12', #Veterans Day
65
+ '2018-11-22', #Thanksgiving Day
66
+ '2018-12-25', #Christmas Day
67
+
68
+ '2019-01-01', #New Year’s Day
69
+ '2019-01-21', #Birthday of Martin Luther King, Jr.
70
+ '2019-02-18', #Washington’s Birthday
71
+ '2019-05-27', #Memorial Day
72
+ '2019-07-04', #Independence Day
73
+ '2019-09-02', #Labor Day
74
+ '2019-10-14', #Columbus Day
75
+ '2019-11-11', #Veterans Day
76
+ '2019-11-28', #Thanksgiving Day
77
+ '2019-12-25', #Christmas Day
78
+
79
+ '2020-01-01', #New Year’s Day
80
+ '2020-01-20', #Birthday of Martin Luther King, Jr.
81
+ '2020-02-17', #Washington’s Birthday
82
+ '2020-05-25', #Memorial Day
83
+ '2020-07-03', #Independence Day
84
+ '2020-09-07', #Labor Day
85
+ '2020-10-12', #Columbus Day
86
+ '2020-11-11', #Veterans Day
87
+ '2020-11-26', #Thanksgiving Day
88
+ '2020-12-25', #Christmas Day
89
+
90
+ '2021-01-01',
91
+ '2021-01-18',
92
+ '2021-02-15',
93
+ '2021-05-31',
94
+ '2021-07-04',
95
+ '2021-09-06',
96
+ '2021-10-11',
97
+ '2021-11-11',
98
+ '2021-11-25',
99
+ '2021-12-25'
100
+
101
+ ].map {|date_str| Date.parse(date_str) }
102
+ }
103
+
104
+ before :each do
105
+ allow(::UsBankHolidays).to receive(:saturday_holiday_date_rolling?).and_return(true)
106
106
  end
107
107
 
108
- it 'should exclude weekends if the appropriate flag is passed' do
109
- sample_weekends.each { |weekend|
110
- UsBankHolidays.bank_holiday?(weekend, false).should eq(false)
111
- }
112
- end
108
+ describe '.bank_holiday?' do
109
+ it 'should determine bank holidays on the list' do
110
+ sample_holidays.each { |holiday|
111
+ UsBankHolidays.bank_holiday?(holiday).should eq(true)
112
+ UsBankHolidays.banking_day?(holiday).should eq(false)
113
+ }
114
+ end
113
115
 
114
- it 'regular days should not be bank holidays' do
115
- sample_weekdays.each { |day|
116
- UsBankHolidays.bank_holiday?(day).should eq(false)
117
- UsBankHolidays.banking_day?(day).should eq(true)
118
- }
119
- end
120
- end
116
+ it 'weekends should be bank holidays' do
117
+ sample_weekends.each { |weekend|
118
+ UsBankHolidays.bank_holiday?(weekend).should eq(true)
119
+ UsBankHolidays.banking_day?(weekend).should eq(false)
120
+ }
121
+ end
121
122
 
122
- describe '.weekend?' do
123
- it 'should recognize weekends' do
124
- sample_weekends.each { |weekend|
125
- UsBankHolidays.weekend?(weekend).should eq(true)
126
- UsBankHolidays.banking_day?(weekend).should eq(false)
127
- }
128
- end
123
+ it 'should exclude weekends if the appropriate flag is passed' do
124
+ sample_weekends.each { |weekend|
125
+ UsBankHolidays.bank_holiday?(weekend, false).should eq(false)
126
+ }
127
+ end
129
128
 
130
- it 'weekdays should not be considered weekends' do
131
- sample_weekdays.each { |day| UsBankHolidays.weekend?(day).should eq(false) }
129
+ it 'regular days should not be bank holidays' do
130
+ sample_weekdays.each { |day|
131
+ UsBankHolidays.bank_holiday?(day).should eq(false)
132
+ UsBankHolidays.banking_day?(day).should eq(true)
133
+ }
134
+ end
132
135
  end
133
- end
134
-
135
- describe ::UsBankHolidays::DateMethods do
136
136
 
137
137
  describe '.weekend?' do
138
-
139
138
  it 'should recognize weekends' do
140
139
  sample_weekends.each { |weekend|
141
- weekend.weekend?.should eq(true)
142
- weekend.banking_day?.should eq(false)
140
+ UsBankHolidays.weekend?(weekend).should eq(true)
141
+ UsBankHolidays.banking_day?(weekend).should eq(false)
143
142
  }
144
143
  end
145
144
 
146
145
  it 'weekdays should not be considered weekends' do
147
- sample_weekdays.each { |day|
148
- day.weekend?.should eq(false)
149
- day.banking_day?.should eq(true)
150
- }
146
+ sample_weekdays.each { |day| UsBankHolidays.weekend?(day).should eq(false) }
151
147
  end
152
-
153
148
  end
154
149
 
155
- describe '.bank_holiday?' do
150
+ describe ::UsBankHolidays::DateMethods do
156
151
 
157
- it 'should recognize bank holidays' do
158
- sample_holidays.each { |holiday|
159
- holiday.bank_holiday?.should eq(true)
160
- holiday.banking_day?.should eq(false)
161
- }
162
- end
152
+ describe '.weekend?' do
163
153
 
164
- it 'should treat weekends as bank holidays' do
165
- sample_weekends.each { |weekend| weekend.bank_holiday?.should eq(true) }
166
- end
154
+ it 'should recognize weekends' do
155
+ sample_weekends.each { |weekend|
156
+ weekend.weekend?.should eq(true)
157
+ weekend.banking_day?.should eq(false)
158
+ }
159
+ end
167
160
 
168
- it 'should exclude weekends if the appropriate flag is passed' do
169
- sample_weekends.each { |weekend|
170
- weekend.weekend?.should eq(true)
171
- weekend.bank_holiday?(false).should eq(false)
172
- }
173
- end
161
+ it 'weekdays should not be considered weekends' do
162
+ sample_weekdays.each { |day|
163
+ day.weekend?.should eq(false)
164
+ day.banking_day?.should eq(true)
165
+ }
166
+ end
174
167
 
175
- it 'should not treat regular weekdays as bank holidays' do
176
- sample_weekdays.each { |day|
177
- day.bank_holiday?.should eq(false)
178
- day.banking_day?.should eq(true)
179
- }
180
168
  end
181
169
 
182
- it 'if Jan. 1 falls on a Saturday, Dec. 31 of the previous year should be a bank holiday' do
183
- Date.new(2021, 12, 31).bank_holiday?.should eq(true)
170
+ describe '.bank_holiday?' do
171
+
172
+ it 'should recognize bank holidays' do
173
+ sample_holidays.each { |holiday|
174
+ holiday.bank_holiday?.should eq(true)
175
+ holiday.banking_day?.should eq(false)
176
+ }
177
+ end
178
+
179
+ it 'should treat weekends as bank holidays' do
180
+ sample_weekends.each { |weekend| weekend.bank_holiday?.should eq(true) }
181
+ end
182
+
183
+ it 'should exclude weekends if the appropriate flag is passed' do
184
+ sample_weekends.each { |weekend|
185
+ weekend.weekend?.should eq(true)
186
+ weekend.bank_holiday?(false).should eq(false)
187
+ }
188
+ end
189
+
190
+ it 'should not treat regular weekdays as bank holidays' do
191
+ sample_weekdays.each { |day|
192
+ day.bank_holiday?.should eq(false)
193
+ day.banking_day?.should eq(true)
194
+ }
195
+ end
196
+
197
+ it 'if Jan. 1 falls on a Saturday, Dec. 31 of the previous year should be a bank holiday' do
198
+ Date.new(2021, 12, 31).bank_holiday?.should eq(true)
199
+ end
184
200
  end
185
- end
186
201
 
187
- describe '.next_banking_day' do
188
- it 'should determine the next banking day' do
189
- Date.new(2014, 1, 1).next_banking_day.should == Date.new(2014, 1, 2)
190
- Date.new(2014, 1, 2).next_banking_day.should == Date.new(2014, 1, 3)
191
- Date.new(2014, 1, 3).next_banking_day.should == Date.new(2014, 1, 6)
192
- Date.new(2014, 1, 4).next_banking_day.should == Date.new(2014, 1, 6)
193
- Date.new(2014, 1, 5).next_banking_day.should == Date.new(2014, 1, 6)
202
+ describe '.next_banking_day' do
203
+ it 'should determine the next banking day' do
204
+ Date.new(2014, 1, 1).next_banking_day.should == Date.new(2014, 1, 2)
205
+ Date.new(2014, 1, 2).next_banking_day.should == Date.new(2014, 1, 3)
206
+ Date.new(2014, 1, 3).next_banking_day.should == Date.new(2014, 1, 6)
207
+ Date.new(2014, 1, 4).next_banking_day.should == Date.new(2014, 1, 6)
208
+ Date.new(2014, 1, 5).next_banking_day.should == Date.new(2014, 1, 6)
209
+ end
194
210
  end
195
- end
196
211
 
197
- describe '.previous_baking_day' do
198
- it 'should determine the previous banking day' do
199
- Date.new(2014, 1, 7).previous_banking_day.should == Date.new(2014, 1, 6)
200
- Date.new(2014, 1, 6).previous_banking_day.should == Date.new(2014, 1, 3)
201
- Date.new(2014, 1, 5).previous_banking_day.should == Date.new(2014, 1, 3)
202
- Date.new(2014, 1, 4).previous_banking_day.should == Date.new(2014, 1, 3)
203
- Date.new(2014, 1, 21).previous_banking_day.should == Date.new(2014, 1, 17)
212
+ describe '.previous_baking_day' do
213
+ it 'should determine the previous banking day' do
214
+ Date.new(2014, 1, 7).previous_banking_day.should == Date.new(2014, 1, 6)
215
+ Date.new(2014, 1, 6).previous_banking_day.should == Date.new(2014, 1, 3)
216
+ Date.new(2014, 1, 5).previous_banking_day.should == Date.new(2014, 1, 3)
217
+ Date.new(2014, 1, 4).previous_banking_day.should == Date.new(2014, 1, 3)
218
+ Date.new(2014, 1, 21).previous_banking_day.should == Date.new(2014, 1, 17)
219
+ end
204
220
  end
205
- end
206
221
 
207
- describe '.add_banking_days' do
208
- it 'should return self if given 0' do
209
- Date.new(2014, 1, 7).add_banking_days(0).should == Date.new(2014, 1, 7)
210
- end
222
+ describe '.add_banking_days' do
223
+ it 'should return self if given 0' do
224
+ Date.new(2014, 1, 7).add_banking_days(0).should == Date.new(2014, 1, 7)
225
+ end
211
226
 
212
- it 'should return self if given 0 even if self is a bank holiday' do
213
- Date.new(2014, 1, 4).add_banking_days(0).should == Date.new(2014, 1, 4)
214
- end
227
+ it 'should return self if given 0 even if self is a bank holiday' do
228
+ Date.new(2014, 1, 4).add_banking_days(0).should == Date.new(2014, 1, 4)
229
+ end
230
+
231
+ it 'if given a positive number, should add banking days, ignoring bank holidays' do
232
+ Date.new(2014, 1, 16).add_banking_days(2).should == Date.new(2014, 1, 21)
233
+ end
215
234
 
216
- it 'if given a positive number, should add banking days, ignoring bank holidays' do
217
- Date.new(2014, 1, 16).add_banking_days(2).should == Date.new(2014, 1, 21)
235
+ it 'if given a negative number, should subtract banking days, ignoring bank holidays' do
236
+ Date.new(2014, 1, 21).add_banking_days(-2).should == Date.new(2014, 1, 16)
237
+ end
218
238
  end
219
239
 
220
- it 'if given a negative number, should subtract banking days, ignoring bank holidays' do
221
- Date.new(2014, 1, 21).add_banking_days(-2).should == Date.new(2014, 1, 16)
240
+ describe '.last_banking_day_of_month?' do
241
+ it 'should determine if a date is the last banking day of the month' do
242
+ Date.new(2014, 1, 31).last_banking_day_of_month?.should eq(true)
243
+ Date.new(2014, 1, 30).last_banking_day_of_month?.should eq(false)
244
+
245
+ Date.new(2014, 11, 30).last_banking_day_of_month?.should eq(false)
246
+ Date.new(2014, 11, 28).last_banking_day_of_month?.should eq(true)
247
+ end
222
248
  end
223
- end
224
249
 
225
- describe '.last_banking_day_of_month?' do
226
- it 'should determine if a date is the last banking day of the month' do
227
- Date.new(2014, 1, 31).last_banking_day_of_month?.should eq(true)
228
- Date.new(2014, 1, 30).last_banking_day_of_month?.should eq(false)
250
+ describe '.first_banking_day_of_month?' do
251
+ it 'should determine if the date if the first banking day of the month' do
252
+ Date.new(2014, 4, 1).first_banking_day_of_month?.should eq(true)
253
+ Date.new(2014, 4, 2).first_banking_day_of_month?.should eq(false)
229
254
 
230
- Date.new(2014, 11, 30).last_banking_day_of_month?.should eq(false)
231
- Date.new(2014, 11, 28).last_banking_day_of_month?.should eq(true)
255
+ Date.new(2014, 6, 1).first_banking_day_of_month?.should eq(false)
256
+ Date.new(2014, 6, 2).first_banking_day_of_month?.should eq(true)
257
+ end
232
258
  end
233
259
  end
260
+ end
234
261
 
235
- describe '.first_banking_day_of_month?' do
236
- it 'should determine if the date if the first banking day of the month' do
237
- Date.new(2014, 4, 1).first_banking_day_of_month?.should eq(true)
238
- Date.new(2014, 4, 2).first_banking_day_of_month?.should eq(false)
262
+ context "no saturday holiday date rolling" do
239
263
 
240
- Date.new(2014, 6, 1).first_banking_day_of_month?.should eq(false)
241
- Date.new(2014, 6, 2).first_banking_day_of_month?.should eq(true)
242
- end
264
+ before :each do
265
+ allow(::UsBankHolidays).to receive(:saturday_holiday_date_rolling?).and_return(false)
266
+ end
267
+
268
+ let(:banking_days) {
269
+ [
270
+ '2021-06-18',
271
+ '2021-12-31'
272
+ ].map {|date_str| Date.parse(date_str) }
273
+ }
274
+
275
+ specify 'banking days' do
276
+ banking_days.each { |date|
277
+ UsBankHolidays.bank_holiday?(date).should eq(false)
278
+ UsBankHolidays.banking_day?(date).should eq(true)
279
+ }
243
280
  end
244
281
  end
245
282
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: us_bank_holidays
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arthur Shagall
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-10 00:00:00.000000000 Z
11
+ date: 2021-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler