week_of_month 1.2.3.4 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,201 @@
1
+ #!/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ require 'test/unit'
5
+ RUBY_VERSION < '1.9' ? require('lib/week_of_month') : require_relative('../../../week_of_month')
6
+
7
+ class TestWeekForDate < Test::Unit::TestCase
8
+ def test_week_of_month
9
+ assert_equal 5, Date.new(2013, 1, 31).week_of_month
10
+
11
+ assert_equal 5, Date.new(2013, 2, 28).week_of_month
12
+
13
+ assert_equal 6, Date.new(2013, 3, 31).week_of_month
14
+
15
+ assert_equal 5, Date.new(2013, 4, 30).week_of_month
16
+
17
+ assert_equal 5, Date.new(2013, 5, 31).week_of_month
18
+
19
+ assert_equal 6, Date.new(2013, 6, 30).week_of_month
20
+
21
+ assert_equal 5, Date.new(2013, 7, 31).week_of_month
22
+
23
+ assert_equal 5, Date.new(2013, 8, 31).week_of_month
24
+
25
+ assert_equal 5, Date.new(2013, 9, 30).week_of_month
26
+
27
+ assert_equal 5, Date.new(2013, 10, 31).week_of_month
28
+
29
+ assert_equal 5, Date.new(2013, 11, 30).week_of_month
30
+
31
+ assert_equal 5, Date.new(2013, 12, 31).week_of_month
32
+ end
33
+
34
+ def test_general_week_of_month
35
+ assert_equal 4, Date.new(2013, 1, 31).general_week_of_month
36
+
37
+ assert_equal 4, Date.new(2013, 2, 28).general_week_of_month
38
+
39
+ assert_equal 5, Date.new(2013, 3, 31).general_week_of_month
40
+
41
+ assert_equal 4, Date.new(2013, 4, 30).general_week_of_month
42
+
43
+ assert_equal 4, Date.new(2013, 5, 31).general_week_of_month
44
+
45
+ assert_equal 5, Date.new(2013, 6, 30).general_week_of_month
46
+
47
+ assert_equal 4, Date.new(2013, 7, 31).general_week_of_month
48
+
49
+ assert_equal 4, Date.new(2013, 8, 31).general_week_of_month
50
+
51
+ assert_equal 5, Date.new(2013, 9, 30).general_week_of_month
52
+
53
+ assert_equal 4, Date.new(2013, 10, 31).general_week_of_month
54
+
55
+ assert_equal 4, Date.new(2013, 11, 30).general_week_of_month
56
+
57
+ assert_equal 5, Date.new(2013, 12, 31).general_week_of_month
58
+ end
59
+
60
+ def test_week_split
61
+ object = Date.new(2013, 1, 10)
62
+ split_for_january = [[nil, nil, 1, 2, 3, 4, 5],
63
+ [6, 7, 8, 9, 10, 11, 12],
64
+ [13, 14, 15, 16, 17, 18, 19],
65
+ [20, 21, 22, 23, 24, 25, 26],
66
+ [27, 28, 29, 30, 31]]
67
+ assert_kind_of Array, object.week_split
68
+ assert_equal split_for_january, object.week_split
69
+
70
+ object = Date.new(2013, 2, 15)
71
+ split_for_october = [[nil, nil, nil, nil, nil, 1, 2],
72
+ [3, 4, 5, 6, 7, 8, 9],
73
+ [10, 11, 12, 13, 14, 15, 16],
74
+ [17, 18, 19, 20, 21, 22, 23],
75
+ [24, 25, 26, 27, 28]]
76
+ assert_kind_of Array, object.week_split
77
+ assert_equal split_for_october, object.week_split
78
+ end
79
+
80
+ def test_first_week?
81
+ assert Date.new(2012, 1, 1).first_week?
82
+ assert !Date.new(2012, 1, 31).first_week?
83
+ end
84
+
85
+ def test_second_week?
86
+ assert Date.new(2013, 1, 6).second_week?
87
+ assert !Date.new(2013, 1, 2).second_week?
88
+ end
89
+
90
+ def test_last_week?
91
+ assert Date.new(2012, 10, 31).last_week?
92
+ assert !Date.new(2012, 10, 20).last_week?
93
+ end
94
+
95
+ def test_total_weeks
96
+ assert_equal 5, Date.new(2012, 10, 31).total_weeks
97
+ assert_equal 6, Date.new(2012, 12, 20).total_weeks
98
+ end
99
+
100
+ def test_week_of_month_in_eng
101
+ assert_equal 'First', Date.new(2012, 12, 1).week_of_month_in_eng
102
+ assert_equal 'Second', Date.new(2012, 12, 4).week_of_month_in_eng
103
+ assert_equal 'Third', Date.new(2012, 12, 9).week_of_month_in_eng
104
+ assert_equal 'Fourth', Date.new(2012, 12, 16).week_of_month_in_eng
105
+ assert_equal 'Fifth', Date.new(2012, 12, 24).week_of_month_in_eng
106
+ assert_equal 'Sixth', Date.new(2012, 12, 31).week_of_month_in_eng
107
+ end
108
+
109
+ def test_week_of_month_in_fr
110
+ assert_equal 'Premier', Date.new(2012, 12, 1).week_of_month_in_fr
111
+ assert_equal 'Deuxième', Date.new(2012, 12, 4).week_of_month_in_fr
112
+ assert_equal 'Troisième', Date.new(2012, 12, 9).week_of_month_in_fr
113
+ assert_equal 'Quatrième', Date.new(2012, 12, 16).week_of_month_in_fr
114
+ assert_equal 'Cinquième', Date.new(2012, 12, 24).week_of_month_in_fr
115
+ assert_equal 'Sixième', Date.new(2012, 12, 31).week_of_month_in_fr
116
+ end
117
+
118
+ def test_week_of_month_in_ger
119
+ assert_equal 'First', Date.new(2012, 12, 1).week_of_month_in_ger
120
+ assert_equal 'Second', Date.new(2012, 12, 4).week_of_month_in_ger
121
+ assert_equal 'Dritten', Date.new(2012, 12, 9).week_of_month_in_ger
122
+ assert_equal 'Vierte', Date.new(2012, 12, 16).week_of_month_in_ger
123
+ assert_equal 'Fünfte', Date.new(2012, 12, 24).week_of_month_in_ger
124
+ assert_equal 'Sechste', Date.new(2012, 12, 31).week_of_month_in_ger
125
+ end
126
+
127
+ def test_week_of_month_in_ja
128
+ assert_equal '第一', Date.new(2012, 12, 1).week_of_month_in_ja
129
+ assert_equal '第二', Date.new(2012, 12, 4).week_of_month_in_ja
130
+ assert_equal '第三', Date.new(2012, 12, 9).week_of_month_in_ja
131
+ assert_equal '第四', Date.new(2012, 12, 16).week_of_month_in_ja
132
+ assert_equal '第五', Date.new(2012, 12, 24).week_of_month_in_ja
133
+ assert_equal '第六', Date.new(2012, 12, 31).week_of_month_in_ja
134
+ end
135
+
136
+ def test_week_end?
137
+ assert !Date.new(2012, 10, 1).week_end?
138
+ assert !Date.new(2012, 10, 31).week_end?
139
+ assert Date.new(2012, 10, 6).week_end?
140
+ assert Date.new(2012, 10, 7).week_end?
141
+ end
142
+
143
+ def test_working_day?
144
+ assert Date.new(2012, 10, 1).working_day?
145
+ assert Date.new(2012, 10, 31).working_day?
146
+ assert !Date.new(2012, 10, 6).working_day?
147
+ assert !Date.new(2012, 10, 7).working_day?
148
+ end
149
+
150
+ def test_days_past_in_week
151
+ assert_equal 2, Date.new(2013, 1, 1).days_past_in_week
152
+ end
153
+
154
+ def test_days_left_in_week
155
+ assert_equal 5, Date.new(2013, 1, 1).days_left_in_week
156
+ end
157
+
158
+ def test_beginning_of_week
159
+ assert_equal Date.new(2012, 11, 25), Date.new(2012, 11, 25).beginning_of_week
160
+ assert_equal Date.new(2012, 11, 25), Date.new(2012, 11, 26).beginning_of_week
161
+ assert_equal Date.new(2012, 11, 25), Date.new(2012, 11, 30).beginning_of_week
162
+ end
163
+
164
+ def test_end_of_week
165
+ assert_equal Date.new(2012, 12, 1), Date.new(2012, 12, 1).end_of_week
166
+ assert_equal Date.new(2012, 12, 8), Date.new(2012, 12, 2).end_of_week
167
+ assert_equal Date.new(2012, 12, 8), Date.new(2012, 12, 3).end_of_week
168
+ assert_equal Date.new(2012, 12, 8), Date.new(2012, 12, 7).end_of_week
169
+ end
170
+
171
+ def test_next_week
172
+ assert_equal Date.new(2012, 12, 8), Date.new(2012, 12, 1).next_week
173
+ assert_equal Date.new(2012, 12, 22), Date.new(2012, 12, 15).next_week
174
+ assert_equal Date.new(2013, 1, 5), Date.new(2012, 12, 29).next_week
175
+ assert_equal Date.new(2012, 12, 26), Date.new(2012, 12, 19).next_week
176
+ end
177
+
178
+ def test_previous_week
179
+ assert_equal Date.new(2012, 12, 1), Date.new(2012, 12, 8).previous_week
180
+ assert_equal Date.new(2012, 12, 15), Date.new(2012, 12, 22).previous_week
181
+ assert_equal Date.new(2012, 12, 29), Date.new(2013, 1, 5).previous_week
182
+ assert_equal Date.new(2012, 12, 19), Date.new(2012, 12, 26).previous_week
183
+ end
184
+
185
+ def test_monday_configured_beginning_of_week
186
+ WeekOfMonth.configuration.monday_active = true
187
+ assert_equal Date.new(2012, 11, 19), Date.new(2012, 11, 25).beginning_of_week
188
+ assert_equal Date.new(2012, 11, 26), Date.new(2012, 11, 26).beginning_of_week
189
+ assert_equal Date.new(2012, 11, 26), Date.new(2012, 11, 30).beginning_of_week
190
+ WeekOfMonth.configuration.monday_active = false
191
+ end
192
+
193
+ def test_monday_configured_end_of_week
194
+ WeekOfMonth.configuration.monday_active = true
195
+ assert_equal Date.new(2012, 12, 2), Date.new(2012, 12, 1).end_of_week
196
+ assert_equal Date.new(2012, 12, 2), Date.new(2012, 12, 2).end_of_week
197
+ assert_equal Date.new(2012, 12, 9), Date.new(2012, 12, 3).end_of_week
198
+ assert_equal Date.new(2012, 12, 9), Date.new(2012, 12, 7).end_of_week
199
+ WeekOfMonth.configuration.monday_active = false
200
+ end
201
+ end
@@ -0,0 +1,13 @@
1
+ #!/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ # @author Sachin Singh
5
+
6
+ require 'test/unit'
7
+ RUBY_VERSION < '1.9' ? require('lib/week_of_month') : require_relative('../../../week_of_month')
8
+
9
+ class TestYearForDate < Test::Unit::TestCase
10
+ def test_years_between_dates
11
+ assert_equal 3, Date.years_between_dates(Date.new(2015, 11, 1), Date.new(2012, 11, 15))
12
+ end
13
+ end
@@ -0,0 +1,58 @@
1
+ #!/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ require 'test/unit'
5
+ RUBY_VERSION < '1.9' ? require('lib/week_of_month') : require_relative('../../../week_of_month')
6
+
7
+ class TestConstantForTime < Test::Unit::TestCase
8
+ def test_constants_present?
9
+ assert Time::WEEK_OF_MONTH_IN_ENG
10
+
11
+ assert Time::WEEK_OF_MONTH_IN_GER
12
+
13
+ assert Time::WEEK_OF_MONTH_IN_FR
14
+
15
+ assert Time::WEEK_OF_MONTH_IN_JA
16
+
17
+ assert Time::MONTH_WITH_DAY
18
+
19
+ assert Time::MONTH_WITH_SEQUENCE
20
+
21
+ assert Time::DAYS_IN_SEQUENCE
22
+ end
23
+
24
+ def test_constants_value
25
+ assert_equal({ 1 => 'First', 2 => 'Second',
26
+ 3 => 'Third', 4 => 'Fourth',
27
+ 5 => 'Fifth', 6 => 'Sixth',
28
+ 7 => 'Seventh' }, Time::WEEK_OF_MONTH_IN_ENG)
29
+
30
+ assert_equal({ 1 => 'Premier', 2 => 'Deuxième',
31
+ 3 => 'Troisième', 4 => 'Quatrième',
32
+ 5 => 'Cinquième', 6 => 'Sixième',
33
+ 7 => 'Septième' }, Time::WEEK_OF_MONTH_IN_FR)
34
+
35
+ assert_equal({ 1 => 'First', 2 => 'Second',
36
+ 3 => 'Dritten', 4 => 'Vierte',
37
+ 5 => 'Fünfte', 6 => 'Sechste',
38
+ 7 => 'siebte' }, Time::WEEK_OF_MONTH_IN_GER)
39
+
40
+ assert_equal({ 1 => '第一', 2 => '第二',
41
+ 3 => '第三', 4 => '第四',
42
+ 5 => '第五', 6 => '第六',
43
+ 7 => '第七' }, Time::WEEK_OF_MONTH_IN_JA)
44
+
45
+ assert_equal({ january: 1, february: 2, march: 3,
46
+ april: 4, may: 5, june: 6, july: 7,
47
+ august: 8, september: 9, october: 10,
48
+ november: 11, december: 12 }, Time::MONTH_WITH_SEQUENCE)
49
+
50
+ assert_equal({ january: 31, february: 28, march: 31,
51
+ april: 30, may: 31, june: 30, july: 31,
52
+ august: 31, september: 30, october: 31,
53
+ november: 30, december: 31 }, Time::MONTH_WITH_DAY)
54
+
55
+ assert_equal(%w[Sunday Monday Tuesday Wednesday Thursday Friday Saturday],
56
+ Time::DAYS_IN_SEQUENCE)
57
+ end
58
+ end
@@ -0,0 +1,121 @@
1
+ #!/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ require 'test/unit'
5
+
6
+ RUBY_VERSION < '1.9' ? require('lib/week_of_month') : require_relative('../../../week_of_month')
7
+ class TestDayForTime < Test::Unit::TestCase
8
+ def test_days_array
9
+ object = Time.new(2012, 2, 8)
10
+
11
+ days_array_for_february = [nil, nil, nil, 1, 2, 3, 4, 5,
12
+ 6, 7, 8, 9, 10, 11, 12, 13, 14,
13
+ 15, 16, 17, 18, 19, 20, 21, 22,
14
+ 23, 24, 25, 26, 27, 28, 29]
15
+ assert_kind_of Array, object.days_array
16
+ assert_equal days_array_for_february, object.days_array
17
+
18
+ object = Time.new(2012, 7, 1)
19
+ days_array_for_july = [1, 2, 3, 4, 5, 6, 7,
20
+ 8, 9, 10, 11, 12, 13,
21
+ 14, 15, 16, 17, 18, 19,
22
+ 20, 21, 22, 23, 24, 25,
23
+ 26, 27, 28, 29, 30, 31]
24
+ assert_kind_of Array, object.days_array
25
+ assert_equal days_array_for_july, object.days_array
26
+ end
27
+
28
+ def test_days_array_monday
29
+ WeekOfMonth.configuration.monday_active = true
30
+ object = Time.new(2014, 11, 3)
31
+
32
+ days_array_for_november = [nil, nil, nil, nil, nil, 1, 2,
33
+ 3, 4, 5, 6, 7, 8, 9, 10, 11,
34
+ 12, 13, 14, 15, 16, 17, 18,
35
+ 19, 20, 21, 22, 23, 24, 25, 26,
36
+ 27, 28, 29, 30]
37
+ assert_kind_of Array, object.days_array
38
+ assert_equal days_array_for_november, object.days_array
39
+
40
+ object = Time.new(2014, 12, 1)
41
+ days_array_for_december = [1, 2, 3, 4, 5, 6, 7,
42
+ 8, 9, 10, 11, 12, 13,
43
+ 14, 15, 16, 17, 18, 19,
44
+ 20, 21, 22, 23, 24, 25,
45
+ 26, 27, 28, 29, 30, 31]
46
+ assert_kind_of Array, object.days_array
47
+ assert_equal days_array_for_december, object.days_array
48
+ end
49
+
50
+ def test_name_of_week_day
51
+ WeekOfMonth.configuration.monday_active = false
52
+ assert_equal 'Saturday', Time.new(2012, 12, 1).name_of_week_day
53
+ assert_equal 'Sunday', Time.new(2012, 12, 2).name_of_week_day
54
+ assert_equal 'Monday', Time.new(2012, 12, 3).name_of_week_day
55
+ assert_equal 'Tuesday', Time.new(2012, 12, 4).name_of_week_day
56
+ assert_equal 'Wednesday', Time.new(2012, 12, 5).name_of_week_day
57
+ assert_equal 'Thursday', Time.new(2012, 12, 6).name_of_week_day
58
+ assert_equal 'Friday', Time.new(2012, 12, 7).name_of_week_day
59
+ end
60
+
61
+ def test_upcoming_sunday
62
+ assert_equal Time.new(2013, 1, 6), Time.new(2013, 1, 1).upcoming_sunday
63
+ assert_equal Time.new(2013, 1, 6), Time.new(2013, 1, 5).upcoming_sunday
64
+ assert_equal Time.new(2013, 1, 13), Time.new(2013, 1, 7).upcoming_sunday
65
+ assert_equal Time.new(2013, 1, 6), Time.new(2012, 12, 30).upcoming_sunday
66
+ end
67
+
68
+ def test_upcoming_monday
69
+ assert_equal Time.new(2013, 1, 7), Time.new(2013, 1, 1).upcoming_monday
70
+ end
71
+
72
+ def test_upcoming_tuesday
73
+ assert_equal Time.new(2013, 1, 8), Time.new(2013, 1, 1).upcoming_tuesday
74
+ end
75
+
76
+ def test_upcoming_wednesday
77
+ assert_equal Time.new(2013, 1, 2), Time.new(2013, 1, 1).upcoming_wednesday
78
+ end
79
+
80
+ def test_upcoming_thursday
81
+ assert_equal Time.new(2013, 1, 3), Time.new(2013, 1, 1).upcoming_thursday
82
+ end
83
+
84
+ def test_upcoming_friday
85
+ assert_equal Time.new(2013, 1, 4), Time.new(2013, 1, 1).upcoming_friday
86
+ end
87
+
88
+ def test_upcoming_saturday
89
+ assert_equal Time.new(2013, 1, 5), Time.new(2013, 1, 1).upcoming_saturday
90
+ end
91
+
92
+ def test_previous_saturday
93
+ assert_equal Time.new(2012, 12, 29), Time.new(2013, 1, 1).previous_saturday
94
+ end
95
+
96
+ def test_previous_friday
97
+ assert_equal Time.new(2012, 12, 28), Time.new(2013, 1, 1).previous_friday
98
+ end
99
+
100
+ def test_previous_thursday
101
+ assert_equal Time.new(2012, 12, 27), Time.new(2013, 1, 1).previous_thursday
102
+ end
103
+
104
+ def test_previous_wednesday
105
+ assert_equal Time.new(2012, 12, 26), Time.new(2013, 1, 1).previous_wednesday
106
+ end
107
+
108
+ def test_previous_tuesday
109
+ assert_equal Time.new(2012, 12, 25), Time.new(2013, 1, 1).previous_tuesday
110
+ end
111
+
112
+ def test_previous_monday
113
+ assert_equal Time.new(2012, 12, 31), Time.new(2013, 1, 1).previous_monday
114
+ end
115
+
116
+ def test_previous_sunday
117
+ assert_equal Time.new(2012, 12, 30), Time.new(2013, 1, 1).previous_sunday
118
+ assert_equal Time.new(2012, 12, 30), Time.new(2013, 1, 1).previous_sunday
119
+ end
120
+
121
+ end
@@ -0,0 +1,166 @@
1
+ #!/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ require 'test/unit'
5
+
6
+ if RUBY_VERSION < '1.9'
7
+ require('lib/week_of_month')
8
+ else
9
+ require_relative('../../../week_of_month')
10
+ end
11
+
12
+ class TestMonthForTime < Test::Unit::TestCase
13
+ def test_month?
14
+ assert Time.new(2012, 1, 1).january?
15
+
16
+ assert Time.new(2012, 2, 1).february?
17
+
18
+ assert Time.new(2012, 3, 1).march?
19
+
20
+ assert Time.new(2012, 4, 1).april?
21
+
22
+ assert Time.new(2012, 5, 1).may?
23
+
24
+ assert Time.new(2012, 6, 1).june?
25
+
26
+ assert Time.new(2012, 7, 1).july?
27
+
28
+ assert Time.new(2012, 8, 1).august?
29
+
30
+ assert Time.new(2012, 9, 1).september?
31
+
32
+ assert Time.new(2012, 10, 1).october?
33
+
34
+ assert Time.new(2012, 11, 1).november?
35
+
36
+ assert Time.new(2012, 12, 1).december?
37
+ end
38
+
39
+ def test_last_day_of_month
40
+ assert_equal 31, Time.new(2012, 1, 31).last_day_of_month
41
+
42
+ assert_equal 29, Time.new(2012, 2, 29).last_day_of_month
43
+
44
+ assert_equal 31, Time.new(2012, 3, 31).last_day_of_month
45
+
46
+ assert_equal 30, Time.new(2012, 4, 30).last_day_of_month
47
+
48
+ assert_equal 31, Time.new(2012, 5, 31).last_day_of_month
49
+
50
+ assert_equal 30, Time.new(2012, 6, 30).last_day_of_month
51
+
52
+ assert_equal 31, Time.new(2012, 7, 31).last_day_of_month
53
+
54
+ assert_equal 31, Time.new(2012, 8, 31).last_day_of_month
55
+
56
+ assert_equal 30, Time.new(2012, 9, 30).last_day_of_month
57
+
58
+ assert_equal 31, Time.new(2012, 10, 31).last_day_of_month
59
+
60
+ assert_equal 30, Time.new(2012, 11, 30).last_day_of_month
61
+
62
+ assert_equal 31, Time.new(2012, 12, 31).last_day_of_month
63
+ end
64
+
65
+ def test_end_of_month
66
+ assert_equal Time.new(2012, 1, 31), Time.new(2012, 1, 1).end_of_month
67
+
68
+ assert_equal Time.new(2012, 2, 29), Time.new(2012, 2, 2).end_of_month
69
+
70
+ assert_equal Time.new(2012, 3, 31), Time.new(2012, 3, 1).end_of_month
71
+
72
+ assert_equal Time.new(2012, 4, 30), Time.new(2012, 4, 3).end_of_month
73
+
74
+ assert_equal Time.new(2012, 5, 31), Time.new(2012, 5, 1).end_of_month
75
+
76
+ assert_equal Time.new(2012, 6, 30), Time.new(2012, 6, 30).end_of_month
77
+
78
+ assert_equal Time.new(2012, 7, 31), Time.new(2012, 7, 1).end_of_month
79
+
80
+ assert_equal Time.new(2012, 8, 31), Time.new(2012, 8, 5).end_of_month
81
+
82
+ assert_equal Time.new(2012, 9, 30), Time.new(2012, 9, 2).end_of_month
83
+
84
+ assert_equal Time.new(2012, 10, 31), Time.new(2012, 10, 22).end_of_month
85
+
86
+ assert_equal Time.new(2012, 11, 30), Time.new(2012, 11, 10).end_of_month
87
+
88
+ assert_equal Time.new(2012, 12, 31), Time.new(2012, 12, 15).end_of_month
89
+ end
90
+
91
+ def test_beginning_of_month
92
+ assert_equal Time.new(2012, 1, 1), Time.new(2012, 1, 31).beginning_of_month
93
+
94
+ assert_equal Time.new(2012, 2, 1), Time.new(2012, 2, 29).beginning_of_month
95
+
96
+ assert_equal Time.new(2012, 3, 1), Time.new(2012, 3, 31).beginning_of_month
97
+
98
+ assert_equal Time.new(2012, 4, 1), Time.new(2012, 4, 30).beginning_of_month
99
+
100
+ assert_equal Time.new(2012, 5, 1), Time.new(2012, 5, 31).beginning_of_month
101
+
102
+ assert_equal Time.new(2012, 6, 1), Time.new(2012, 6, 30).beginning_of_month
103
+
104
+ assert_equal Time.new(2012, 7, 1), Time.new(2012, 7, 31).beginning_of_month
105
+
106
+ assert_equal Time.new(2012, 8, 1), Time.new(2012, 8, 31).beginning_of_month
107
+
108
+ assert_equal Time.new(2012, 9, 1), Time.new(2012, 9, 30).beginning_of_month
109
+
110
+ assert_equal Time.new(2012, 10, 1), Time.new(2012, 10, 31).beginning_of_month
111
+
112
+ assert_equal Time.new(2012, 11, 1), Time.new(2012, 11, 30).beginning_of_month
113
+
114
+ assert_equal Time.new(2012, 12, 1), Time.new(2012, 12, 31).beginning_of_month
115
+ end
116
+
117
+ def test_all_sundays_in_month
118
+ assert_equal [6, 13, 20, 27], Time.new(2013, 1, 1).all_sundays_in_month
119
+ assert_equal [3, 10, 17, 24], Time.new(2013, 2, 1).all_sundays_in_month
120
+ end
121
+
122
+ def test_all_mondays_in_month
123
+ assert_equal [7, 14, 21, 28], Time.new(2013, 1, 1).all_mondays_in_month
124
+ assert_equal [4, 11, 18, 25], Time.new(2013, 2, 1).all_mondays_in_month
125
+ end
126
+
127
+ def test_all_tuesdays_in_month
128
+ assert_equal [1, 8, 15, 22, 29], Time.new(2013, 1, 1).all_tuesdays_in_month
129
+ assert_equal [5, 12, 19, 26], Time.new(2013, 2, 1).all_tuesdays_in_month
130
+ end
131
+
132
+ def test_all_wednesdays_in_month
133
+ assert_equal [2, 9, 16, 23, 30], Time.new(2013, 1, 1).all_wednesdays_in_month
134
+ assert_equal [6, 13, 20, 27], Time.new(2013, 2, 1).all_wednesdays_in_month
135
+ end
136
+
137
+ def test_all_thursdays_in_month
138
+ assert_equal [3, 10, 17, 24, 31], Time.new(2013, 1, 1).all_thursdays_in_month
139
+ assert_equal [7, 14, 21, 28], Time.new(2013, 2, 1).all_thursdays_in_month
140
+ end
141
+
142
+ def test_all_fridays_in_month
143
+ assert_equal [4, 11, 18, 25], Time.new(2013, 1, 1).all_fridays_in_month
144
+ assert_equal [1, 8, 15, 22], Time.new(2013, 2, 1).all_fridays_in_month
145
+ end
146
+
147
+ def test_all_saturdays_in_month
148
+ assert_equal [5, 12, 19, 26], Time.new(2013, 1, 1).all_saturdays_in_month
149
+ assert_equal [2, 9, 16, 23], Time.new(2013, 2, 1).all_saturdays_in_month
150
+ end
151
+
152
+ def test_name_of_month
153
+ assert_equal 'January', Time.new(2012, 1, 1).name_of_month
154
+ assert_equal 'February', Time.new(2012, 2, 1).name_of_month
155
+ assert_equal 'March', Time.new(2012, 3, 1).name_of_month
156
+ assert_equal 'April', Time.new(2012, 4, 1).name_of_month
157
+ assert_equal 'May', Time.new(2012, 5, 1).name_of_month
158
+ assert_equal 'June', Time.new(2012, 6, 1).name_of_month
159
+ assert_equal 'July', Time.new(2012, 7, 1).name_of_month
160
+ assert_equal 'August', Time.new(2012, 8, 1).name_of_month
161
+ assert_equal 'September', Time.new(2012, 9, 1).name_of_month
162
+ assert_equal 'October', Time.new(2012, 10, 1).name_of_month
163
+ assert_equal 'November', Time.new(2012, 11, 1).name_of_month
164
+ assert_equal 'December', Time.new(2012, 12, 1).name_of_month
165
+ end
166
+ end