hiccup 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/hiccup/enumerable.rb +2 -0
- data/lib/hiccup/version.rb +1 -1
- data/test/enumerable_test.rb +30 -16
- metadata +4 -4
data/lib/hiccup/enumerable.rb
CHANGED
data/lib/hiccup/version.rb
CHANGED
data/test/enumerable_test.rb
CHANGED
@@ -61,11 +61,11 @@ class EnumerableTest < ActiveSupport::TestCase
|
|
61
61
|
:start_date => Date.new(2009,3,15),
|
62
62
|
:ends => true,
|
63
63
|
:end_date => Date.new(2009,11,30)})
|
64
|
-
dates =
|
64
|
+
dates = occurrences_during_month(schedule, 2009,7).map {|date| date.day}
|
65
65
|
expected_dates = [1,3,6,8,10,13,15,17,20,22,24,27,29,31]
|
66
66
|
assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for weekly schedule"
|
67
67
|
|
68
|
-
dates =
|
68
|
+
dates = occurrences_during_month(schedule, 2008,7).map {|date| date.day}
|
69
69
|
expected_dates = []
|
70
70
|
assert_equal expected_dates, dates, "occurrences_during_month should generate no occurrences if before start_date"
|
71
71
|
|
@@ -75,7 +75,7 @@ class EnumerableTest < ActiveSupport::TestCase
|
|
75
75
|
:start_date => Date.new(2010,6,14),
|
76
76
|
:ends => true,
|
77
77
|
:end_date => Date.new(2010,6,21)})
|
78
|
-
dates =
|
78
|
+
dates = occurrences_during_month(schedule, 2010,6).map {|date| date.day}
|
79
79
|
expected_dates = [14,21]
|
80
80
|
assert_equal expected_dates, dates, "occurrences_during_month did not correctly observe end date for weekly schedule"
|
81
81
|
end
|
@@ -87,15 +87,15 @@ class EnumerableTest < ActiveSupport::TestCase
|
|
87
87
|
:kind => :monthly,
|
88
88
|
:monthly_pattern => [[2, "Sunday"], [4, "Sunday"]],
|
89
89
|
:start_date => Date.new(2004,3,15)})
|
90
|
-
dates =
|
90
|
+
dates = occurrences_during_month(schedule, 2009,12).map {|date| date.day}
|
91
91
|
expected_dates = [13,27]
|
92
92
|
assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for monthly schedule"
|
93
93
|
|
94
|
-
dates =
|
94
|
+
dates = occurrences_during_month(schedule, 2009,2).map {|date| date.day}
|
95
95
|
expected_dates = [8,22]
|
96
96
|
assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for monthly schedule"
|
97
97
|
|
98
|
-
dates =
|
98
|
+
dates = occurrences_during_month(schedule, 1991,7).map {|date| date.day}
|
99
99
|
expected_dates = []
|
100
100
|
assert_equal expected_dates, dates, "occurrences_during_month should generate no occurrences if before start_date"
|
101
101
|
end
|
@@ -198,6 +198,8 @@ class EnumerableTest < ActiveSupport::TestCase
|
|
198
198
|
:end_date => Date.new(2011, 1, 31)})
|
199
199
|
assert_equal nil, schedule.first_occurrence_before(Date.new(2011,1,3))
|
200
200
|
assert_equal nil, schedule.first_occurrence_on_or_before(Date.new(2011,1,2))
|
201
|
+
assert_equal nil, schedule.n_occurrences_before(10, Date.new(2011,1,3))
|
202
|
+
assert_equal nil, schedule.n_occurrences_on_or_before(10, Date.new(2011,1,2))
|
201
203
|
end
|
202
204
|
|
203
205
|
test "should not predict dates after the end of a schedule" do
|
@@ -266,23 +268,23 @@ class EnumerableTest < ActiveSupport::TestCase
|
|
266
268
|
schedule = Schedule.new({
|
267
269
|
:kind => :annually,
|
268
270
|
:start_date => Date.new(1981,4,23)})
|
269
|
-
dates =
|
271
|
+
dates = occurrences_during_month(schedule, 1981,4).map {|date| date.day}
|
270
272
|
expected_dates = [23]
|
271
273
|
assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for annual schedule"
|
272
274
|
|
273
|
-
dates =
|
275
|
+
dates = occurrences_during_month(schedule, 1972,4).map {|date| date.day}
|
274
276
|
expected_dates = []
|
275
277
|
assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for annual schedule"
|
276
278
|
|
277
|
-
dates =
|
279
|
+
dates = occurrences_during_month(schedule, 1984,4).map {|date| date.day}
|
278
280
|
expected_dates = [23]
|
279
281
|
assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for annual schedule"
|
280
282
|
|
281
|
-
dates =
|
283
|
+
dates = occurrences_during_month(schedule, 1984,3).map {|date| date.day}
|
282
284
|
expected_dates = []
|
283
285
|
assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for annual schedule"
|
284
286
|
|
285
|
-
dates =
|
287
|
+
dates = occurrences_during_month(schedule, 2009,12).map {|date| date.day}
|
286
288
|
expected_dates = []
|
287
289
|
assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for annual schedule"
|
288
290
|
end
|
@@ -297,7 +299,7 @@ class EnumerableTest < ActiveSupport::TestCase
|
|
297
299
|
|
298
300
|
# There are not 5 Mondays during June 2010
|
299
301
|
assert_nothing_raised do
|
300
|
-
assert_equal [],
|
302
|
+
assert_equal [], occurrences_during_month(schedule, 2010, 6)
|
301
303
|
end
|
302
304
|
|
303
305
|
next_fifth_month = Date.new(2010,8,30)
|
@@ -326,8 +328,8 @@ class EnumerableTest < ActiveSupport::TestCase
|
|
326
328
|
:start_date => Date.new(2008, 2, 29)
|
327
329
|
});
|
328
330
|
|
329
|
-
assert_equal [Date.new(2010, 2, 28)],
|
330
|
-
assert_equal [Date.new(2012, 2, 29)],
|
331
|
+
assert_equal [Date.new(2010, 2, 28)], occurrences_during_month(schedule, 2010, 2)
|
332
|
+
assert_equal [Date.new(2012, 2, 29)], occurrences_during_month(schedule, 2012, 2)
|
331
333
|
end
|
332
334
|
|
333
335
|
|
@@ -339,8 +341,8 @@ class EnumerableTest < ActiveSupport::TestCase
|
|
339
341
|
:start_date => Date.new(2008, 2, 29)
|
340
342
|
})
|
341
343
|
|
342
|
-
assert_equal [Date.new(2010, 1, 31)],
|
343
|
-
assert_equal [],
|
344
|
+
assert_equal [Date.new(2010, 1, 31)], occurrences_during_month(schedule, 2010, 1)
|
345
|
+
assert_equal [], occurrences_during_month(schedule, 2010, 2)
|
344
346
|
end
|
345
347
|
|
346
348
|
|
@@ -411,4 +413,16 @@ class EnumerableTest < ActiveSupport::TestCase
|
|
411
413
|
|
412
414
|
|
413
415
|
|
416
|
+
private
|
417
|
+
|
418
|
+
|
419
|
+
|
420
|
+
def occurrences_during_month(schedule, year, month)
|
421
|
+
date1 = Date.new(year, month, 1)
|
422
|
+
date2 = Date.new(year, month, -1)
|
423
|
+
schedule.occurrences_between(date1, date2)
|
424
|
+
end
|
425
|
+
|
426
|
+
|
427
|
+
|
414
428
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hiccup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -179,7 +179,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
179
179
|
version: '0'
|
180
180
|
segments:
|
181
181
|
- 0
|
182
|
-
hash: -
|
182
|
+
hash: -4462698178818777430
|
183
183
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
184
184
|
none: false
|
185
185
|
requirements:
|
@@ -188,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
188
188
|
version: '0'
|
189
189
|
segments:
|
190
190
|
- 0
|
191
|
-
hash: -
|
191
|
+
hash: -4462698178818777430
|
192
192
|
requirements: []
|
193
193
|
rubyforge_project: hiccup
|
194
194
|
rubygems_version: 1.8.24
|