hiccup 0.5.14 → 0.5.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hiccup.rb +17 -17
  3. data/lib/hiccup/convenience.rb +9 -9
  4. data/lib/hiccup/core_ext/date.rb +7 -7
  5. data/lib/hiccup/core_ext/duration.rb +4 -4
  6. data/lib/hiccup/core_ext/enumerable.rb +2 -2
  7. data/lib/hiccup/core_ext/fixnum.rb +2 -2
  8. data/lib/hiccup/core_ext/hash.rb +2 -2
  9. data/lib/hiccup/enumerable.rb +43 -29
  10. data/lib/hiccup/enumerable/annually_enumerator.rb +23 -23
  11. data/lib/hiccup/enumerable/monthly_date_enumerator.rb +2 -2
  12. data/lib/hiccup/enumerable/monthly_enumerator.rb +40 -40
  13. data/lib/hiccup/enumerable/never_enumerator.rb +8 -8
  14. data/lib/hiccup/enumerable/schedule_enumerator.rb +39 -39
  15. data/lib/hiccup/enumerable/weekly_enumerator.rb +30 -30
  16. data/lib/hiccup/errors.rb +4 -0
  17. data/lib/hiccup/humanizable.rb +19 -19
  18. data/lib/hiccup/inferable.rb +30 -30
  19. data/lib/hiccup/inferable/dates_enumerator.rb +6 -6
  20. data/lib/hiccup/inferable/guesser.rb +21 -21
  21. data/lib/hiccup/inferable/score.rb +7 -7
  22. data/lib/hiccup/inferable/scorer.rb +19 -19
  23. data/lib/hiccup/schedule.rb +10 -10
  24. data/lib/hiccup/serializable/ical.rb +13 -13
  25. data/lib/hiccup/serializers/ical.rb +59 -59
  26. data/lib/hiccup/validatable.rb +23 -23
  27. data/lib/hiccup/version.rb +1 -1
  28. data/test/core_ext_date_test.rb +5 -5
  29. data/test/duration_ext_test.rb +8 -8
  30. data/test/enumerable_test.rb +103 -103
  31. data/test/humanizable_test.rb +24 -24
  32. data/test/ical_serializable_test.rb +29 -29
  33. data/test/inferrable_test.rb +84 -84
  34. data/test/leap_year_test.rb +7 -7
  35. data/test/monthly_enumerator_test.rb +13 -13
  36. data/test/performance_test.rb +7 -7
  37. data/test/validatable_test.rb +1 -1
  38. data/test/weekly_enumerator_test.rb +38 -38
  39. metadata +4 -3
@@ -1,3 +1,3 @@
1
1
  module Hiccup
2
- VERSION = "0.5.14"
2
+ VERSION = "0.5.15"
3
3
  end
@@ -2,8 +2,8 @@ require "test_helper"
2
2
 
3
3
 
4
4
  class CoreExtDateTest < ActiveSupport::TestCase
5
-
6
-
5
+
6
+
7
7
  test "should correctly identify the nth weekday of the month of a date" do
8
8
  assert_equal 1, Date.new(2012, 7, 1).get_nth_wday_of_month
9
9
  assert_equal 1, Date.new(2012, 7, 7).get_nth_wday_of_month
@@ -15,7 +15,7 @@ class CoreExtDateTest < ActiveSupport::TestCase
15
15
  assert_equal 4, Date.new(2012, 7, 28).get_nth_wday_of_month
16
16
  assert_equal 5, Date.new(2012, 7, 29).get_nth_wday_of_month
17
17
  end
18
-
18
+
19
19
  test "should correctly identify the nth weekday of the month of a date as a string" do
20
20
  assert_equal "1 Sunday", Date.new(2012, 7, 1).get_nth_wday_string
21
21
  assert_equal "1 Saturday", Date.new(2012, 7, 7).get_nth_wday_string
@@ -27,6 +27,6 @@ class CoreExtDateTest < ActiveSupport::TestCase
27
27
  assert_equal "4 Saturday", Date.new(2012, 7, 28).get_nth_wday_string
28
28
  assert_equal "5 Sunday", Date.new(2012, 7, 29).get_nth_wday_string
29
29
  end
30
-
31
-
30
+
31
+
32
32
  end
@@ -3,27 +3,27 @@ require "hiccup/core_ext/duration"
3
3
 
4
4
 
5
5
  class DurationExtTest < ActiveSupport::TestCase
6
-
7
-
6
+
7
+
8
8
  def test_active_support_duration_is_working
9
9
  assert 1.day.is_a?(ActiveSupport::Duration), "I ran into a problem where the Ruby gem 'god' also added :day to Fixnum and broke ActiveSupport."
10
10
  end
11
-
12
-
11
+
12
+
13
13
  def test_after_alias
14
14
  t = 17.weeks.ago
15
15
  [:day, :week, :month, :year].each do |period|
16
16
  assert_equal 1.send(period).since(t), 1.send(period).after(t)
17
17
  end
18
18
  end
19
-
20
-
19
+
20
+
21
21
  def test_before_alias
22
22
  t = 17.weeks.ago
23
23
  [:day, :week, :month, :year].each do |period|
24
24
  assert_equal 1.send(period).ago(t), 1.send(period).before(t)
25
25
  end
26
26
  end
27
-
28
-
27
+
28
+
29
29
  end
@@ -5,21 +5,21 @@ class EnumerableTest < ActiveSupport::TestCase
5
5
  include Hiccup
6
6
 
7
7
  attr_reader :schedule
8
-
9
-
10
-
8
+
9
+
10
+
11
11
  def test_occurs_on_annually
12
12
  schedule = Schedule.new({
13
13
  :kind => :annually,
14
14
  :start_date => Date.new(2009,3,15)})
15
15
  assert !schedule.occurs_on(Date.new(1984,3,15)), "Annual schedule starting 3/15/09 should not occur on 3/15/1984"
16
- assert schedule.occurs_on(Date.new(2084,3,15)), "Annual schedule starting 3/15/09 should occur on 3/15/2084"
16
+ assert schedule.occurs_on(Date.new(2084,3,15)), "Annual schedule starting 3/15/09 should occur on 3/15/2084"
17
17
  assert !schedule.occurs_on(Date.new(2011,4,15)), "Annual schedule starting 3/15/09 should not occur on 4/15/2011"
18
18
  assert !schedule.occurs_on(Date.new(2009,3,17)), "Annual schedule starting 3/15/09 should not occur on 3/17/2009"
19
- end
20
-
21
-
22
-
19
+ end
20
+
21
+
22
+
23
23
  test "annual recurrence with a skip" do
24
24
  schedule = Schedule.new({
25
25
  :kind => :annually,
@@ -29,7 +29,7 @@ class EnumerableTest < ActiveSupport::TestCase
29
29
  actual_dates = schedule.occurrences_between(Date.new(2009, 01, 01), Date.new(2013, 12, 31)).map(&:to_s)
30
30
  assert_equal expected_dates, actual_dates
31
31
  end
32
-
32
+
33
33
  test "annual recurrence with a skip, starting enumeration on an off year" do
34
34
  schedule = Schedule.new({
35
35
  :kind => :annually,
@@ -38,9 +38,9 @@ class EnumerableTest < ActiveSupport::TestCase
38
38
  assert_equal "2011-03-04", (schedule.first_occurrence_on_or_after Date.new(2010, 03, 01)).to_s
39
39
  assert_equal "2011-03-04", (schedule.first_occurrence_on_or_before Date.new(2012, 03, 01)).to_s
40
40
  end
41
-
42
-
43
-
41
+
42
+
43
+
44
44
  def test_occurs_on_weekly
45
45
  schedule = Schedule.new({
46
46
  :kind => :weekly,
@@ -53,7 +53,7 @@ class EnumerableTest < ActiveSupport::TestCase
53
53
  assert schedule.occurs_on(Date.new(2009,3,16)), "MWF schedule starting 3/15/09 should occur on 3/16/2009"
54
54
  assert !schedule.occurs_on(Date.new(2009,3,11)), "MWF schedule starting 3/15/09 should not occur on 3/11/2009"
55
55
  assert schedule.occurs_on(Date.new(2009,3,18)), "MWF schedule starting 3/15/09 should occur on 3/18/2009"
56
-
56
+
57
57
  schedule.end_date = Date.new(2009,4,11)
58
58
  schedule.ends = true
59
59
  assert_equal true, schedule.ends?
@@ -61,9 +61,9 @@ class EnumerableTest < ActiveSupport::TestCase
61
61
  assert !schedule.occurs_on(Date.new(2009,5,11)), "MWF schedule starting 3/15/09 and ending 4/11/09 should not occur on 5/11/2009"
62
62
  assert !schedule.occurs_on(Date.new(2009,5,20)), "MWF schedule starting 3/15/09 and ending 4/11/09 should not occur on 5/20/2009"
63
63
  end
64
-
65
-
66
-
64
+
65
+
66
+
67
67
  def test_weekly_occurrences_during_month
68
68
  schedule = Schedule.new({
69
69
  :kind => :weekly,
@@ -74,11 +74,11 @@ class EnumerableTest < ActiveSupport::TestCase
74
74
  dates = occurrences_during_month(schedule, 2009,7).map {|date| date.day}
75
75
  expected_dates = [1,3,6,8,10,13,15,17,20,22,24,27,29,31]
76
76
  assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for weekly schedule"
77
-
77
+
78
78
  dates = occurrences_during_month(schedule, 2008,7).map {|date| date.day}
79
79
  expected_dates = []
80
80
  assert_equal expected_dates, dates, "occurrences_during_month should generate no occurrences if before start_date"
81
-
81
+
82
82
  schedule = Schedule.new({
83
83
  :kind => :weekly,
84
84
  :weekly_pattern => %w{Monday},
@@ -89,20 +89,20 @@ class EnumerableTest < ActiveSupport::TestCase
89
89
  expected_dates = [14,21]
90
90
  assert_equal expected_dates, dates, "occurrences_during_month did not correctly observe end date for weekly schedule"
91
91
  end
92
-
92
+
93
93
  test "should keep weekly occurrences during a week together when skipping" do
94
94
  schedule = Schedule.new(
95
95
  :kind => :weekly,
96
96
  :weekly_pattern => %w{Tuesday Thursday},
97
97
  :start_date => Date.new(2013, 10, 2), # Wednesday
98
98
  :skip => 2)
99
-
99
+
100
100
  dates = occurrences_during_month(schedule, 2013, 10).map(&:day)
101
101
  assert_equal [3, 15, 17, 29, 31], dates
102
102
  end
103
-
104
-
105
-
103
+
104
+
105
+
106
106
  def test_monthly_occurrences_during_month
107
107
  schedule = Schedule.new({
108
108
  :kind => :monthly,
@@ -111,18 +111,18 @@ class EnumerableTest < ActiveSupport::TestCase
111
111
  dates = occurrences_during_month(schedule, 2009,12).map {|date| date.day}
112
112
  expected_dates = [13,27]
113
113
  assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for monthly schedule"
114
-
114
+
115
115
  dates = occurrences_during_month(schedule, 2009,2).map {|date| date.day}
116
116
  expected_dates = [8,22]
117
117
  assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for monthly schedule"
118
-
118
+
119
119
  dates = occurrences_during_month(schedule, 1991,7).map {|date| date.day}
120
120
  expected_dates = []
121
121
  assert_equal expected_dates, dates, "occurrences_during_month should generate no occurrences if before start_date"
122
122
  end
123
-
124
-
125
-
123
+
124
+
125
+
126
126
  def test_no_occurrence
127
127
  expected_date = Date.new(2011,3,12)
128
128
  schedule = Schedule.new({:kind => :never, :start_date => expected_date})
@@ -130,9 +130,9 @@ class EnumerableTest < ActiveSupport::TestCase
130
130
  assert_equal expected_dates, schedule.occurrences_between(Date.new(2011,1,1), Date.new(2011,12,31))
131
131
  assert schedule.contains?(expected_date)
132
132
  end
133
-
134
133
 
135
-
134
+
135
+
136
136
  context "#n_occurrences_before" do
137
137
  setup do
138
138
  @schedule = Schedule.new({
@@ -151,10 +151,10 @@ class EnumerableTest < ActiveSupport::TestCase
151
151
  "2009-10-09" ]
152
152
  assert_equal expected_dates, dates, "Expected the dates for the correct occurrences"
153
153
  end
154
-
154
+
155
155
  should "return a shorter array if no events exist before the given date" do
156
156
  dates = schedule.n_occurrences_before(10, Date.new(2009, 3, 20)).map { |date| date.strftime("%Y-%m-%d") }
157
-
157
+
158
158
  expected_dates = ["2009-03-18", "2009-03-16"]
159
159
  assert_equal expected_dates, dates, "Expected the dates for the correct occurrences"
160
160
  end
@@ -204,9 +204,9 @@ class EnumerableTest < ActiveSupport::TestCase
204
204
  end
205
205
  end
206
206
  end
207
-
208
-
209
-
207
+
208
+
209
+
210
210
  def test_how_contains_handles_parameter_types
211
211
  date = Date.new(1981,4,23)
212
212
  schedule = Schedule.new({:kind => :annually, :start_date => date})
@@ -214,9 +214,9 @@ class EnumerableTest < ActiveSupport::TestCase
214
214
  assert schedule.contains?(date.to_time)
215
215
  assert schedule.contains?(date.to_datetime)
216
216
  end
217
-
218
-
219
-
217
+
218
+
219
+
220
220
  def test_monthly_occurrences
221
221
  occurrence = [1, "Wednesday"]
222
222
  schedule = Schedule.new({
@@ -226,15 +226,15 @@ class EnumerableTest < ActiveSupport::TestCase
226
226
  expected_dates = [[1,5], [2,2], [3,2], [4,6], [5,4], [6,1], [7,6], [8,3], [9,7], [10,5], [11,2], [12,7]]
227
227
  expected_dates.map! {|pair| Date.new(2011, *pair)}
228
228
  assert_equal expected_dates, schedule.occurrences_between(Date.new(2011,1,1), Date.new(2011,12,31))
229
-
229
+
230
230
  (0...(expected_dates.length - 1)).each do |i|
231
231
  assert_equal expected_dates[i+1], schedule.next_occurrence_after(expected_dates[i])
232
232
  assert_equal expected_dates[i], schedule.first_occurrence_before(expected_dates[i + 1])
233
233
  end
234
234
  end
235
-
236
-
237
-
235
+
236
+
237
+
238
238
  test "should not throw an exception when calculating monthly recurrence and skip causes a guess to be discarded" do
239
239
  schedule = Schedule.new({
240
240
  :kind => :monthly,
@@ -250,9 +250,9 @@ class EnumerableTest < ActiveSupport::TestCase
250
250
  :end_date => Date.new(2012,3,29)})
251
251
  schedule.occurrences_between(schedule.start_date, schedule.end_date)
252
252
  end
253
-
254
-
255
-
253
+
254
+
255
+
256
256
  test "should not predict dates before the beginning of a schedule" do
257
257
  schedule = Schedule.new({
258
258
  :kind => :weekly,
@@ -265,7 +265,7 @@ class EnumerableTest < ActiveSupport::TestCase
265
265
  assert_equal [], schedule.n_occurrences_before(10, Date.new(2011,1,3))
266
266
  assert_equal [], schedule.n_occurrences_on_or_before(10, Date.new(2011,1,2))
267
267
  end
268
-
268
+
269
269
  test "should predict nonrecurring dates before a date later than them" do
270
270
  schedule = Schedule.new({
271
271
  :kind => :never,
@@ -273,7 +273,7 @@ class EnumerableTest < ActiveSupport::TestCase
273
273
  assert_equal [Date.new(2011, 1, 3)], schedule.n_occurrences_on_or_before(10, Date.new(2011,1,3))
274
274
  assert_equal [], schedule.n_occurrences_on_or_before(10, Date.new(2011,1,2))
275
275
  end
276
-
276
+
277
277
  test "should not predict dates after the end of a schedule" do
278
278
  schedule = Schedule.new({
279
279
  :kind => :weekly,
@@ -285,9 +285,9 @@ class EnumerableTest < ActiveSupport::TestCase
285
285
  assert_equal nil, schedule.first_occurrence_on_or_after(Date.new(2011,2, 1))
286
286
  assert_equal [], schedule.occurrences_between(Date.new(2013, 9, 23), Date.new(2013, 9, 30))
287
287
  end
288
-
289
-
290
-
288
+
289
+
290
+
291
291
  test "all methods should take any kind of date as an argument" do
292
292
  schedule = Schedule.new({
293
293
  :kind => :weekly,
@@ -298,9 +298,9 @@ class EnumerableTest < ActiveSupport::TestCase
298
298
  assert_equal Date.new(2011, 1, 17), schedule.first_occurrence_after(Time.new(2011, 1, 10))
299
299
  assert_equal Date.new(2011, 1, 3), schedule.first_occurrence_before(Time.new(2011, 1, 10))
300
300
  end
301
-
302
-
303
-
301
+
302
+
303
+
304
304
  def test_weekly_recurrence_and_skip
305
305
  schedule = Schedule.new({
306
306
  :kind => :weekly,
@@ -310,15 +310,15 @@ class EnumerableTest < ActiveSupport::TestCase
310
310
  expected_dates = [[1,3], [1,24], [2,14], [3,7], [3,28]]
311
311
  expected_dates.map! {|pair| Date.new(2011, *pair)}
312
312
  assert_equal expected_dates, schedule.occurrences_between(Date.new(2011,1,1), Date.new(2011,3,31))
313
-
313
+
314
314
  (0...(expected_dates.length - 1)).each do |i|
315
315
  assert_equal expected_dates[i+1], schedule.next_occurrence_after(expected_dates[i])
316
316
  assert_equal expected_dates[i], schedule.first_occurrence_before(expected_dates[i + 1])
317
317
  end
318
318
  end
319
-
320
-
321
-
319
+
320
+
321
+
322
322
  def test_monthly_recurrence_and_skip
323
323
  schedule = Schedule.new({
324
324
  :kind => :monthly,
@@ -328,15 +328,15 @@ class EnumerableTest < ActiveSupport::TestCase
328
328
  expected_dates = [[1,5], [3,2], [5,4], [7,6], [9,7], [11,2]]
329
329
  expected_dates.map! {|pair| Date.new(2011, *pair)}
330
330
  assert_equal expected_dates, schedule.occurrences_between(Date.new(2011,1,1), Date.new(2011,12,31))
331
-
331
+
332
332
  (0...(expected_dates.length - 1)).each do |i|
333
333
  assert_equal expected_dates[i+1], schedule.next_occurrence_after(expected_dates[i])
334
334
  assert_equal expected_dates[i], schedule.first_occurrence_before(expected_dates[i + 1])
335
335
  end
336
336
  end
337
-
338
-
339
-
337
+
338
+
339
+
340
340
  def test_annual_occurrences_during_month
341
341
  schedule = Schedule.new({
342
342
  :kind => :annually,
@@ -344,11 +344,11 @@ class EnumerableTest < ActiveSupport::TestCase
344
344
  dates = occurrences_during_month(schedule, 1981,4).map {|date| date.day}
345
345
  expected_dates = [23]
346
346
  assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for annual schedule"
347
-
347
+
348
348
  dates = occurrences_during_month(schedule, 1972,4).map {|date| date.day}
349
349
  expected_dates = []
350
350
  assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for annual schedule"
351
-
351
+
352
352
  dates = occurrences_during_month(schedule, 1984,4).map {|date| date.day}
353
353
  expected_dates = [23]
354
354
  assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for annual schedule"
@@ -361,7 +361,7 @@ class EnumerableTest < ActiveSupport::TestCase
361
361
  expected_dates = []
362
362
  assert_equal expected_dates, dates, "occurrences_during_month did not generate expected dates for annual schedule"
363
363
  end
364
-
364
+
365
365
  test "When there is no 5th weekday of a month, schedule shouldn't crash" do
366
366
  start = Date.new(2010,6,1)
367
367
  schedule = Schedule.new({
@@ -369,18 +369,18 @@ class EnumerableTest < ActiveSupport::TestCase
369
369
  :monthly_pattern => [[5, "Monday"]],
370
370
  :start_date => start})
371
371
  assert_equal "The fifth Monday of every month", schedule.humanize
372
-
372
+
373
373
  # There are not 5 Mondays during June 2010
374
374
  assert_nothing_raised do
375
375
  assert_equal [], occurrences_during_month(schedule, 2010, 6)
376
376
  end
377
-
377
+
378
378
  next_fifth_month = Date.new(2010,8,30)
379
379
  assert_equal next_fifth_month, schedule.first_occurrence_on_or_after(start)
380
380
  end
381
-
382
-
383
-
381
+
382
+
383
+
384
384
  def test_first_occurrence_on_or_after
385
385
  fifth_sunday = Date.new(2010, 8, 29)
386
386
  schedule = Schedule.new({
@@ -388,38 +388,38 @@ class EnumerableTest < ActiveSupport::TestCase
388
388
  :monthly_pattern => [[5, "Sunday"]],
389
389
  :start_date => fifth_sunday})
390
390
  assert_equal "The fifth Sunday of every month", schedule.humanize
391
-
391
+
392
392
  assert_equal fifth_sunday, schedule.first_occurrence_on_or_after(fifth_sunday)
393
393
  assert schedule.contains?(fifth_sunday)
394
394
  end
395
-
396
-
397
-
395
+
396
+
397
+
398
398
  def test_february_29
399
399
  schedule = Schedule.new({
400
400
  :kind => :annually,
401
401
  :start_date => Date.new(2008, 2, 29)
402
402
  });
403
-
403
+
404
404
  assert_equal [Date.new(2010, 2, 28)], occurrences_during_month(schedule, 2010, 2)
405
405
  assert_equal [Date.new(2012, 2, 29)], occurrences_during_month(schedule, 2012, 2)
406
406
  end
407
-
408
-
409
-
407
+
408
+
409
+
410
410
  def test_recurs_on31st
411
411
  schedule = Schedule.new({
412
412
  :kind => :monthly,
413
413
  :monthly_pattern => [31],
414
414
  :start_date => Date.new(2008, 2, 29)
415
415
  })
416
-
416
+
417
417
  assert_equal [Date.new(2010, 1, 31)], occurrences_during_month(schedule, 2010, 1)
418
418
  assert_equal [], occurrences_during_month(schedule, 2010, 2)
419
419
  end
420
-
421
-
422
-
420
+
421
+
422
+
423
423
  context "when a weekly schedule includes October 1582" do
424
424
  setup do
425
425
  @schedule = Schedule.new(
@@ -427,12 +427,12 @@ class EnumerableTest < ActiveSupport::TestCase
427
427
  weekly_pattern: %w{Monday},
428
428
  start_date: Date.new(1582, 10, 1))
429
429
  end
430
-
430
+
431
431
  should "just skip the invalid dates" do
432
432
  assert_equal %w{10/01 10/18 10/25}, occurrences_during_month(@schedule, 1582, 10).map { |d| d.strftime("%m/%d") }
433
433
  end
434
434
  end
435
-
435
+
436
436
  context "when a monthly schedule includes October 1582" do
437
437
  setup do
438
438
  @schedule = Schedule.new(
@@ -440,35 +440,35 @@ class EnumerableTest < ActiveSupport::TestCase
440
440
  monthly_pattern: [5, 19],
441
441
  start_date: Date.new(1582, 9, 5))
442
442
  end
443
-
443
+
444
444
  should "just skip the invalid dates" do
445
445
  assert_equal %w{10/19}, occurrences_during_month(@schedule, 1582, 10).map { |d| d.strftime("%m/%d") }
446
446
  end
447
447
  end
448
-
448
+
449
449
  context "when a yearly schedule includes October 1582" do
450
450
  setup do
451
451
  @schedule = Schedule.new(
452
452
  kind: :annually,
453
453
  start_date: Date.new(1580, 10, 8))
454
454
  end
455
-
455
+
456
456
  should "just skip the invalid dates" do
457
457
  assert_equal [], occurrences_during_month(@schedule, 1582, 10).map { |d| d.strftime("%m/%d") }
458
458
  end
459
459
  end
460
-
461
-
462
-
460
+
461
+
462
+
463
463
  if ENV['PERFORMANCE_TEST']
464
464
  test "performance test" do
465
465
  n = 1000
466
-
466
+
467
467
  # Each of these schedules should describe 52 events
468
-
468
+
469
469
  Benchmark.bm(20) do |x|
470
470
  x.report("weekly (simple):") do
471
- n.times do
471
+ n.times do
472
472
  Schedule.new(
473
473
  :kind => :weekly,
474
474
  :weekly_pattern => ["Friday"],
@@ -477,7 +477,7 @@ class EnumerableTest < ActiveSupport::TestCase
477
477
  end
478
478
  end
479
479
  x.report("weekly (complex):") do
480
- n.times do
480
+ n.times do
481
481
  Schedule.new(
482
482
  :kind => :weekly,
483
483
  :weekly_pattern => ["Monday", "Wednesday", "Friday"],
@@ -520,22 +520,22 @@ class EnumerableTest < ActiveSupport::TestCase
520
520
  end
521
521
  end
522
522
  end
523
-
523
+
524
524
  end
525
525
  end
526
-
527
-
528
-
526
+
527
+
528
+
529
529
  private
530
-
531
-
532
-
530
+
531
+
532
+
533
533
  def occurrences_during_month(schedule, year, month)
534
534
  date1 = Date.new(year, month, 1)
535
535
  date2 = Date.new(year, month, -1)
536
536
  schedule.occurrences_between(date1, date2)
537
537
  end
538
-
539
-
540
-
538
+
539
+
540
+
541
541
  end