month.rb 0.11.0 → 0.11.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.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +74 -0
  3. data/Gemfile +2 -0
  4. data/LICENSE +21 -0
  5. data/README.md +145 -0
  6. data/TODO.txt +26 -0
  7. data/lib/Month/VERSION.rb +1 -1
  8. data/month.rb.gemspec +44 -0
  9. data/test/tc_Date_to_month.rb +21 -0
  10. data/test/tc_Month_begin_date.rb +21 -0
  11. data/test/tc_Month_beginning.rb +21 -0
  12. data/test/tc_Month_beginning_of_month.rb +21 -0
  13. data/test/tc_Month_beginning_of_the_month.rb +21 -0
  14. data/test/tc_Month_cdate.rb +34 -0
  15. data/test/tc_Month_cdates.rb +111 -0
  16. data/test/tc_Month_comparator.rb +17 -0
  17. data/test/tc_Month_date.rb +34 -0
  18. data/test/tc_Month_dates.rb +111 -0
  19. data/test/tc_Month_day.rb +226 -0
  20. data/test/tc_Month_day_long.rb +152 -0
  21. data/test/tc_Month_day_short.rb +152 -0
  22. data/test/tc_Month_day_shortest.rb +152 -0
  23. data/test/tc_Month_days.rb +21 -0
  24. data/test/tc_Month_days_in_month.rb +21 -0
  25. data/test/tc_Month_days_in_the_month.rb +21 -0
  26. data/test/tc_Month_each_day.rb +21 -0
  27. data/test/tc_Month_end.rb +21 -0
  28. data/test/tc_Month_end_date.rb +21 -0
  29. data/test/tc_Month_end_of_month.rb +21 -0
  30. data/test/tc_Month_end_of_the_month.rb +21 -0
  31. data/test/tc_Month_eqlQ.rb +13 -0
  32. data/test/tc_Month_finish.rb +21 -0
  33. data/test/tc_Month_finish_date.rb +21 -0
  34. data/test/tc_Month_finish_of_month.rb +21 -0
  35. data/test/tc_Month_finish_of_the_month.rb +21 -0
  36. data/test/tc_Month_initialize.rb +28 -0
  37. data/test/tc_Month_last.rb +11 -0
  38. data/test/tc_Month_last_month.rb +11 -0
  39. data/test/tc_Month_method_missing.rb +116 -0
  40. data/test/tc_Month_minus.rb +23 -0
  41. data/test/tc_Month_next.rb +12 -0
  42. data/test/tc_Month_next_month.rb +12 -0
  43. data/test/tc_Month_plus.rb +23 -0
  44. data/test/tc_Month_prev.rb +11 -0
  45. data/test/tc_Month_prev_month.rb +11 -0
  46. data/test/tc_Month_previous.rb +11 -0
  47. data/test/tc_Month_previous_month.rb +11 -0
  48. data/test/tc_Month_prior.rb +11 -0
  49. data/test/tc_Month_prior_month.rb +11 -0
  50. data/test/tc_Month_self.begin_date.rb +46 -0
  51. data/test/tc_Month_self.beginning.rb +46 -0
  52. data/test/tc_Month_self.beginning_of_month.rb +46 -0
  53. data/test/tc_Month_self.beginning_of_the_month.rb +46 -0
  54. data/test/tc_Month_self.cdate.rb +33 -0
  55. data/test/tc_Month_self.cdates.rb +325 -0
  56. data/test/tc_Month_self.date.rb +33 -0
  57. data/test/tc_Month_self.dates.rb +325 -0
  58. data/test/tc_Month_self.day.rb +226 -0
  59. data/test/tc_Month_self.day_long.rb +152 -0
  60. data/test/tc_Month_self.day_short.rb +152 -0
  61. data/test/tc_Month_self.day_shortest.rb +152 -0
  62. data/test/tc_Month_self.days.rb +124 -0
  63. data/test/tc_Month_self.days_in_month.rb +124 -0
  64. data/test/tc_Month_self.days_in_the_month.rb +124 -0
  65. data/test/tc_Month_self.end.rb +21 -0
  66. data/test/tc_Month_self.end_date.rb +21 -0
  67. data/test/tc_Month_self.end_of_month.rb +21 -0
  68. data/test/tc_Month_self.end_of_the_month.rb +21 -0
  69. data/test/tc_Month_self.finish.rb +21 -0
  70. data/test/tc_Month_self.finish_date.rb +21 -0
  71. data/test/tc_Month_self.finish_of_month.rb +21 -0
  72. data/test/tc_Month_self.finish_of_the_month.rb +21 -0
  73. data/test/tc_Month_self.from_date.rb +21 -0
  74. data/test/tc_Month_self.last.rb +47 -0
  75. data/test/tc_Month_self.last_month.rb +47 -0
  76. data/test/tc_Month_self.method_missing.rb +227 -0
  77. data/test/tc_Month_self.next.rb +23 -0
  78. data/test/tc_Month_self.next_month.rb +23 -0
  79. data/test/tc_Month_self.now.rb +9 -0
  80. data/test/tc_Month_self.of.rb +78 -0
  81. data/test/tc_Month_self.prev.rb +23 -0
  82. data/test/tc_Month_self.prev_month.rb +23 -0
  83. data/test/tc_Month_self.previous.rb +23 -0
  84. data/test/tc_Month_self.previous_month.rb +23 -0
  85. data/test/tc_Month_self.prior.rb +23 -0
  86. data/test/tc_Month_self.prior_month.rb +23 -0
  87. data/test/tc_Month_self.start.rb +21 -0
  88. data/test/tc_Month_self.start_date.rb +21 -0
  89. data/test/tc_Month_self.start_of_month.rb +21 -0
  90. data/test/tc_Month_self.start_of_the_month.rb +21 -0
  91. data/test/tc_Month_self.succ.rb +23 -0
  92. data/test/tc_Month_self.succ_month.rb +23 -0
  93. data/test/tc_Month_self.successor.rb +23 -0
  94. data/test/tc_Month_self.successor_month.rb +23 -0
  95. data/test/tc_Month_self.this.rb +23 -0
  96. data/test/tc_Month_self.to_i.rb +100 -0
  97. data/test/tc_Month_self.to_long.rb +100 -0
  98. data/test/tc_Month_self.to_num.rb +100 -0
  99. data/test/tc_Month_self.to_number.rb +100 -0
  100. data/test/tc_Month_self.to_short.rb +100 -0
  101. data/test/tc_Month_self.today.rb +9 -0
  102. data/test/tc_Month_self.wday.rb +292 -0
  103. data/test/tc_Month_start.rb +21 -0
  104. data/test/tc_Month_start_date.rb +21 -0
  105. data/test/tc_Month_start_of_month.rb +21 -0
  106. data/test/tc_Month_start_of_the_month.rb +21 -0
  107. data/test/tc_Month_succ.rb +11 -0
  108. data/test/tc_Month_succ_month.rb +11 -0
  109. data/test/tc_Month_successor.rb +11 -0
  110. data/test/tc_Month_successor_month.rb +11 -0
  111. data/test/tc_Month_to_date.rb +17 -0
  112. data/test/tc_Month_to_i.rb +20 -0
  113. data/test/tc_Month_to_long.rb +20 -0
  114. data/test/tc_Month_to_num.rb +20 -0
  115. data/test/tc_Month_to_number.rb +20 -0
  116. data/test/tc_Month_to_s.rb +40 -0
  117. data/test/tc_Month_to_short.rb +20 -0
  118. data/test/tc_gemspec.rb +42 -0
  119. data/test/ts_Month.rb +14 -0
  120. metadata +126 -5
@@ -0,0 +1,124 @@
1
+ # test/tc_Month_self.days_in_month.rb
2
+
3
+ class TC_Month_self_days_in_month < Minitest::Test
4
+
5
+ def test_long_capitalized
6
+ assert_equal 31, Month.days_in_month('January')
7
+ if Date.today.year == 2006
8
+ assert_equal 28, Month.days_in_month('February')
9
+ end
10
+ assert_equal 28, Month.days_in_month(2007, 'February')
11
+ assert_equal 29, Month.days_in_month(2008, 'February')
12
+ assert_equal 31, Month.days_in_month('March')
13
+ assert_equal 30, Month.days_in_month('April')
14
+ assert_equal 31, Month.days_in_month('May')
15
+ assert_equal 30, Month.days_in_month('June')
16
+ assert_equal 31, Month.days_in_month('July')
17
+ assert_equal 31, Month.days_in_month('August')
18
+ assert_equal 30, Month.days_in_month('September')
19
+ assert_equal 31, Month.days_in_month('October')
20
+ assert_equal 30, Month.days_in_month('November')
21
+ assert_equal 31, Month.days_in_month('December')
22
+ end
23
+
24
+ def test_long_downcase
25
+ assert_equal 31, Month.days_in_month('january')
26
+ if Date.today.year == 2006
27
+ assert_equal 28, Month.days_in_month('february')
28
+ end
29
+ assert_equal 28, Month.days_in_month(2007, 'february')
30
+ assert_equal 29, Month.days_in_month(2008, 'february')
31
+ assert_equal 31, Month.days_in_month('march')
32
+ assert_equal 30, Month.days_in_month('april')
33
+ assert_equal 31, Month.days_in_month('may')
34
+ assert_equal 30, Month.days_in_month('june')
35
+ assert_equal 31, Month.days_in_month('july')
36
+ assert_equal 31, Month.days_in_month('august')
37
+ assert_equal 30, Month.days_in_month('september')
38
+ assert_equal 31, Month.days_in_month('october')
39
+ assert_equal 30, Month.days_in_month('november')
40
+ assert_equal 31, Month.days_in_month('december')
41
+ end
42
+
43
+ def test_short_capitalized
44
+ assert_equal 31, Month.days_in_month('Jan')
45
+ if Date.today.year == 2006
46
+ assert_equal 28, Month.days_in_month('Feb')
47
+ end
48
+ assert_equal 28, Month.days_in_month(2007, 'Feb')
49
+ assert_equal 29, Month.days_in_month(2008, 'Feb')
50
+ assert_equal 31, Month.days_in_month('Mar')
51
+ assert_equal 30, Month.days_in_month('Apr')
52
+ assert_equal 31, Month.days_in_month('May')
53
+ assert_equal 30, Month.days_in_month('Jun')
54
+ assert_equal 31, Month.days_in_month('Jul')
55
+ assert_equal 31, Month.days_in_month('Aug')
56
+ assert_equal 30, Month.days_in_month('Sep')
57
+ assert_equal 31, Month.days_in_month('Oct')
58
+ assert_equal 30, Month.days_in_month('Nov')
59
+ assert_equal 31, Month.days_in_month('Dec')
60
+ end
61
+
62
+ def test_short_downcase
63
+ assert_equal 31, Month.days_in_month('jan')
64
+ if Date.today.year == 2006
65
+ assert_equal 28, Month.days_in_month('feb')
66
+ end
67
+ assert_equal 28, Month.days_in_month(2007, 'feb')
68
+ assert_equal 29, Month.days_in_month(2008, 'feb')
69
+ assert_equal 31, Month.days_in_month('mar')
70
+ assert_equal 30, Month.days_in_month('apr')
71
+ assert_equal 31, Month.days_in_month('may')
72
+ assert_equal 30, Month.days_in_month('jun')
73
+ assert_equal 31, Month.days_in_month('jul')
74
+ assert_equal 31, Month.days_in_month('aug')
75
+ assert_equal 30, Month.days_in_month('sep')
76
+ assert_equal 31, Month.days_in_month('oct')
77
+ assert_equal 30, Month.days_in_month('nov')
78
+ assert_equal 31, Month.days_in_month('dec')
79
+ end
80
+
81
+ def test_num_as_num
82
+ assert_equal 31, Month.days_in_month(1)
83
+ if Date.today.year == 2006
84
+ assert_equal 28, Month.days_in_month(2)
85
+ end
86
+ assert_equal 28, Month.days_in_month(2007, 2)
87
+ assert_equal 29, Month.days_in_month(2008, 2)
88
+ assert_equal 31, Month.days_in_month(3)
89
+ assert_equal 30, Month.days_in_month(4)
90
+ assert_equal 31, Month.days_in_month(5)
91
+ assert_equal 30, Month.days_in_month(6)
92
+ assert_equal 31, Month.days_in_month(7)
93
+ assert_equal 31, Month.days_in_month(8)
94
+ assert_equal 30, Month.days_in_month(9)
95
+ assert_equal 31, Month.days_in_month(10)
96
+ assert_equal 30, Month.days_in_month(11)
97
+ assert_equal 31, Month.days_in_month(12)
98
+ end
99
+
100
+ def test_num_as_string
101
+ assert_equal 31, Month.days_in_month('1')
102
+ if Date.today.year == 2006
103
+ assert_equal 28, Month.days_in_month('2')
104
+ end
105
+ assert_equal 28, Month.days_in_month(2007, '2')
106
+ assert_equal 29, Month.days_in_month(2008, '2')
107
+ assert_equal 31, Month.days_in_month('3')
108
+ assert_equal 30, Month.days_in_month('4')
109
+ assert_equal 31, Month.days_in_month('5')
110
+ assert_equal 30, Month.days_in_month('6')
111
+ assert_equal 31, Month.days_in_month('7')
112
+ assert_equal 31, Month.days_in_month('8')
113
+ assert_equal 30, Month.days_in_month('9')
114
+ assert_equal 31, Month.days_in_month('10')
115
+ assert_equal 30, Month.days_in_month('11')
116
+ assert_equal 31, Month.days_in_month('12')
117
+ end
118
+
119
+ def test_crap
120
+ assert_nil Month.days_in_month('random')
121
+ assert_nil Month.days_in_month(13)
122
+ end
123
+
124
+ end
@@ -0,0 +1,124 @@
1
+ # test/tc_Month_self.days_in_the_month.rb
2
+
3
+ class TC_Month_self_days_in_the_month < Minitest::Test
4
+
5
+ def test_long_capitalized
6
+ assert_equal 31, Month.days_in_the_month('January')
7
+ if Date.today.year == 2006
8
+ assert_equal 28, Month.days_in_the_month('February')
9
+ end
10
+ assert_equal 28, Month.days_in_the_month(2007, 'February')
11
+ assert_equal 29, Month.days_in_the_month(2008, 'February')
12
+ assert_equal 31, Month.days_in_the_month('March')
13
+ assert_equal 30, Month.days_in_the_month('April')
14
+ assert_equal 31, Month.days_in_the_month('May')
15
+ assert_equal 30, Month.days_in_the_month('June')
16
+ assert_equal 31, Month.days_in_the_month('July')
17
+ assert_equal 31, Month.days_in_the_month('August')
18
+ assert_equal 30, Month.days_in_the_month('September')
19
+ assert_equal 31, Month.days_in_the_month('October')
20
+ assert_equal 30, Month.days_in_the_month('November')
21
+ assert_equal 31, Month.days_in_the_month('December')
22
+ end
23
+
24
+ def test_long_downcase
25
+ assert_equal 31, Month.days_in_the_month('january')
26
+ if Date.today.year == 2006
27
+ assert_equal 28, Month.days_in_the_month('february')
28
+ end
29
+ assert_equal 28, Month.days_in_the_month(2007, 'february')
30
+ assert_equal 29, Month.days_in_the_month(2008, 'february')
31
+ assert_equal 31, Month.days_in_the_month('march')
32
+ assert_equal 30, Month.days_in_the_month('april')
33
+ assert_equal 31, Month.days_in_the_month('may')
34
+ assert_equal 30, Month.days_in_the_month('june')
35
+ assert_equal 31, Month.days_in_the_month('july')
36
+ assert_equal 31, Month.days_in_the_month('august')
37
+ assert_equal 30, Month.days_in_the_month('september')
38
+ assert_equal 31, Month.days_in_the_month('october')
39
+ assert_equal 30, Month.days_in_the_month('november')
40
+ assert_equal 31, Month.days_in_the_month('december')
41
+ end
42
+
43
+ def test_short_capitalized
44
+ assert_equal 31, Month.days_in_the_month('Jan')
45
+ if Date.today.year == 2006
46
+ assert_equal 28, Month.days_in_the_month('Feb')
47
+ end
48
+ assert_equal 28, Month.days_in_the_month(2007, 'Feb')
49
+ assert_equal 29, Month.days_in_the_month(2008, 'Feb')
50
+ assert_equal 31, Month.days_in_the_month('Mar')
51
+ assert_equal 30, Month.days_in_the_month('Apr')
52
+ assert_equal 31, Month.days_in_the_month('May')
53
+ assert_equal 30, Month.days_in_the_month('Jun')
54
+ assert_equal 31, Month.days_in_the_month('Jul')
55
+ assert_equal 31, Month.days_in_the_month('Aug')
56
+ assert_equal 30, Month.days_in_the_month('Sep')
57
+ assert_equal 31, Month.days_in_the_month('Oct')
58
+ assert_equal 30, Month.days_in_the_month('Nov')
59
+ assert_equal 31, Month.days_in_the_month('Dec')
60
+ end
61
+
62
+ def test_short_downcase
63
+ assert_equal 31, Month.days_in_the_month('jan')
64
+ if Date.today.year == 2006
65
+ assert_equal 28, Month.days_in_the_month('feb')
66
+ end
67
+ assert_equal 28, Month.days_in_the_month(2007, 'feb')
68
+ assert_equal 29, Month.days_in_the_month(2008, 'feb')
69
+ assert_equal 31, Month.days_in_the_month('mar')
70
+ assert_equal 30, Month.days_in_the_month('apr')
71
+ assert_equal 31, Month.days_in_the_month('may')
72
+ assert_equal 30, Month.days_in_the_month('jun')
73
+ assert_equal 31, Month.days_in_the_month('jul')
74
+ assert_equal 31, Month.days_in_the_month('aug')
75
+ assert_equal 30, Month.days_in_the_month('sep')
76
+ assert_equal 31, Month.days_in_the_month('oct')
77
+ assert_equal 30, Month.days_in_the_month('nov')
78
+ assert_equal 31, Month.days_in_the_month('dec')
79
+ end
80
+
81
+ def test_num_as_num
82
+ assert_equal 31, Month.days_in_the_month(1)
83
+ if Date.today.year == 2006
84
+ assert_equal 28, Month.days_in_the_month(2)
85
+ end
86
+ assert_equal 28, Month.days_in_the_month(2007, 2)
87
+ assert_equal 29, Month.days_in_the_month(2008, 2)
88
+ assert_equal 31, Month.days_in_the_month(3)
89
+ assert_equal 30, Month.days_in_the_month(4)
90
+ assert_equal 31, Month.days_in_the_month(5)
91
+ assert_equal 30, Month.days_in_the_month(6)
92
+ assert_equal 31, Month.days_in_the_month(7)
93
+ assert_equal 31, Month.days_in_the_month(8)
94
+ assert_equal 30, Month.days_in_the_month(9)
95
+ assert_equal 31, Month.days_in_the_month(10)
96
+ assert_equal 30, Month.days_in_the_month(11)
97
+ assert_equal 31, Month.days_in_the_month(12)
98
+ end
99
+
100
+ def test_num_as_string
101
+ assert_equal 31, Month.days_in_the_month('1')
102
+ if Date.today.year == 2006
103
+ assert_equal 28, Month.days_in_the_month('2')
104
+ end
105
+ assert_equal 28, Month.days_in_the_month(2007, '2')
106
+ assert_equal 29, Month.days_in_the_month(2008, '2')
107
+ assert_equal 31, Month.days_in_the_month('3')
108
+ assert_equal 30, Month.days_in_the_month('4')
109
+ assert_equal 31, Month.days_in_the_month('5')
110
+ assert_equal 30, Month.days_in_the_month('6')
111
+ assert_equal 31, Month.days_in_the_month('7')
112
+ assert_equal 31, Month.days_in_the_month('8')
113
+ assert_equal 30, Month.days_in_the_month('9')
114
+ assert_equal 31, Month.days_in_the_month('10')
115
+ assert_equal 30, Month.days_in_the_month('11')
116
+ assert_equal 31, Month.days_in_the_month('12')
117
+ end
118
+
119
+ def test_crap
120
+ assert_nil Month.days_in_the_month('random')
121
+ assert_nil Month.days_in_the_month(13)
122
+ end
123
+
124
+ end
@@ -0,0 +1,21 @@
1
+ # test/tc_Month_self.end.rb
2
+
3
+ class TC_Month_self_end < Minitest::Test
4
+
5
+ def test_self_end
6
+ assert_equal Date.new(2006, 1, 31), Month.end(2006, 1)
7
+ assert_equal Date.new(2006, 2, 28), Month.end(2006, 2)
8
+ assert_equal Date.new(2008, 2, 29), Month.end(2008, 2)
9
+ assert_equal Date.new(2006, 3, 31), Month.end(2006, 3)
10
+ assert_equal Date.new(2006, 4, 30), Month.end(2006, 4)
11
+ assert_equal Date.new(2006, 5, 31), Month.end(2006, 5)
12
+ assert_equal Date.new(2006, 6, 30), Month.end(2006, 6)
13
+ assert_equal Date.new(2006, 7, 31), Month.end(2006, 7)
14
+ assert_equal Date.new(2006, 8, 31), Month.end(2006, 8)
15
+ assert_equal Date.new(2006, 9, 30), Month.end(2006, 9)
16
+ assert_equal Date.new(2006, 10, 31), Month.end(2006, 10)
17
+ assert_equal Date.new(2006, 11, 30), Month.end(2006, 11)
18
+ assert_equal Date.new(2006, 12, 31), Month.end(2006, 12)
19
+ end
20
+
21
+ end
@@ -0,0 +1,21 @@
1
+ # test/tc_Month_self.end_date.rb
2
+
3
+ class TC_Month_self_end_date < Minitest::Test
4
+
5
+ def test_self_end_date
6
+ assert_equal Date.new(2006, 1, 31), Month.end_date(2006, 1)
7
+ assert_equal Date.new(2006, 2, 28), Month.end_date(2006, 2)
8
+ assert_equal Date.new(2008, 2, 29), Month.end_date(2008, 2)
9
+ assert_equal Date.new(2006, 3, 31), Month.end_date(2006, 3)
10
+ assert_equal Date.new(2006, 4, 30), Month.end_date(2006, 4)
11
+ assert_equal Date.new(2006, 5, 31), Month.end_date(2006, 5)
12
+ assert_equal Date.new(2006, 6, 30), Month.end_date(2006, 6)
13
+ assert_equal Date.new(2006, 7, 31), Month.end_date(2006, 7)
14
+ assert_equal Date.new(2006, 8, 31), Month.end_date(2006, 8)
15
+ assert_equal Date.new(2006, 9, 30), Month.end_date(2006, 9)
16
+ assert_equal Date.new(2006, 10, 31), Month.end_date(2006, 10)
17
+ assert_equal Date.new(2006, 11, 30), Month.end_date(2006, 11)
18
+ assert_equal Date.new(2006, 12, 31), Month.end_date(2006, 12)
19
+ end
20
+
21
+ end
@@ -0,0 +1,21 @@
1
+ # test/tc_Month_self.end_of_month.rb
2
+
3
+ class TC_Month_self_end_of_month < Minitest::Test
4
+
5
+ def test_self_end_of_month
6
+ assert_equal Date.new(2006, 1, 31), Month.end_of_month(2006, 1)
7
+ assert_equal Date.new(2006, 2, 28), Month.end_of_month(2006, 2)
8
+ assert_equal Date.new(2008, 2, 29), Month.end_of_month(2008, 2)
9
+ assert_equal Date.new(2006, 3, 31), Month.end_of_month(2006, 3)
10
+ assert_equal Date.new(2006, 4, 30), Month.end_of_month(2006, 4)
11
+ assert_equal Date.new(2006, 5, 31), Month.end_of_month(2006, 5)
12
+ assert_equal Date.new(2006, 6, 30), Month.end_of_month(2006, 6)
13
+ assert_equal Date.new(2006, 7, 31), Month.end_of_month(2006, 7)
14
+ assert_equal Date.new(2006, 8, 31), Month.end_of_month(2006, 8)
15
+ assert_equal Date.new(2006, 9, 30), Month.end_of_month(2006, 9)
16
+ assert_equal Date.new(2006, 10, 31), Month.end_of_month(2006, 10)
17
+ assert_equal Date.new(2006, 11, 30), Month.end_of_month(2006, 11)
18
+ assert_equal Date.new(2006, 12, 31), Month.end_of_month(2006, 12)
19
+ end
20
+
21
+ end
@@ -0,0 +1,21 @@
1
+ # test/tc_Month_self.end_of_the_month.rb
2
+
3
+ class TC_Month_self_end_of_the_month < Minitest::Test
4
+
5
+ def test_self_end_of_the_month
6
+ assert_equal Date.new(2006, 1, 31), Month.end_of_the_month(2006, 1)
7
+ assert_equal Date.new(2006, 2, 28), Month.end_of_the_month(2006, 2)
8
+ assert_equal Date.new(2008, 2, 29), Month.end_of_the_month(2008, 2)
9
+ assert_equal Date.new(2006, 3, 31), Month.end_of_the_month(2006, 3)
10
+ assert_equal Date.new(2006, 4, 30), Month.end_of_the_month(2006, 4)
11
+ assert_equal Date.new(2006, 5, 31), Month.end_of_the_month(2006, 5)
12
+ assert_equal Date.new(2006, 6, 30), Month.end_of_the_month(2006, 6)
13
+ assert_equal Date.new(2006, 7, 31), Month.end_of_the_month(2006, 7)
14
+ assert_equal Date.new(2006, 8, 31), Month.end_of_the_month(2006, 8)
15
+ assert_equal Date.new(2006, 9, 30), Month.end_of_the_month(2006, 9)
16
+ assert_equal Date.new(2006, 10, 31), Month.end_of_the_month(2006, 10)
17
+ assert_equal Date.new(2006, 11, 30), Month.end_of_the_month(2006, 11)
18
+ assert_equal Date.new(2006, 12, 31), Month.end_of_the_month(2006, 12)
19
+ end
20
+
21
+ end
@@ -0,0 +1,21 @@
1
+ # test/tc_Month_self.finish.rb
2
+
3
+ class TC_Month_self_finish < Minitest::Test
4
+
5
+ def test_self_finish
6
+ assert_equal Date.new(2006, 1, 31), Month.finish(2006, 1)
7
+ assert_equal Date.new(2006, 2, 28), Month.finish(2006, 2)
8
+ assert_equal Date.new(2008, 2, 29), Month.finish(2008, 2)
9
+ assert_equal Date.new(2006, 3, 31), Month.finish(2006, 3)
10
+ assert_equal Date.new(2006, 4, 30), Month.finish(2006, 4)
11
+ assert_equal Date.new(2006, 5, 31), Month.finish(2006, 5)
12
+ assert_equal Date.new(2006, 6, 30), Month.finish(2006, 6)
13
+ assert_equal Date.new(2006, 7, 31), Month.finish(2006, 7)
14
+ assert_equal Date.new(2006, 8, 31), Month.finish(2006, 8)
15
+ assert_equal Date.new(2006, 9, 30), Month.finish(2006, 9)
16
+ assert_equal Date.new(2006, 10, 31), Month.finish(2006, 10)
17
+ assert_equal Date.new(2006, 11, 30), Month.finish(2006, 11)
18
+ assert_equal Date.new(2006, 12, 31), Month.finish(2006, 12)
19
+ end
20
+
21
+ end
@@ -0,0 +1,21 @@
1
+ # test/tc_Month_self.finish_date.rb
2
+
3
+ class TC_Month_self_finish_date < Minitest::Test
4
+
5
+ def test_self_finish_date
6
+ assert_equal Date.new(2006, 1, 31), Month.finish_date(2006, 1)
7
+ assert_equal Date.new(2006, 2, 28), Month.finish_date(2006, 2)
8
+ assert_equal Date.new(2008, 2, 29), Month.finish_date(2008, 2)
9
+ assert_equal Date.new(2006, 3, 31), Month.finish_date(2006, 3)
10
+ assert_equal Date.new(2006, 4, 30), Month.finish_date(2006, 4)
11
+ assert_equal Date.new(2006, 5, 31), Month.finish_date(2006, 5)
12
+ assert_equal Date.new(2006, 6, 30), Month.finish_date(2006, 6)
13
+ assert_equal Date.new(2006, 7, 31), Month.finish_date(2006, 7)
14
+ assert_equal Date.new(2006, 8, 31), Month.finish_date(2006, 8)
15
+ assert_equal Date.new(2006, 9, 30), Month.finish_date(2006, 9)
16
+ assert_equal Date.new(2006, 10, 31), Month.finish_date(2006, 10)
17
+ assert_equal Date.new(2006, 11, 30), Month.finish_date(2006, 11)
18
+ assert_equal Date.new(2006, 12, 31), Month.finish_date(2006, 12)
19
+ end
20
+
21
+ end
@@ -0,0 +1,21 @@
1
+ # test/tc_Month_self.finish_of_month.rb
2
+
3
+ class TC_Month_self_finish_of_month < Minitest::Test
4
+
5
+ def test_self_finish_of_month
6
+ assert_equal Date.new(2006, 1, 31), Month.finish_of_month(2006, 1)
7
+ assert_equal Date.new(2006, 2, 28), Month.finish_of_month(2006, 2)
8
+ assert_equal Date.new(2008, 2, 29), Month.finish_of_month(2008, 2)
9
+ assert_equal Date.new(2006, 3, 31), Month.finish_of_month(2006, 3)
10
+ assert_equal Date.new(2006, 4, 30), Month.finish_of_month(2006, 4)
11
+ assert_equal Date.new(2006, 5, 31), Month.finish_of_month(2006, 5)
12
+ assert_equal Date.new(2006, 6, 30), Month.finish_of_month(2006, 6)
13
+ assert_equal Date.new(2006, 7, 31), Month.finish_of_month(2006, 7)
14
+ assert_equal Date.new(2006, 8, 31), Month.finish_of_month(2006, 8)
15
+ assert_equal Date.new(2006, 9, 30), Month.finish_of_month(2006, 9)
16
+ assert_equal Date.new(2006, 10, 31), Month.finish_of_month(2006, 10)
17
+ assert_equal Date.new(2006, 11, 30), Month.finish_of_month(2006, 11)
18
+ assert_equal Date.new(2006, 12, 31), Month.finish_of_month(2006, 12)
19
+ end
20
+
21
+ end
@@ -0,0 +1,21 @@
1
+ # test/tc_Month_self.finish_of_the_month.rb
2
+
3
+ class TC_Month_self_finish_of_the_month < Minitest::Test
4
+
5
+ def test_self_finish_of_the_month
6
+ assert_equal Date.new(2006, 1, 31), Month.finish_of_the_month(2006, 1)
7
+ assert_equal Date.new(2006, 2, 28), Month.finish_of_the_month(2006, 2)
8
+ assert_equal Date.new(2008, 2, 29), Month.finish_of_the_month(2008, 2)
9
+ assert_equal Date.new(2006, 3, 31), Month.finish_of_the_month(2006, 3)
10
+ assert_equal Date.new(2006, 4, 30), Month.finish_of_the_month(2006, 4)
11
+ assert_equal Date.new(2006, 5, 31), Month.finish_of_the_month(2006, 5)
12
+ assert_equal Date.new(2006, 6, 30), Month.finish_of_the_month(2006, 6)
13
+ assert_equal Date.new(2006, 7, 31), Month.finish_of_the_month(2006, 7)
14
+ assert_equal Date.new(2006, 8, 31), Month.finish_of_the_month(2006, 8)
15
+ assert_equal Date.new(2006, 9, 30), Month.finish_of_the_month(2006, 9)
16
+ assert_equal Date.new(2006, 10, 31), Month.finish_of_the_month(2006, 10)
17
+ assert_equal Date.new(2006, 11, 30), Month.finish_of_the_month(2006, 11)
18
+ assert_equal Date.new(2006, 12, 31), Month.finish_of_the_month(2006, 12)
19
+ end
20
+
21
+ end
@@ -0,0 +1,21 @@
1
+ # test/tc_Month_self.from_date.rb
2
+
3
+ class TC_Month_self_start_date < Minitest::Test
4
+
5
+ def test_self_from_date
6
+ assert_equal Month.new(2006, 1), Month.from_date(Date.new(2006, 1, 1))
7
+ assert_equal Month.new(2006, 2), Month.from_date(Date.new(2006, 2, 1))
8
+ assert_equal Month.new(2008, 2), Month.from_date(Date.new(2008, 2, 1))
9
+ assert_equal Month.new(2006, 3), Month.from_date(Date.new(2006, 3, 1))
10
+ assert_equal Month.new(2006, 4), Month.from_date(Date.new(2006, 4, 1))
11
+ assert_equal Month.new(2006, 5), Month.from_date(Date.new(2006, 5, 1))
12
+ assert_equal Month.new(2006, 6), Month.from_date(Date.new(2006, 6, 1))
13
+ assert_equal Month.new(2006, 7), Month.from_date(Date.new(2006, 7, 1))
14
+ assert_equal Month.new(2006, 8), Month.from_date(Date.new(2006, 8, 1))
15
+ assert_equal Month.new(2006, 9), Month.from_date(Date.new(2006, 9, 1))
16
+ assert_equal Month.new(2006, 10), Month.from_date(Date.new(2006, 10, 1))
17
+ assert_equal Month.new(2006, 11), Month.from_date(Date.new(2006, 11, 1))
18
+ assert_equal Month.new(2006, 12), Month.from_date(Date.new(2006, 12, 1))
19
+ end
20
+
21
+ end
@@ -0,0 +1,47 @@
1
+ # test/tc_Month_self.last.rb
2
+
3
+ class TC_Month_self_last < Minitest::Test
4
+
5
+ def test_self_last
6
+ today = Date.today
7
+ case today.month
8
+ when 1; assert_equal Month.new(today.year - 1, 12).month, Month.last.month
9
+ when 2; assert_equal Month.new(1).month, Month.last.month
10
+ when 3; assert_equal Month.new(2).month, Month.last.month
11
+ when 4; assert_equal Month.new(3).month, Month.last.month
12
+ when 5; assert_equal Month.new(4).month, Month.last.month
13
+ when 6; assert_equal Month.new(5).month, Month.last.month
14
+ when 7; assert_equal Month.new(6).month, Month.last.month
15
+ when 8; assert_equal Month.new(7).month, Month.last.month
16
+ when 9; assert_equal Month.new(8).month, Month.last.month
17
+ when 10; assert_equal Month.new(9).month, Month.last.month
18
+ when 11; assert_equal Month.new(10).month, Month.last.month
19
+ when 12; assert_equal Month.new(11).month, Month.last.month
20
+ end
21
+ end
22
+
23
+ def test_self_last_with_month_argument
24
+ today = Date.today
25
+ case today.month
26
+ when 1; assert_equal Month.new(today.year - 1, 12).month, Month.last(1).month
27
+ when 2; assert_equal Month.new(1).month, Month.last(2).month
28
+ when 3; assert_equal Month.new(2).month, Month.last(3).month
29
+ when 4; assert_equal Month.new(3).month, Month.last(4).month
30
+ when 5; assert_equal Month.new(4).month, Month.last(5).month
31
+ when 6; assert_equal Month.new(5).month, Month.last(6).month
32
+ when 7; assert_equal Month.new(6).month, Month.last(7).month
33
+ when 8; assert_equal Month.new(7).month, Month.last(8).month
34
+ when 9; assert_equal Month.new(8).month, Month.last(9).month
35
+ when 10; assert_equal Month.new(9).month, Month.last(10).month
36
+ when 11; assert_equal Month.new(10).month, Month.last(11).month
37
+ when 12; assert_equal Month.new(11).month, Month.last(12).month
38
+ end
39
+ end
40
+
41
+ def test_self_last_with_month_and_year_argument
42
+ assert_equal Month.new(2010, 12), Month.last(2011, 1)
43
+ assert_equal Month.new(2011, 11), Month.last(2011, 12)
44
+ assert_equal Month.new(2012, 10), Month.last(2012, 11)
45
+ end
46
+
47
+ end
@@ -0,0 +1,47 @@
1
+ # test/tc_Month_self.last_month.rb
2
+
3
+ class TC_Month_self_last_month < Minitest::Test
4
+
5
+ def test_self_last_month
6
+ today = Date.today
7
+ case today.month
8
+ when 1; assert_equal Month.new(today.year - 1, 12).month, Month.last_month.month
9
+ when 2; assert_equal Month.new(1).month, Month.last_month.month
10
+ when 3; assert_equal Month.new(2).month, Month.last_month.month
11
+ when 4; assert_equal Month.new(3).month, Month.last_month.month
12
+ when 5; assert_equal Month.new(4).month, Month.last_month.month
13
+ when 6; assert_equal Month.new(5).month, Month.last_month.month
14
+ when 7; assert_equal Month.new(6).month, Month.last_month.month
15
+ when 8; assert_equal Month.new(7).month, Month.last_month.month
16
+ when 9; assert_equal Month.new(8).month, Month.last_month.month
17
+ when 10; assert_equal Month.new(9).month, Month.last_month.month
18
+ when 11; assert_equal Month.new(10).month, Month.last_month.month
19
+ when 12; assert_equal Month.new(11).month, Month.last_month.month
20
+ end
21
+ end
22
+
23
+ def test_self_last_month_with_month_argument
24
+ today = Date.today
25
+ case today.month
26
+ when 1; assert_equal Month.new(today.year - 1, 12).month, Month.last_month(1).month
27
+ when 2; assert_equal Month.new(1).month, Month.last_month(2).month
28
+ when 3; assert_equal Month.new(2).month, Month.last_month(3).month
29
+ when 4; assert_equal Month.new(3).month, Month.last_month(4).month
30
+ when 5; assert_equal Month.new(4).month, Month.last_month(5).month
31
+ when 6; assert_equal Month.new(5).month, Month.last_month(6).month
32
+ when 7; assert_equal Month.new(6).month, Month.last_month(7).month
33
+ when 8; assert_equal Month.new(7).month, Month.last_month(8).month
34
+ when 9; assert_equal Month.new(8).month, Month.last_month(9).month
35
+ when 10; assert_equal Month.new(9).month, Month.last_month(10).month
36
+ when 11; assert_equal Month.new(10).month, Month.last_month(11).month
37
+ when 12; assert_equal Month.new(11).month, Month.last_month(12).month
38
+ end
39
+ end
40
+
41
+ def test_self_last_month_with_month_and_year_argument
42
+ assert_equal Month.new(2010, 12), Month.last_month(2011, 1)
43
+ assert_equal Month.new(2011, 11), Month.last_month(2011, 12)
44
+ assert_equal Month.new(2012, 10), Month.last_month(2012, 11)
45
+ end
46
+
47
+ end