when_exe 0.4.2 → 0.4.3
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.
- checksums.yaml +4 -4
- data/README.md +24 -23
- data/lib/when_exe/ephemeris/moon.rb +333 -333
- data/lib/when_exe/linkeddata.rb +0 -1
- data/lib/when_exe/locales/encoding_conversion.rb +134 -134
- data/lib/when_exe/locales/iast.rb +90 -90
- data/lib/when_exe/locales/transliteration_table.rb +62 -62
- data/lib/when_exe/parts/method_cash.rb +224 -224
- data/lib/when_exe/region/chinese/calendars.rb +1016 -1016
- data/lib/when_exe/region/geologicalage.rb +1 -1
- data/lib/when_exe/region/japanese/calendars.rb +397 -397
- data/lib/when_exe/region/japanese/eclipses.rb +1194 -1194
- data/lib/when_exe/region/japanese/nihon_shoki.rb +70 -70
- data/lib/when_exe/region/korean.rb +384 -384
- data/lib/when_exe/region/ryukyu.rb +101 -101
- data/lib/when_exe/tmposition.rb +2 -2
- data/lib/when_exe/tmreference.rb +3 -3
- data/lib/when_exe/version.rb +1 -1
- data/test/scripts/geometric_complex.rb +41 -41
- data/test/scripts/korea.rb +59 -59
- data/test/scripts/thai.rb +36 -36
- data/test/test/basictypes.rb +431 -431
- data/test/test/calendarnote.rb +86 -86
- data/test/test/calendartypes.rb +97 -97
- data/test/test/coordinates.rb +397 -397
- data/test/test/ephemeris.rb +115 -115
- data/test/test/ephemeris/moon.rb +14 -14
- data/test/test/ephemeris/planets.rb +14 -14
- data/test/test/ephemeris/sun.rb +14 -14
- data/test/test/inspect.rb +153 -153
- data/test/test/parts.rb +488 -488
- data/test/test/region/armenian.rb +20 -20
- data/test/test/region/bahai.rb +58 -58
- data/test/test/region/balinese.rb +34 -34
- data/test/test/region/chinese.rb +229 -229
- data/test/test/region/christian.rb +226 -226
- data/test/test/region/coptic.rb +27 -27
- data/test/test/region/discordian.rb +20 -20
- data/test/test/region/french.rb +33 -33
- data/test/test/region/geologicalage.rb +17 -17
- data/test/test/region/iran.rb +54 -54
- data/test/test/region/islamic.rb +54 -54
- data/test/test/region/japanese.rb +261 -261
- data/test/test/region/jewish.rb +63 -63
- data/test/test/region/shire.rb +58 -58
- data/test/test/region/swedish.rb +45 -45
- data/test/test/region/thai.rb +116 -116
- data/test/test/region/tibetan.rb +30 -30
- data/test/test/region/vietnamese.rb +102 -102
- data/test/test/region/zoroastrian.rb +58 -58
- data/test/test/timestandard.rb +81 -81
- data/test/test/tmobjects.rb +402 -402
- data/test/test/tmreference.rb +157 -157
- metadata +4 -88
data/test/scripts/thai.rb
CHANGED
@@ -1,36 +1,36 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
=begin
|
3
|
-
Copyright (C) 2011-2014 Takashi SUGA
|
4
|
-
|
5
|
-
You may use and/or modify this file according to the license
|
6
|
-
described in the LICENSE.txt file included in this archive.
|
7
|
-
=end
|
8
|
-
|
9
|
-
require 'pp'
|
10
|
-
require 'when_exe'
|
11
|
-
include When
|
12
|
-
|
13
|
-
Type = {
|
14
|
-
354 => 'A',
|
15
|
-
355 => 'B',
|
16
|
-
384 => 'C'
|
17
|
-
}
|
18
|
-
|
19
|
-
Pattern = {}
|
20
|
-
|
21
|
-
open('scripts/thai-reviewed.txt', 'r') do |source|
|
22
|
-
this_year = nil
|
23
|
-
while (line=source.gets)
|
24
|
-
year, month, day = line.split(/ +/)[2..4].map {|c| c.to_i}
|
25
|
-
next_year = TemporalPosition(year, month, day, :frame=>Gregorian)
|
26
|
-
thai_year = TemporalPosition(year-638, 6, 1, :frame=>'ThaiT')
|
27
|
-
raise ArgumentError, "#{next_year} != #{Gregorian ^ thai_year}" unless next_year.to_i == thai_year.to_i
|
28
|
-
year -= 1
|
29
|
-
if this_year
|
30
|
-
type = Type[next_year.to_i-this_year.to_i]
|
31
|
-
Pattern[year] = type
|
32
|
-
puts "%04d,%04d,%s" % [year, year-638, type || '!']
|
33
|
-
end
|
34
|
-
this_year = next_year
|
35
|
-
end
|
36
|
-
end
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 2011-2014 Takashi SUGA
|
4
|
+
|
5
|
+
You may use and/or modify this file according to the license
|
6
|
+
described in the LICENSE.txt file included in this archive.
|
7
|
+
=end
|
8
|
+
|
9
|
+
require 'pp'
|
10
|
+
require 'when_exe'
|
11
|
+
include When
|
12
|
+
|
13
|
+
Type = {
|
14
|
+
354 => 'A',
|
15
|
+
355 => 'B',
|
16
|
+
384 => 'C'
|
17
|
+
}
|
18
|
+
|
19
|
+
Pattern = {}
|
20
|
+
|
21
|
+
open('scripts/thai-reviewed.txt', 'r') do |source|
|
22
|
+
this_year = nil
|
23
|
+
while (line=source.gets)
|
24
|
+
year, month, day = line.split(/ +/)[2..4].map {|c| c.to_i}
|
25
|
+
next_year = TemporalPosition(year, month, day, :frame=>Gregorian)
|
26
|
+
thai_year = TemporalPosition(year-638, 6, 1, :frame=>'ThaiT')
|
27
|
+
raise ArgumentError, "#{next_year} != #{Gregorian ^ thai_year}" unless next_year.to_i == thai_year.to_i
|
28
|
+
year -= 1
|
29
|
+
if this_year
|
30
|
+
type = Type[next_year.to_i-this_year.to_i]
|
31
|
+
Pattern[year] = type
|
32
|
+
puts "%04d,%04d,%s" % [year, year-638, type || '!']
|
33
|
+
end
|
34
|
+
this_year = next_year
|
35
|
+
end
|
36
|
+
end
|
data/test/test/basictypes.rb
CHANGED
@@ -1,431 +1,431 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
=begin
|
3
|
-
Copyright (C) 2011-2014 Takashi SUGA
|
4
|
-
|
5
|
-
You may use and/or modify this file according to the license
|
6
|
-
described in the LICENSE.txt file included in this archive.
|
7
|
-
=end
|
8
|
-
|
9
|
-
module MiniTest
|
10
|
-
|
11
|
-
module BasicTypes
|
12
|
-
|
13
|
-
#
|
14
|
-
# ISO 8601 Date and Time Representation
|
15
|
-
#
|
16
|
-
class DateTime < TestCase
|
17
|
-
|
18
|
-
def test__to_array_assert
|
19
|
-
assert_raises(TypeError) { When::BasicTypes::DateTime._to_array(1) }
|
20
|
-
assert_raises(ArgumentError) { When::BasicTypes::DateTime._to_array("") }
|
21
|
-
end
|
22
|
-
|
23
|
-
def test__x0301_5_2_1
|
24
|
-
[ # 5.2.1 暦日付
|
25
|
-
["19850412", [ 0, "1985-04-12"]], # 1 完全表記 基本形式
|
26
|
-
["1985-04-12", [ 0, "1985-04-12"]], # 1 完全表記 拡張形式
|
27
|
-
["1985-04", [-1, "1985-04" ]], # 2 a) 下位省略表記 特定の月 基本形式
|
28
|
-
["1985", [-2, "1985" ]], # 2 b) 下位省略表記 特定の年 基本形式
|
29
|
-
["19", [-4, "1900" ]], # 2 c) 下位省略表記 特定の百年台 基本形式
|
30
|
-
["850412", [ 0, "1985-04-12"]], # 3 a) 上位省略表記 ある百年代の特定の日 基本形式
|
31
|
-
["85-04-12", [ 0, "1985-04-12"]], # 3 a) 上位省略表記 ある百年代の特定の日 拡張形式
|
32
|
-
["-8504", [-1, "1985-04" ]], # 3 b) 上位省略表記 ある百年代の特定の月 基本形式
|
33
|
-
["-85-04", [-1, "1985-04" ]], # 3 b) 上位省略表記 ある百年代の特定の月 拡張形式
|
34
|
-
["-85", [-2, "1985" ]], # 3 c) 上位省略表記 ある百年代の特定の年 基本形式
|
35
|
-
["--0412", [ 0, "1985-04-12"]], # 3 d) 上位省略表記 ある年の特定の月日 基本形式
|
36
|
-
["--04-12", [ 0, "1985-04-12"]], # 3 d) 上位省略表記 ある年の特定の月日 拡張形式
|
37
|
-
["--04", [-1, "1985-04" ]], # 3 e) 上位省略表記 ある年の特定の月 基本形式
|
38
|
-
["---12", [ 0, "1985-04-12"]], # 3 f) 上位省略表記 ある月の特定の日 基本形式
|
39
|
-
["+019850412", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
|
40
|
-
["+01985-04-12", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
|
41
|
-
["+01985-04", [-1, "1985-04" ]], # 4 b) 拡大表記 特定の月 基本形式
|
42
|
-
["+01985", [-2, "1985" ]], # 4 c) 拡大表記 特定の年 基本形式
|
43
|
-
["+019", [-4, "1900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
44
|
-
].each do |sample|
|
45
|
-
date = When.when?(sample[0], {:abbr=>[1985,4,12]})
|
46
|
-
assert_equal(sample[1], [date.precision, date.to_s])
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
def test__x0301_5_2_1_4
|
51
|
-
[ # 5.2.1.4 暦日付 拡大表記(Abbr 指定なし)
|
52
|
-
["-019850412", [ 0, "-01985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
|
53
|
-
["+019850412", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
|
54
|
-
["-01985-04-12", [ 0, "-01985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
|
55
|
-
["+01985-04-12", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
|
56
|
-
["-01985-04", [-1, "-01985-04" ]], # 4 b) 拡大表記 特定の月 基本形式
|
57
|
-
["+01985-04", [-1, "1985-04" ]], # 4 b) 拡大表記 特定の月 基本形式
|
58
|
-
["-01985", [-2, "-01985" ]], # 4 c) 拡大表記 特定の年 基本形式
|
59
|
-
["+01985", [-2, "1985" ]], # 4 c) 拡大表記 特定の年 基本形式
|
60
|
-
["-0190", [-2, "-00190" ]], # 4 d) 拡大表記 特定の年 基本形式
|
61
|
-
["+0190", [-2, "0190" ]], # 4 d) 拡大表記 特定の年 基本形式
|
62
|
-
["-019", [-4, "-01900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
63
|
-
["+019", [-4, "1900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
64
|
-
["-119", [-4, "-11900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
65
|
-
["+119", [-4, "+11900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
66
|
-
].each do |sample|
|
67
|
-
date = When.when?(sample[0])
|
68
|
-
assert_equal(sample[1], [date.precision, date.to_s])
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def test__x0301_5_2_2
|
73
|
-
[ # 5.2.2 年間通算日
|
74
|
-
["1985102", [ 0, "1985-04-12"]], # 1 完全表記 基本形式
|
75
|
-
["1985-102", [ 0, "1985-04-12"]], # 1 完全表記 拡張形式
|
76
|
-
["85102", [ 0, "1985-04-12"]], # 2 a) 上位省略表記 ある百年代の特定の年日 基本形式
|
77
|
-
["85-102", [ 0, "1985-04-12"]], # 2 a) 上位省略表記 ある百年代の特定の年日 拡張形式
|
78
|
-
["-102", [ 0, "1985-04-12"]], # 2 b) 上位省略表記 ある年の特定の日 基本形式
|
79
|
-
["+01985102", [ 0, "1985-04-12"]], # 3 a) 拡大表記 特定の日 基本形式
|
80
|
-
["+01985-102", [ 0, "1985-04-12"]], # 3 a) 拡大表記 特定の日 拡張形式
|
81
|
-
].each do |sample|
|
82
|
-
date = When.when?(sample[0], {:abbr=>[1985,4,12]})
|
83
|
-
assert_equal(sample[1], [date.precision, date.to_s])
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
def test__x0301_5_2_3
|
88
|
-
[ # 5.2.3 暦週日付
|
89
|
-
["1985W155", [ 0, "1985-04-12"]], # 1 完全表記 基本形式
|
90
|
-
["1985-W15-5", [ 0, "1985-04-12"]], # 1 完全表記 拡張形式
|
91
|
-
["1985W15", [ 0, "1985-04-08...1985-04-15"]], # 2 a) 下位省略表記 基本形式
|
92
|
-
["1985-W15", [ 0, "1985-04-08...1985-04-15"]], # 2 a) 下位省略表記 拡張形式
|
93
|
-
["85W155", [ 0, "1985-04-12"]], # 3 a) 上位省略表記 ある百年代における年週日 基本形式
|
94
|
-
["85-W15-5", [ 0, "1985-04-12"]], # 3 a) 上位省略表記 ある百年代における年週日 拡張形式
|
95
|
-
["85W15", [ 0, "1985-04-08...1985-04-15"]], # 3 b) 上位省略表記 ある百年代における年週 基本形式
|
96
|
-
["85-W15", [ 0, "1985-04-08...1985-04-15"]], # 3 b) 上位省略表記 ある百年代における年週 拡張形式
|
97
|
-
["-5W155", [ 0, "1985-04-12"]], # 3 c) 上位省略表記 ある十年代における年週日 基本形式
|
98
|
-
["-5-W15-5", [ 0, "1985-04-12"]], # 3 c) 上位省略表記 ある十年代における年週日 拡張形式
|
99
|
-
["-5W15", [ 0, "1985-04-08...1985-04-15"]], # 3 d) 上位省略表記 ある十年代における年週 基本形式
|
100
|
-
["-5-W15", [ 0, "1985-04-08...1985-04-15"]], # 3 d) 上位省略表記 ある十年代における年週 拡張形式
|
101
|
-
["-W155", [ 0, "1985-04-12"]], # 3 e) 上位省略表記 ある年の週日 基本形式
|
102
|
-
["-W15-5", [ 0, "1985-04-12"]], # 3 e) 上位省略表記 ある年の週日 拡張形式
|
103
|
-
["-W15", [ 0, "1985-04-08...1985-04-15"]], # 3 f) 上位省略表記 ある年の週 基本形式
|
104
|
-
["-W-5", [ 0, "1985-04-12"]], # 3 g) 上位省略表記 ある週の日 基本形式
|
105
|
-
["+01985W155", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
|
106
|
-
["+01985-W15-5", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
|
107
|
-
["+01985W15", [ 0, "1985-04-08...1985-04-15"]], # 4 b) 拡大表記 特定の週 基本形式
|
108
|
-
["+01985-W15", [ 0, "1985-04-08...1985-04-15"]], # 4 c) 拡大表記 特定の週 拡張形式
|
109
|
-
].each do |sample|
|
110
|
-
date = When.when?(sample[0], {:abbr=>[1985,15,5]})
|
111
|
-
assert_equal(sample[1], [date.precision, date.to_s])
|
112
|
-
end
|
113
|
-
|
114
|
-
result = []
|
115
|
-
(1900...1928).each do |year|
|
116
|
-
date = ::Date.new(year, 1, 1) - 7
|
117
|
-
14.times do
|
118
|
-
gdate = When.TemporalPosition(date.year, date.month, date.day)
|
119
|
-
strdate = date.strftime('%G-W%V-%u')
|
120
|
-
strgdate = gdate.strftime('%G-W%V-%u')
|
121
|
-
w1date = When::WeekDate ^ date
|
122
|
-
w2date = When.when?(strdate, {:frame=>When::WeekDate})
|
123
|
-
strw1date = w1date.strftime
|
124
|
-
strw2date = w2date.strftime
|
125
|
-
result << [[strdate, strgdate, strw1date, strw2date].uniq.size, date.jd == w1date.to_i, date.jd == w2date.to_i]
|
126
|
-
end
|
127
|
-
end
|
128
|
-
assert_equal([[1, true, true]], result.uniq)
|
129
|
-
end
|
130
|
-
|
131
|
-
def test__x0301_5_2_4
|
132
|
-
[ # 5.2.4 元号による日付
|
133
|
-
["60.04.12", [ 0, "S60(1985).04.12"]], # 1 完全表記 基本形式
|
134
|
-
["S60.04.12", [ 0, "S60(1985).04.12"]], # 1 完全表記 拡張形式
|
135
|
-
].each do |sample|
|
136
|
-
date = When.when?(sample[0], {:era_name=>'S'})
|
137
|
-
assert_equal(sample[1], [date.precision, date.to_s])
|
138
|
-
end
|
139
|
-
end
|
140
|
-
|
141
|
-
def test__x0301_5_3_1
|
142
|
-
When::TM::Clock.local_time = When::UTC
|
143
|
-
|
144
|
-
[ # 5.3.1 地方時の時刻
|
145
|
-
["T232050", [ 3, "T23:20:50" ]], # 1 完全表記 基本形式
|
146
|
-
["T23:20:50", [ 3, "T23:20:50" ]], # 1 完全表記 拡張形式
|
147
|
-
["T2320", [ 2, "T23:20" ]], # 2 a) 下位省略表記 特定の時分 基本形式
|
148
|
-
["T23:20", [ 2, "T23:20" ]], # 2 a) 下位省略表記 特定の時分 拡張形式
|
149
|
-
["T23", [ 1, "T23" ]], # 2 b) 下位省略表記 特定の時 基本形式
|
150
|
-
].each do |sample|
|
151
|
-
date = When.when?(sample[0])
|
152
|
-
assert_equal(sample[1], [date.precision, date.to_s])
|
153
|
-
end
|
154
|
-
|
155
|
-
[ # 3 小数点を用いる表記
|
156
|
-
["T232050.5", 4, [ 4, "T23:20:50.5" ]], # a) 特定の時分秒及び秒の小数部分 基本形式
|
157
|
-
["T152735,5", 4, [ 4, "T15:27:35.5" ]], # a) 特定の時分秒及び秒の小数部分 基本形式
|
158
|
-
["T23:20:50.5", 4, [ 4, "T23:20:50.5" ]], # a) 特定の時分秒及び秒の小数部分 拡張形式
|
159
|
-
["T2320.8", 3, [ 3, "T23:20:48" ]], # b) 特定の時分及び分の小数部分 基本形式
|
160
|
-
["T23:20.8", 3, [ 3, "T23:20:48" ]], # b) 特定の時分及び分の小数部分 拡張形式
|
161
|
-
["T23.3", 2, [ 2, "T23:18" ]], # c) 特定の時及び時の小数部分 基本形式
|
162
|
-
].each do |sample|
|
163
|
-
date = When.when?(sample[0], {:precision=>sample[1]})
|
164
|
-
assert_equal(sample[2], [date.precision, date.to_s])
|
165
|
-
end
|
166
|
-
|
167
|
-
[ # 4 上位省略表記
|
168
|
-
["T-2050", [ 3, "T23:20:50" ]], # a) ある時“hour”における特定の分秒 基本形式
|
169
|
-
["T-:20:50", [ 3, "T23:20:50" ]], # a) ある時“hour”における特定の分秒 拡張形式
|
170
|
-
["T-20", [ 2, "T23:20" ]], # b) ある時“hour”における特定の分 基本形式
|
171
|
-
["T--50", [ 3, "T23:20:50" ]], # c) ある分の特定の秒 基本形式
|
172
|
-
].each do |sample|
|
173
|
-
date = When.when?(sample[0], {:abbr=>[1985,4,12,23,20,50]})
|
174
|
-
assert_equal(sample[1], [date.precision, date.to_s])
|
175
|
-
end
|
176
|
-
|
177
|
-
[ # 4 小数点を用いる上位省略表記
|
178
|
-
["T-2050.5", 4, [ 4, "T23:20:50.5" ]], # a) ある時“hour”における特定の分秒 基本形式
|
179
|
-
["T-2735,5", 4, [ 4, "T23:27:35.5" ]], # a) ある時“hour”における特定の分秒 基本形式
|
180
|
-
["T-:20:50.5", 4, [ 4, "T23:20:50.5" ]], # a) ある時“hour”における特定の分秒 拡張形式
|
181
|
-
["T-20.8", 3, [ 3, "T23:20:48" ]], # b) ある時“hour”における特定の分 基本形式
|
182
|
-
["T--50.5", 4, [ 4, "T23:20:50.5" ]], # c) ある分の特定の秒 基本形式
|
183
|
-
].each do |sample|
|
184
|
-
date = When.when?(sample[0], {:abbr=>[1985,4,12,23,20,50], :precision=>sample[1]})
|
185
|
-
assert_equal(sample[2], [date.precision, date.to_s])
|
186
|
-
end
|
187
|
-
end
|
188
|
-
|
189
|
-
def test__x0301_5_3_2
|
190
|
-
When::TM::Clock.local_time = When.Clock("+0900")
|
191
|
-
[ # 5.3.2 夜の12時
|
192
|
-
["19850412T240000", [ 3, "1985-04-13T00:00:00"]], # 完全表記 基本形式
|
193
|
-
["1985-04-12T24:00:00", [ 3, "1985-04-13T00:00:00"]], # 完全表記 拡張形式
|
194
|
-
["19850412T2400", [ 2, "1985-04-13T00:00" ]], # 下位省略表記 基本形式
|
195
|
-
["1985-04-12T24:00", [ 2, "1985-04-13T00:00" ]], # 下位省略表記 拡張形式
|
196
|
-
].each do |sample|
|
197
|
-
date = When.when?(sample[0])
|
198
|
-
assert_equal(sample[1], [date.precision, date.to_s])
|
199
|
-
end
|
200
|
-
end
|
201
|
-
|
202
|
-
def test__x0301_5_3_3
|
203
|
-
[ # 5.3.3 協定世界時(UTC)の時刻
|
204
|
-
["T232050Z", [ 3, "T23:20:50Z" ]], # 1 完全表記 基本形式
|
205
|
-
["T23:20:50Z", [ 3, "T23:20:50Z" ]], # 1 完全表記 拡張形式
|
206
|
-
["T2320Z", [ 2, "T23:20Z" ]], # 2 a) 下位省略表記 特定の時分 基本形式
|
207
|
-
["T23:20Z", [ 2, "T23:20Z" ]], # 2 a) 下位省略表記 特定の時分 拡張形式
|
208
|
-
["T23Z", [ 1, "T23Z" ]], # 2 b) 下位省略表記 特定の時 基本形式
|
209
|
-
].each do |sample|
|
210
|
-
date = When.when?(sample[0])
|
211
|
-
assert_equal(sample[1], [date.precision, date.to_s])
|
212
|
-
end
|
213
|
-
|
214
|
-
[ # 3 小数点を用いる表記
|
215
|
-
["T232050.5Z", 4, [ 4, "T23:20:50.5Z" ]], # a) 特定の時分秒及び秒の小数部分 基本形式
|
216
|
-
["T23:20:50.5Z",4, [ 4, "T23:20:50.5Z" ]], # a) 特定の時分秒及び秒の小数部分 拡張形式
|
217
|
-
["T2320.8Z", 3, [ 3, "T23:20:48Z" ]], # b) 特定の時分及び分の小数部分 基本形式
|
218
|
-
["T23:20.8Z", 3, [ 3, "T23:20:48Z" ]], # b) 特定の時分及び分の小数部分 拡張形式
|
219
|
-
["T23.3Z", 2, [ 2, "T23:18Z" ]], # c) 特定の時及び時の小数部分 基本形式
|
220
|
-
].each do |sample|
|
221
|
-
date = When.when?(sample[0], {:precision=>sample[1]})
|
222
|
-
assert_equal(sample[2], [date.precision, date.to_s])
|
223
|
-
end
|
224
|
-
|
225
|
-
[ # 4 上位省略表記
|
226
|
-
["T-2050Z", [ 3, "T23:20:50Z" ]], # a) ある時“hour”における特定の分秒 基本形式
|
227
|
-
["T-:20:50Z", [ 3, "T23:20:50Z" ]], # a) ある時“hour”における特定の分秒 拡張形式
|
228
|
-
["T-20Z", [ 2, "T23:20Z" ]], # b) ある時“hour”における特定の分 基本形式
|
229
|
-
["T--50Z", [ 3, "T23:20:50Z" ]], # c) ある分の特定の秒 基本形式
|
230
|
-
].each do |sample|
|
231
|
-
date = When.when?(sample[0], {:abbr=>[1985,4,12,23,20,50]})
|
232
|
-
assert_equal(sample[1], [date.precision, date.to_s])
|
233
|
-
end
|
234
|
-
|
235
|
-
[ # 4 小数点を用いる上位省略表記
|
236
|
-
["T-2050.5Z", 4, [ 4, "T23:20:50.5Z" ]], # a) ある時“hour”における特定の分秒 基本形式
|
237
|
-
["T-:20:50.5Z", 4, [ 4, "T23:20:50.5Z" ]], # a) ある時“hour”における特定の分秒 拡張形式
|
238
|
-
["T-20.8Z", 3, [ 3, "T23:20:48Z" ]], # b) ある時“hour”における特定の分 基本形式
|
239
|
-
["T--50.5Z", 4, [ 4, "T23:20:50.5Z" ]], # c) ある分の特定の秒 基本形式
|
240
|
-
].each do |sample|
|
241
|
-
date = When.when?(sample[0], {:abbr=>[1985,4,12,23,20,50], :precision=>sample[1]})
|
242
|
-
assert_equal(sample[2], [date.precision, date.to_s])
|
243
|
-
end
|
244
|
-
end
|
245
|
-
|
246
|
-
def test__x0301_5_3_4
|
247
|
-
[ # 5.3.4 地方時及び協定世界時
|
248
|
-
["T+0100", [ 0, "T+01:00" ]], # 1 地方時と協定世界時との差(時差の表記) 基本形式
|
249
|
-
["T+01", [ 0, "T+01:00" ]], # 1 地方時と協定世界時との差(時差の表記) 基本形式
|
250
|
-
["T+01:00", [ 0, "T+01:00" ]], # 1 地方時と協定世界時との差(時差の表記) 拡張形式
|
251
|
-
["T152746+0100", [ 3, "T15:27:46+01:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 基本形式
|
252
|
-
["T152746-0500", [ 3, "T15:27:46-05:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 基本形式
|
253
|
-
["T152746+01", [ 3, "T15:27:46+01:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 基本形式
|
254
|
-
["T152746-05", [ 3, "T15:27:46-05:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 基本形式
|
255
|
-
["T15:27:46+01:00", [ 3, "T15:27:46+01:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 拡張形式
|
256
|
-
["T15:27:46-05:00", [ 3, "T15:27:46-05:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 拡張形式
|
257
|
-
["T15:27:46+01", [ 3, "T15:27:46+01:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 拡張形式
|
258
|
-
["T15:27:46-05", [ 3, "T15:27:46-05:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 拡張形式
|
259
|
-
].each do |sample|
|
260
|
-
date = When.when?(sample[0])
|
261
|
-
assert_equal(sample[1], [date.precision, date.to_s])
|
262
|
-
end
|
263
|
-
end
|
264
|
-
|
265
|
-
def test__x0301_5_4_2
|
266
|
-
When::TM::Clock.local_time = When.Clock("+0900")
|
267
|
-
[ # 5.4.2 完全表記以外の表記
|
268
|
-
["19850412T1015", [ 2, "1985-04-12T10:15" ]], # a) 暦日付及び地方時 基本形式
|
269
|
-
["1985-04-12T10:15", [ 2, "1985-04-12T10:15" ]], # a) 暦日付及び地方時 拡張形式
|
270
|
-
["1985102T1015Z", [ 2, "1985-04-12T10:15Z" ]], # b) 年間通算日及び協定世界時 基本形式
|
271
|
-
["1985-102T10:15Z", [ 2, "1985-04-12T10:15Z" ]], # b) 年間通算日及び協定世界時 拡張形式
|
272
|
-
["1985W155T1015+0400", [ 2, "1985-04-12T10:15+04:00" ]], # c) 暦週日付,地方時,及びUTCとの差 基本形式
|
273
|
-
["1985-W15-5T10:15+04:00",[ 2, "1985-04-12T10:15+04:00" ]], # c) 暦週日付,地方時,及びUTCとの差 拡張形式
|
274
|
-
].each do |sample|
|
275
|
-
date = When.when?(sample[0])
|
276
|
-
assert_equal(sample[1], [date.precision, date.to_s])
|
277
|
-
end
|
278
|
-
end
|
279
|
-
|
280
|
-
def test__x0301_5_5_4
|
281
|
-
When::TM::Clock.local_time = When.Clock("+0900") # 時間間隔の表記
|
282
|
-
[ # 5.5.4 完全表記
|
283
|
-
["19850412T232050/19850625T103000", "1985-04-12T23:20:50..1985-06-25T10:30:00" ], # 1 始点及び終点 基本形式
|
284
|
-
["1985-04-12T23:20:50/1985-06-25T10:30:00", "1985-04-12T23:20:50..1985-06-25T10:30:00" ], # 1 始点及び終点 拡張形式
|
285
|
-
["P2Y10M15DT10H30M20S", "P2Y10M15DT10H30M20S" ], # 2.1 時間の単位の指示記号付
|
286
|
-
["P6W", "P6W" ], # 2.1 時間の単位の指示記号付
|
287
|
-
["P1Y6M", "P1Y6M" ], # 2.1 時間の単位の指示記号付
|
288
|
-
["PT72H", "PT72H" ], # 2.1 時間の単位の指示記号付
|
289
|
-
["P00021015T103020", "P2Y10M15DT10H30M20S" ], # 2.2 代用形式 基本形式
|
290
|
-
["P0001-06", "P1Y6M" ], # 2.2 代用形式 基本形式
|
291
|
-
["P010600", "P1Y6M" ], # 2.2 代用形式 基本形式
|
292
|
-
["P0002-10-15T10:30:20", "P2Y10M15DT10H30M20S" ], # 2.2 代用形式 拡張形式
|
293
|
-
["19850412T232050/P1Y2M15DT12H30M0S", "1985-04-12T23:20:50...1986-06-28T11:50:50"], # 3 始点及び時間長 基本形式
|
294
|
-
["19850412T232050/P00010215T123000", "1985-04-12T23:20:50...1986-06-28T11:50:50"], # 3 始点及び時間長 基本形式
|
295
|
-
["1985-04-12T23:20:50/P1Y2M15DT12H30M0S", "1985-04-12T23:20:50...1986-06-28T11:50:50"], # 3 始点及び時間長 拡張形式
|
296
|
-
["1985-04-12T23:20:50/P0001-02-15T12:30:00","1985-04-12T23:20:50...1986-06-28T11:50:50"], # 3 始点及び時間長 拡張形式
|
297
|
-
["P1Y2M15DT12H30M0S/19850412T232050", "1984-01-28T10:50:50..1985-04-12T23:20:50" ], # 4 時間長及び終点 基本形式
|
298
|
-
["P00010215T123000/19850412T232050", "1984-01-28T10:50:50..1985-04-12T23:20:50" ], # 4 時間長及び終点 基本形式
|
299
|
-
["P1Y2M15DT12H30M0S/1985-04-12T23:20:50", "1984-01-28T10:50:50..1985-04-12T23:20:50" ], # 4 時間長及び終点 拡張形式
|
300
|
-
["P0001-02-15T12:30:00/1985-04-12T23:20:50","1984-01-28T10:50:50..1985-04-12T23:20:50" ], # 4 時間長及び終点 拡張形式
|
301
|
-
].each do |sample|
|
302
|
-
assert_equal(sample[1], When.when?(sample[0]).to_s)
|
303
|
-
end
|
304
|
-
end
|
305
|
-
|
306
|
-
def test__x0301_5_6_3
|
307
|
-
When::TM::Clock.local_time = When.Clock("+0900") # 反復時間間隔の表記
|
308
|
-
[ # 5.6.3 完全表記
|
309
|
-
["R2/19850412T232050/19850625T103000", ["1985-04-12T23:20:50","1985-06-25T10:30:00"]], # 始点及び終点
|
310
|
-
["R2/P2Y10M15DT10H30M20S", ["P2Y10M15DT10H30M20S","P2Y10M15DT10H30M20S"]], # 時間間隔
|
311
|
-
["R2/19850412T232050/P1Y2M15DT12H30M0S", ["1985-04-12T23:20:50","1986-06-28T11:50:50"]], # 始点及び時間間隔
|
312
|
-
["R2/P1Y2M15DT12H30M0S/19850412T232050", ["1984-01-28T10:50:50","1985-04-12T23:20:50"]], # 時間間隔及び終点
|
313
|
-
].each do |sample|
|
314
|
-
event = When.when?(sample[0])
|
315
|
-
sample[1].each do |date|
|
316
|
-
assert_equal(date, event.shift.to_s)
|
317
|
-
end
|
318
|
-
end
|
319
|
-
[ # 5.6.3 完全表記
|
320
|
-
["R/19850412T232050/19850625T103000", ["1985-04-12T23:20:50","1985-06-25T10:30:00"]], # 始点及び終点
|
321
|
-
["R/19850412T232050/P1Y2M15DT12H30M0S", ["1985-04-12T23:20:50","1986-06-28T11:50:50"]], # 始点及び時間間隔
|
322
|
-
].each do |sample|
|
323
|
-
event = When.when?(sample[0]).each
|
324
|
-
sample[1].each do |date|
|
325
|
-
assert_equal(date, event.succ.to_s)
|
326
|
-
end
|
327
|
-
end
|
328
|
-
end
|
329
|
-
|
330
|
-
def test__abbr_and_extra_year_digits
|
331
|
-
|
332
|
-
assert_equal('-00500', When.when?('-005').to_s)
|
333
|
-
assert_equal('2013-01-05', When.when?('-005', {:abbr=>2013}).to_s)
|
334
|
-
assert_equal('-000005', When.when?('-005', {:extra_year_digits=>2}).to_s)
|
335
|
-
|
336
|
-
assert_equal('1900', When.when?('19').to_s)
|
337
|
-
assert_equal('1900', When.when?('19', {:extra_year_digits=>0 }).to_s)
|
338
|
-
assert_equal('0019', When.when?('19', {:extra_year_digits=>-1}).to_s)
|
339
|
-
|
340
|
-
[['019', ["0019", -2, "0019-01-01" ]],
|
341
|
-
['0019', ["0019", -2, "0019-01-01" ]],
|
342
|
-
['+019', ["1900", -4, "1900-01-01" ]],
|
343
|
-
['-119', ["-11900", -4, "-11900-01-01"]],
|
344
|
-
['-0119', ["-00119", -2, "-00119-01-01"]],
|
345
|
-
['+01985-04', ["1985-04", -1, "1985-04-01" ]],
|
346
|
-
['+001985-04', ["1985-04", -1, "1985-04-01" ]]].each do |sample|
|
347
|
-
date = When.when?(sample[0])
|
348
|
-
assert_equal(sample[1], [date.to_s, date.precision, date.floor.to_s])
|
349
|
-
end
|
350
|
-
end
|
351
|
-
end
|
352
|
-
|
353
|
-
#
|
354
|
-
# ISO 8601 Date Representation
|
355
|
-
#
|
356
|
-
class Date < TestCase
|
357
|
-
def test__to_array_basic_ISO8601
|
358
|
-
assert_equal([nil, [1985,4,12]], When::BasicTypes::Date._to_array_basic_ISO8601('19850412'))
|
359
|
-
assert_equal([nil, [1985]], When::BasicTypes::Date._to_array_basic_ISO8601('1985'))
|
360
|
-
assert_equal([:century, [1900]], When::BasicTypes::Date._to_array_basic_ISO8601('19'))
|
361
|
-
end
|
362
|
-
|
363
|
-
def test__to_array_extended_ISO8601
|
364
|
-
assert_equal([nil, [1985,4,12]], When::BasicTypes::Date._to_array_extended_ISO8601('1985-04-12'))
|
365
|
-
assert_equal([nil, [1985,4]], When::BasicTypes::Date._to_array_extended_ISO8601('1985-04'))
|
366
|
-
# assert_equal([19,nil,nil], When::BasicTypes::Date._to_array_extended_ISO8601('19'))
|
367
|
-
end
|
368
|
-
end
|
369
|
-
|
370
|
-
#
|
371
|
-
# ISO 8601 Time Representation
|
372
|
-
#
|
373
|
-
class Time < TestCase
|
374
|
-
def test_nothing
|
375
|
-
end
|
376
|
-
end
|
377
|
-
|
378
|
-
#
|
379
|
-
# M17n String
|
380
|
-
#
|
381
|
-
class M17n < TestCase
|
382
|
-
Term1 = When::BasicTypes::M17n.new('Tokyo', 'zip')
|
383
|
-
Term2 = When::BasicTypes::M17n.new(<<LABEL, <<NS, <<LOCALE)
|
384
|
-
[
|
385
|
-
Getsuyou
|
386
|
-
Monday
|
387
|
-
]
|
388
|
-
LABEL
|
389
|
-
ISO, jwiki=http://ja.wikipedia.org/wiki/, ewiki=http://en.wikipedia.org/wiki/
|
390
|
-
NS
|
391
|
-
=jwiki:, en=ewiki:
|
392
|
-
LOCALE
|
393
|
-
Term3 = When.Resource('_co:Common::Week::Monday::Monday')
|
394
|
-
|
395
|
-
def test__code_space
|
396
|
-
assert_equal('zip', Term1.codeSpace)
|
397
|
-
assert_equal("ISO", Term2.codeSpace)
|
398
|
-
assert_equal(nil, Term3.codeSpace)
|
399
|
-
end
|
400
|
-
|
401
|
-
def test__label
|
402
|
-
assert_equal("Getsuyou", Term2.label.to_s)
|
403
|
-
assert_equal(String, Term2.label.class)
|
404
|
-
assert_equal("Monday", Term3.label.to_s)
|
405
|
-
end
|
406
|
-
end
|
407
|
-
|
408
|
-
class Object < TestCase
|
409
|
-
def test_nothing
|
410
|
-
end
|
411
|
-
end
|
412
|
-
|
413
|
-
end
|
414
|
-
|
415
|
-
module RS
|
416
|
-
class Identifier < TestCase
|
417
|
-
def test__forward
|
418
|
-
name = When.Residue('Monday').label
|
419
|
-
monday = When::RS::Identifier.new(name)
|
420
|
-
assert_equal("月曜日", monday / 'ja')
|
421
|
-
end
|
422
|
-
end
|
423
|
-
end
|
424
|
-
|
425
|
-
module EX
|
426
|
-
class Extent < TestCase
|
427
|
-
def test_nothing
|
428
|
-
end
|
429
|
-
end
|
430
|
-
end
|
431
|
-
end
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 2011-2014 Takashi SUGA
|
4
|
+
|
5
|
+
You may use and/or modify this file according to the license
|
6
|
+
described in the LICENSE.txt file included in this archive.
|
7
|
+
=end
|
8
|
+
|
9
|
+
module MiniTest
|
10
|
+
|
11
|
+
module BasicTypes
|
12
|
+
|
13
|
+
#
|
14
|
+
# ISO 8601 Date and Time Representation
|
15
|
+
#
|
16
|
+
class DateTime < TestCase
|
17
|
+
|
18
|
+
def test__to_array_assert
|
19
|
+
assert_raises(TypeError) { When::BasicTypes::DateTime._to_array(1) }
|
20
|
+
assert_raises(ArgumentError) { When::BasicTypes::DateTime._to_array("") }
|
21
|
+
end
|
22
|
+
|
23
|
+
def test__x0301_5_2_1
|
24
|
+
[ # 5.2.1 暦日付
|
25
|
+
["19850412", [ 0, "1985-04-12"]], # 1 完全表記 基本形式
|
26
|
+
["1985-04-12", [ 0, "1985-04-12"]], # 1 完全表記 拡張形式
|
27
|
+
["1985-04", [-1, "1985-04" ]], # 2 a) 下位省略表記 特定の月 基本形式
|
28
|
+
["1985", [-2, "1985" ]], # 2 b) 下位省略表記 特定の年 基本形式
|
29
|
+
["19", [-4, "1900" ]], # 2 c) 下位省略表記 特定の百年台 基本形式
|
30
|
+
["850412", [ 0, "1985-04-12"]], # 3 a) 上位省略表記 ある百年代の特定の日 基本形式
|
31
|
+
["85-04-12", [ 0, "1985-04-12"]], # 3 a) 上位省略表記 ある百年代の特定の日 拡張形式
|
32
|
+
["-8504", [-1, "1985-04" ]], # 3 b) 上位省略表記 ある百年代の特定の月 基本形式
|
33
|
+
["-85-04", [-1, "1985-04" ]], # 3 b) 上位省略表記 ある百年代の特定の月 拡張形式
|
34
|
+
["-85", [-2, "1985" ]], # 3 c) 上位省略表記 ある百年代の特定の年 基本形式
|
35
|
+
["--0412", [ 0, "1985-04-12"]], # 3 d) 上位省略表記 ある年の特定の月日 基本形式
|
36
|
+
["--04-12", [ 0, "1985-04-12"]], # 3 d) 上位省略表記 ある年の特定の月日 拡張形式
|
37
|
+
["--04", [-1, "1985-04" ]], # 3 e) 上位省略表記 ある年の特定の月 基本形式
|
38
|
+
["---12", [ 0, "1985-04-12"]], # 3 f) 上位省略表記 ある月の特定の日 基本形式
|
39
|
+
["+019850412", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
|
40
|
+
["+01985-04-12", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
|
41
|
+
["+01985-04", [-1, "1985-04" ]], # 4 b) 拡大表記 特定の月 基本形式
|
42
|
+
["+01985", [-2, "1985" ]], # 4 c) 拡大表記 特定の年 基本形式
|
43
|
+
["+019", [-4, "1900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
44
|
+
].each do |sample|
|
45
|
+
date = When.when?(sample[0], {:abbr=>[1985,4,12]})
|
46
|
+
assert_equal(sample[1], [date.precision, date.to_s])
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def test__x0301_5_2_1_4
|
51
|
+
[ # 5.2.1.4 暦日付 拡大表記(Abbr 指定なし)
|
52
|
+
["-019850412", [ 0, "-01985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
|
53
|
+
["+019850412", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
|
54
|
+
["-01985-04-12", [ 0, "-01985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
|
55
|
+
["+01985-04-12", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
|
56
|
+
["-01985-04", [-1, "-01985-04" ]], # 4 b) 拡大表記 特定の月 基本形式
|
57
|
+
["+01985-04", [-1, "1985-04" ]], # 4 b) 拡大表記 特定の月 基本形式
|
58
|
+
["-01985", [-2, "-01985" ]], # 4 c) 拡大表記 特定の年 基本形式
|
59
|
+
["+01985", [-2, "1985" ]], # 4 c) 拡大表記 特定の年 基本形式
|
60
|
+
["-0190", [-2, "-00190" ]], # 4 d) 拡大表記 特定の年 基本形式
|
61
|
+
["+0190", [-2, "0190" ]], # 4 d) 拡大表記 特定の年 基本形式
|
62
|
+
["-019", [-4, "-01900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
63
|
+
["+019", [-4, "1900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
64
|
+
["-119", [-4, "-11900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
65
|
+
["+119", [-4, "+11900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
66
|
+
].each do |sample|
|
67
|
+
date = When.when?(sample[0])
|
68
|
+
assert_equal(sample[1], [date.precision, date.to_s])
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def test__x0301_5_2_2
|
73
|
+
[ # 5.2.2 年間通算日
|
74
|
+
["1985102", [ 0, "1985-04-12"]], # 1 完全表記 基本形式
|
75
|
+
["1985-102", [ 0, "1985-04-12"]], # 1 完全表記 拡張形式
|
76
|
+
["85102", [ 0, "1985-04-12"]], # 2 a) 上位省略表記 ある百年代の特定の年日 基本形式
|
77
|
+
["85-102", [ 0, "1985-04-12"]], # 2 a) 上位省略表記 ある百年代の特定の年日 拡張形式
|
78
|
+
["-102", [ 0, "1985-04-12"]], # 2 b) 上位省略表記 ある年の特定の日 基本形式
|
79
|
+
["+01985102", [ 0, "1985-04-12"]], # 3 a) 拡大表記 特定の日 基本形式
|
80
|
+
["+01985-102", [ 0, "1985-04-12"]], # 3 a) 拡大表記 特定の日 拡張形式
|
81
|
+
].each do |sample|
|
82
|
+
date = When.when?(sample[0], {:abbr=>[1985,4,12]})
|
83
|
+
assert_equal(sample[1], [date.precision, date.to_s])
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
def test__x0301_5_2_3
|
88
|
+
[ # 5.2.3 暦週日付
|
89
|
+
["1985W155", [ 0, "1985-04-12"]], # 1 完全表記 基本形式
|
90
|
+
["1985-W15-5", [ 0, "1985-04-12"]], # 1 完全表記 拡張形式
|
91
|
+
["1985W15", [ 0, "1985-04-08...1985-04-15"]], # 2 a) 下位省略表記 基本形式
|
92
|
+
["1985-W15", [ 0, "1985-04-08...1985-04-15"]], # 2 a) 下位省略表記 拡張形式
|
93
|
+
["85W155", [ 0, "1985-04-12"]], # 3 a) 上位省略表記 ある百年代における年週日 基本形式
|
94
|
+
["85-W15-5", [ 0, "1985-04-12"]], # 3 a) 上位省略表記 ある百年代における年週日 拡張形式
|
95
|
+
["85W15", [ 0, "1985-04-08...1985-04-15"]], # 3 b) 上位省略表記 ある百年代における年週 基本形式
|
96
|
+
["85-W15", [ 0, "1985-04-08...1985-04-15"]], # 3 b) 上位省略表記 ある百年代における年週 拡張形式
|
97
|
+
["-5W155", [ 0, "1985-04-12"]], # 3 c) 上位省略表記 ある十年代における年週日 基本形式
|
98
|
+
["-5-W15-5", [ 0, "1985-04-12"]], # 3 c) 上位省略表記 ある十年代における年週日 拡張形式
|
99
|
+
["-5W15", [ 0, "1985-04-08...1985-04-15"]], # 3 d) 上位省略表記 ある十年代における年週 基本形式
|
100
|
+
["-5-W15", [ 0, "1985-04-08...1985-04-15"]], # 3 d) 上位省略表記 ある十年代における年週 拡張形式
|
101
|
+
["-W155", [ 0, "1985-04-12"]], # 3 e) 上位省略表記 ある年の週日 基本形式
|
102
|
+
["-W15-5", [ 0, "1985-04-12"]], # 3 e) 上位省略表記 ある年の週日 拡張形式
|
103
|
+
["-W15", [ 0, "1985-04-08...1985-04-15"]], # 3 f) 上位省略表記 ある年の週 基本形式
|
104
|
+
["-W-5", [ 0, "1985-04-12"]], # 3 g) 上位省略表記 ある週の日 基本形式
|
105
|
+
["+01985W155", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
|
106
|
+
["+01985-W15-5", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
|
107
|
+
["+01985W15", [ 0, "1985-04-08...1985-04-15"]], # 4 b) 拡大表記 特定の週 基本形式
|
108
|
+
["+01985-W15", [ 0, "1985-04-08...1985-04-15"]], # 4 c) 拡大表記 特定の週 拡張形式
|
109
|
+
].each do |sample|
|
110
|
+
date = When.when?(sample[0], {:abbr=>[1985,15,5]})
|
111
|
+
assert_equal(sample[1], [date.precision, date.to_s])
|
112
|
+
end
|
113
|
+
|
114
|
+
result = []
|
115
|
+
(1900...1928).each do |year|
|
116
|
+
date = ::Date.new(year, 1, 1) - 7
|
117
|
+
14.times do
|
118
|
+
gdate = When.TemporalPosition(date.year, date.month, date.day)
|
119
|
+
strdate = date.strftime('%G-W%V-%u')
|
120
|
+
strgdate = gdate.strftime('%G-W%V-%u')
|
121
|
+
w1date = When::WeekDate ^ date
|
122
|
+
w2date = When.when?(strdate, {:frame=>When::WeekDate})
|
123
|
+
strw1date = w1date.strftime
|
124
|
+
strw2date = w2date.strftime
|
125
|
+
result << [[strdate, strgdate, strw1date, strw2date].uniq.size, date.jd == w1date.to_i, date.jd == w2date.to_i]
|
126
|
+
end
|
127
|
+
end
|
128
|
+
assert_equal([[1, true, true]], result.uniq)
|
129
|
+
end
|
130
|
+
|
131
|
+
def test__x0301_5_2_4
|
132
|
+
[ # 5.2.4 元号による日付
|
133
|
+
["60.04.12", [ 0, "S60(1985).04.12"]], # 1 完全表記 基本形式
|
134
|
+
["S60.04.12", [ 0, "S60(1985).04.12"]], # 1 完全表記 拡張形式
|
135
|
+
].each do |sample|
|
136
|
+
date = When.when?(sample[0], {:era_name=>'S'})
|
137
|
+
assert_equal(sample[1], [date.precision, date.to_s])
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
def test__x0301_5_3_1
|
142
|
+
When::TM::Clock.local_time = When::UTC
|
143
|
+
|
144
|
+
[ # 5.3.1 地方時の時刻
|
145
|
+
["T232050", [ 3, "T23:20:50" ]], # 1 完全表記 基本形式
|
146
|
+
["T23:20:50", [ 3, "T23:20:50" ]], # 1 完全表記 拡張形式
|
147
|
+
["T2320", [ 2, "T23:20" ]], # 2 a) 下位省略表記 特定の時分 基本形式
|
148
|
+
["T23:20", [ 2, "T23:20" ]], # 2 a) 下位省略表記 特定の時分 拡張形式
|
149
|
+
["T23", [ 1, "T23" ]], # 2 b) 下位省略表記 特定の時 基本形式
|
150
|
+
].each do |sample|
|
151
|
+
date = When.when?(sample[0])
|
152
|
+
assert_equal(sample[1], [date.precision, date.to_s])
|
153
|
+
end
|
154
|
+
|
155
|
+
[ # 3 小数点を用いる表記
|
156
|
+
["T232050.5", 4, [ 4, "T23:20:50.5" ]], # a) 特定の時分秒及び秒の小数部分 基本形式
|
157
|
+
["T152735,5", 4, [ 4, "T15:27:35.5" ]], # a) 特定の時分秒及び秒の小数部分 基本形式
|
158
|
+
["T23:20:50.5", 4, [ 4, "T23:20:50.5" ]], # a) 特定の時分秒及び秒の小数部分 拡張形式
|
159
|
+
["T2320.8", 3, [ 3, "T23:20:48" ]], # b) 特定の時分及び分の小数部分 基本形式
|
160
|
+
["T23:20.8", 3, [ 3, "T23:20:48" ]], # b) 特定の時分及び分の小数部分 拡張形式
|
161
|
+
["T23.3", 2, [ 2, "T23:18" ]], # c) 特定の時及び時の小数部分 基本形式
|
162
|
+
].each do |sample|
|
163
|
+
date = When.when?(sample[0], {:precision=>sample[1]})
|
164
|
+
assert_equal(sample[2], [date.precision, date.to_s])
|
165
|
+
end
|
166
|
+
|
167
|
+
[ # 4 上位省略表記
|
168
|
+
["T-2050", [ 3, "T23:20:50" ]], # a) ある時“hour”における特定の分秒 基本形式
|
169
|
+
["T-:20:50", [ 3, "T23:20:50" ]], # a) ある時“hour”における特定の分秒 拡張形式
|
170
|
+
["T-20", [ 2, "T23:20" ]], # b) ある時“hour”における特定の分 基本形式
|
171
|
+
["T--50", [ 3, "T23:20:50" ]], # c) ある分の特定の秒 基本形式
|
172
|
+
].each do |sample|
|
173
|
+
date = When.when?(sample[0], {:abbr=>[1985,4,12,23,20,50]})
|
174
|
+
assert_equal(sample[1], [date.precision, date.to_s])
|
175
|
+
end
|
176
|
+
|
177
|
+
[ # 4 小数点を用いる上位省略表記
|
178
|
+
["T-2050.5", 4, [ 4, "T23:20:50.5" ]], # a) ある時“hour”における特定の分秒 基本形式
|
179
|
+
["T-2735,5", 4, [ 4, "T23:27:35.5" ]], # a) ある時“hour”における特定の分秒 基本形式
|
180
|
+
["T-:20:50.5", 4, [ 4, "T23:20:50.5" ]], # a) ある時“hour”における特定の分秒 拡張形式
|
181
|
+
["T-20.8", 3, [ 3, "T23:20:48" ]], # b) ある時“hour”における特定の分 基本形式
|
182
|
+
["T--50.5", 4, [ 4, "T23:20:50.5" ]], # c) ある分の特定の秒 基本形式
|
183
|
+
].each do |sample|
|
184
|
+
date = When.when?(sample[0], {:abbr=>[1985,4,12,23,20,50], :precision=>sample[1]})
|
185
|
+
assert_equal(sample[2], [date.precision, date.to_s])
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
def test__x0301_5_3_2
|
190
|
+
When::TM::Clock.local_time = When.Clock("+0900")
|
191
|
+
[ # 5.3.2 夜の12時
|
192
|
+
["19850412T240000", [ 3, "1985-04-13T00:00:00"]], # 完全表記 基本形式
|
193
|
+
["1985-04-12T24:00:00", [ 3, "1985-04-13T00:00:00"]], # 完全表記 拡張形式
|
194
|
+
["19850412T2400", [ 2, "1985-04-13T00:00" ]], # 下位省略表記 基本形式
|
195
|
+
["1985-04-12T24:00", [ 2, "1985-04-13T00:00" ]], # 下位省略表記 拡張形式
|
196
|
+
].each do |sample|
|
197
|
+
date = When.when?(sample[0])
|
198
|
+
assert_equal(sample[1], [date.precision, date.to_s])
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
def test__x0301_5_3_3
|
203
|
+
[ # 5.3.3 協定世界時(UTC)の時刻
|
204
|
+
["T232050Z", [ 3, "T23:20:50Z" ]], # 1 完全表記 基本形式
|
205
|
+
["T23:20:50Z", [ 3, "T23:20:50Z" ]], # 1 完全表記 拡張形式
|
206
|
+
["T2320Z", [ 2, "T23:20Z" ]], # 2 a) 下位省略表記 特定の時分 基本形式
|
207
|
+
["T23:20Z", [ 2, "T23:20Z" ]], # 2 a) 下位省略表記 特定の時分 拡張形式
|
208
|
+
["T23Z", [ 1, "T23Z" ]], # 2 b) 下位省略表記 特定の時 基本形式
|
209
|
+
].each do |sample|
|
210
|
+
date = When.when?(sample[0])
|
211
|
+
assert_equal(sample[1], [date.precision, date.to_s])
|
212
|
+
end
|
213
|
+
|
214
|
+
[ # 3 小数点を用いる表記
|
215
|
+
["T232050.5Z", 4, [ 4, "T23:20:50.5Z" ]], # a) 特定の時分秒及び秒の小数部分 基本形式
|
216
|
+
["T23:20:50.5Z",4, [ 4, "T23:20:50.5Z" ]], # a) 特定の時分秒及び秒の小数部分 拡張形式
|
217
|
+
["T2320.8Z", 3, [ 3, "T23:20:48Z" ]], # b) 特定の時分及び分の小数部分 基本形式
|
218
|
+
["T23:20.8Z", 3, [ 3, "T23:20:48Z" ]], # b) 特定の時分及び分の小数部分 拡張形式
|
219
|
+
["T23.3Z", 2, [ 2, "T23:18Z" ]], # c) 特定の時及び時の小数部分 基本形式
|
220
|
+
].each do |sample|
|
221
|
+
date = When.when?(sample[0], {:precision=>sample[1]})
|
222
|
+
assert_equal(sample[2], [date.precision, date.to_s])
|
223
|
+
end
|
224
|
+
|
225
|
+
[ # 4 上位省略表記
|
226
|
+
["T-2050Z", [ 3, "T23:20:50Z" ]], # a) ある時“hour”における特定の分秒 基本形式
|
227
|
+
["T-:20:50Z", [ 3, "T23:20:50Z" ]], # a) ある時“hour”における特定の分秒 拡張形式
|
228
|
+
["T-20Z", [ 2, "T23:20Z" ]], # b) ある時“hour”における特定の分 基本形式
|
229
|
+
["T--50Z", [ 3, "T23:20:50Z" ]], # c) ある分の特定の秒 基本形式
|
230
|
+
].each do |sample|
|
231
|
+
date = When.when?(sample[0], {:abbr=>[1985,4,12,23,20,50]})
|
232
|
+
assert_equal(sample[1], [date.precision, date.to_s])
|
233
|
+
end
|
234
|
+
|
235
|
+
[ # 4 小数点を用いる上位省略表記
|
236
|
+
["T-2050.5Z", 4, [ 4, "T23:20:50.5Z" ]], # a) ある時“hour”における特定の分秒 基本形式
|
237
|
+
["T-:20:50.5Z", 4, [ 4, "T23:20:50.5Z" ]], # a) ある時“hour”における特定の分秒 拡張形式
|
238
|
+
["T-20.8Z", 3, [ 3, "T23:20:48Z" ]], # b) ある時“hour”における特定の分 基本形式
|
239
|
+
["T--50.5Z", 4, [ 4, "T23:20:50.5Z" ]], # c) ある分の特定の秒 基本形式
|
240
|
+
].each do |sample|
|
241
|
+
date = When.when?(sample[0], {:abbr=>[1985,4,12,23,20,50], :precision=>sample[1]})
|
242
|
+
assert_equal(sample[2], [date.precision, date.to_s])
|
243
|
+
end
|
244
|
+
end
|
245
|
+
|
246
|
+
def test__x0301_5_3_4
|
247
|
+
[ # 5.3.4 地方時及び協定世界時
|
248
|
+
["T+0100", [ 0, "T+01:00" ]], # 1 地方時と協定世界時との差(時差の表記) 基本形式
|
249
|
+
["T+01", [ 0, "T+01:00" ]], # 1 地方時と協定世界時との差(時差の表記) 基本形式
|
250
|
+
["T+01:00", [ 0, "T+01:00" ]], # 1 地方時と協定世界時との差(時差の表記) 拡張形式
|
251
|
+
["T152746+0100", [ 3, "T15:27:46+01:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 基本形式
|
252
|
+
["T152746-0500", [ 3, "T15:27:46-05:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 基本形式
|
253
|
+
["T152746+01", [ 3, "T15:27:46+01:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 基本形式
|
254
|
+
["T152746-05", [ 3, "T15:27:46-05:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 基本形式
|
255
|
+
["T15:27:46+01:00", [ 3, "T15:27:46+01:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 拡張形式
|
256
|
+
["T15:27:46-05:00", [ 3, "T15:27:46-05:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 拡張形式
|
257
|
+
["T15:27:46+01", [ 3, "T15:27:46+01:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 拡張形式
|
258
|
+
["T15:27:46-05", [ 3, "T15:27:46-05:00" ]], # 2 地方時と協定世界時との差(地方時の表記) 拡張形式
|
259
|
+
].each do |sample|
|
260
|
+
date = When.when?(sample[0])
|
261
|
+
assert_equal(sample[1], [date.precision, date.to_s])
|
262
|
+
end
|
263
|
+
end
|
264
|
+
|
265
|
+
def test__x0301_5_4_2
|
266
|
+
When::TM::Clock.local_time = When.Clock("+0900")
|
267
|
+
[ # 5.4.2 完全表記以外の表記
|
268
|
+
["19850412T1015", [ 2, "1985-04-12T10:15" ]], # a) 暦日付及び地方時 基本形式
|
269
|
+
["1985-04-12T10:15", [ 2, "1985-04-12T10:15" ]], # a) 暦日付及び地方時 拡張形式
|
270
|
+
["1985102T1015Z", [ 2, "1985-04-12T10:15Z" ]], # b) 年間通算日及び協定世界時 基本形式
|
271
|
+
["1985-102T10:15Z", [ 2, "1985-04-12T10:15Z" ]], # b) 年間通算日及び協定世界時 拡張形式
|
272
|
+
["1985W155T1015+0400", [ 2, "1985-04-12T10:15+04:00" ]], # c) 暦週日付,地方時,及びUTCとの差 基本形式
|
273
|
+
["1985-W15-5T10:15+04:00",[ 2, "1985-04-12T10:15+04:00" ]], # c) 暦週日付,地方時,及びUTCとの差 拡張形式
|
274
|
+
].each do |sample|
|
275
|
+
date = When.when?(sample[0])
|
276
|
+
assert_equal(sample[1], [date.precision, date.to_s])
|
277
|
+
end
|
278
|
+
end
|
279
|
+
|
280
|
+
def test__x0301_5_5_4
|
281
|
+
When::TM::Clock.local_time = When.Clock("+0900") # 時間間隔の表記
|
282
|
+
[ # 5.5.4 完全表記
|
283
|
+
["19850412T232050/19850625T103000", "1985-04-12T23:20:50..1985-06-25T10:30:00" ], # 1 始点及び終点 基本形式
|
284
|
+
["1985-04-12T23:20:50/1985-06-25T10:30:00", "1985-04-12T23:20:50..1985-06-25T10:30:00" ], # 1 始点及び終点 拡張形式
|
285
|
+
["P2Y10M15DT10H30M20S", "P2Y10M15DT10H30M20S" ], # 2.1 時間の単位の指示記号付
|
286
|
+
["P6W", "P6W" ], # 2.1 時間の単位の指示記号付
|
287
|
+
["P1Y6M", "P1Y6M" ], # 2.1 時間の単位の指示記号付
|
288
|
+
["PT72H", "PT72H" ], # 2.1 時間の単位の指示記号付
|
289
|
+
["P00021015T103020", "P2Y10M15DT10H30M20S" ], # 2.2 代用形式 基本形式
|
290
|
+
["P0001-06", "P1Y6M" ], # 2.2 代用形式 基本形式
|
291
|
+
["P010600", "P1Y6M" ], # 2.2 代用形式 基本形式
|
292
|
+
["P0002-10-15T10:30:20", "P2Y10M15DT10H30M20S" ], # 2.2 代用形式 拡張形式
|
293
|
+
["19850412T232050/P1Y2M15DT12H30M0S", "1985-04-12T23:20:50...1986-06-28T11:50:50"], # 3 始点及び時間長 基本形式
|
294
|
+
["19850412T232050/P00010215T123000", "1985-04-12T23:20:50...1986-06-28T11:50:50"], # 3 始点及び時間長 基本形式
|
295
|
+
["1985-04-12T23:20:50/P1Y2M15DT12H30M0S", "1985-04-12T23:20:50...1986-06-28T11:50:50"], # 3 始点及び時間長 拡張形式
|
296
|
+
["1985-04-12T23:20:50/P0001-02-15T12:30:00","1985-04-12T23:20:50...1986-06-28T11:50:50"], # 3 始点及び時間長 拡張形式
|
297
|
+
["P1Y2M15DT12H30M0S/19850412T232050", "1984-01-28T10:50:50..1985-04-12T23:20:50" ], # 4 時間長及び終点 基本形式
|
298
|
+
["P00010215T123000/19850412T232050", "1984-01-28T10:50:50..1985-04-12T23:20:50" ], # 4 時間長及び終点 基本形式
|
299
|
+
["P1Y2M15DT12H30M0S/1985-04-12T23:20:50", "1984-01-28T10:50:50..1985-04-12T23:20:50" ], # 4 時間長及び終点 拡張形式
|
300
|
+
["P0001-02-15T12:30:00/1985-04-12T23:20:50","1984-01-28T10:50:50..1985-04-12T23:20:50" ], # 4 時間長及び終点 拡張形式
|
301
|
+
].each do |sample|
|
302
|
+
assert_equal(sample[1], When.when?(sample[0]).to_s)
|
303
|
+
end
|
304
|
+
end
|
305
|
+
|
306
|
+
def test__x0301_5_6_3
|
307
|
+
When::TM::Clock.local_time = When.Clock("+0900") # 反復時間間隔の表記
|
308
|
+
[ # 5.6.3 完全表記
|
309
|
+
["R2/19850412T232050/19850625T103000", ["1985-04-12T23:20:50","1985-06-25T10:30:00"]], # 始点及び終点
|
310
|
+
["R2/P2Y10M15DT10H30M20S", ["P2Y10M15DT10H30M20S","P2Y10M15DT10H30M20S"]], # 時間間隔
|
311
|
+
["R2/19850412T232050/P1Y2M15DT12H30M0S", ["1985-04-12T23:20:50","1986-06-28T11:50:50"]], # 始点及び時間間隔
|
312
|
+
["R2/P1Y2M15DT12H30M0S/19850412T232050", ["1984-01-28T10:50:50","1985-04-12T23:20:50"]], # 時間間隔及び終点
|
313
|
+
].each do |sample|
|
314
|
+
event = When.when?(sample[0])
|
315
|
+
sample[1].each do |date|
|
316
|
+
assert_equal(date, event.shift.to_s)
|
317
|
+
end
|
318
|
+
end
|
319
|
+
[ # 5.6.3 完全表記
|
320
|
+
["R/19850412T232050/19850625T103000", ["1985-04-12T23:20:50","1985-06-25T10:30:00"]], # 始点及び終点
|
321
|
+
["R/19850412T232050/P1Y2M15DT12H30M0S", ["1985-04-12T23:20:50","1986-06-28T11:50:50"]], # 始点及び時間間隔
|
322
|
+
].each do |sample|
|
323
|
+
event = When.when?(sample[0]).each
|
324
|
+
sample[1].each do |date|
|
325
|
+
assert_equal(date, event.succ.to_s)
|
326
|
+
end
|
327
|
+
end
|
328
|
+
end
|
329
|
+
|
330
|
+
def test__abbr_and_extra_year_digits
|
331
|
+
|
332
|
+
assert_equal('-00500', When.when?('-005').to_s)
|
333
|
+
assert_equal('2013-01-05', When.when?('-005', {:abbr=>2013}).to_s)
|
334
|
+
assert_equal('-000005', When.when?('-005', {:extra_year_digits=>2}).to_s)
|
335
|
+
|
336
|
+
assert_equal('1900', When.when?('19').to_s)
|
337
|
+
assert_equal('1900', When.when?('19', {:extra_year_digits=>0 }).to_s)
|
338
|
+
assert_equal('0019', When.when?('19', {:extra_year_digits=>-1}).to_s)
|
339
|
+
|
340
|
+
[['019', ["0019", -2, "0019-01-01" ]],
|
341
|
+
['0019', ["0019", -2, "0019-01-01" ]],
|
342
|
+
['+019', ["1900", -4, "1900-01-01" ]],
|
343
|
+
['-119', ["-11900", -4, "-11900-01-01"]],
|
344
|
+
['-0119', ["-00119", -2, "-00119-01-01"]],
|
345
|
+
['+01985-04', ["1985-04", -1, "1985-04-01" ]],
|
346
|
+
['+001985-04', ["1985-04", -1, "1985-04-01" ]]].each do |sample|
|
347
|
+
date = When.when?(sample[0])
|
348
|
+
assert_equal(sample[1], [date.to_s, date.precision, date.floor.to_s])
|
349
|
+
end
|
350
|
+
end
|
351
|
+
end
|
352
|
+
|
353
|
+
#
|
354
|
+
# ISO 8601 Date Representation
|
355
|
+
#
|
356
|
+
class Date < TestCase
|
357
|
+
def test__to_array_basic_ISO8601
|
358
|
+
assert_equal([nil, [1985,4,12]], When::BasicTypes::Date._to_array_basic_ISO8601('19850412'))
|
359
|
+
assert_equal([nil, [1985]], When::BasicTypes::Date._to_array_basic_ISO8601('1985'))
|
360
|
+
assert_equal([:century, [1900]], When::BasicTypes::Date._to_array_basic_ISO8601('19'))
|
361
|
+
end
|
362
|
+
|
363
|
+
def test__to_array_extended_ISO8601
|
364
|
+
assert_equal([nil, [1985,4,12]], When::BasicTypes::Date._to_array_extended_ISO8601('1985-04-12'))
|
365
|
+
assert_equal([nil, [1985,4]], When::BasicTypes::Date._to_array_extended_ISO8601('1985-04'))
|
366
|
+
# assert_equal([19,nil,nil], When::BasicTypes::Date._to_array_extended_ISO8601('19'))
|
367
|
+
end
|
368
|
+
end
|
369
|
+
|
370
|
+
#
|
371
|
+
# ISO 8601 Time Representation
|
372
|
+
#
|
373
|
+
class Time < TestCase
|
374
|
+
def test_nothing
|
375
|
+
end
|
376
|
+
end
|
377
|
+
|
378
|
+
#
|
379
|
+
# M17n String
|
380
|
+
#
|
381
|
+
class M17n < TestCase
|
382
|
+
Term1 = When::BasicTypes::M17n.new('Tokyo', 'zip')
|
383
|
+
Term2 = When::BasicTypes::M17n.new(<<LABEL, <<NS, <<LOCALE)
|
384
|
+
[
|
385
|
+
Getsuyou
|
386
|
+
Monday
|
387
|
+
]
|
388
|
+
LABEL
|
389
|
+
ISO, jwiki=http://ja.wikipedia.org/wiki/, ewiki=http://en.wikipedia.org/wiki/
|
390
|
+
NS
|
391
|
+
=jwiki:, en=ewiki:
|
392
|
+
LOCALE
|
393
|
+
Term3 = When.Resource('_co:Common::Week::Monday::Monday')
|
394
|
+
|
395
|
+
def test__code_space
|
396
|
+
assert_equal('zip', Term1.codeSpace)
|
397
|
+
assert_equal("ISO", Term2.codeSpace)
|
398
|
+
assert_equal(nil, Term3.codeSpace)
|
399
|
+
end
|
400
|
+
|
401
|
+
def test__label
|
402
|
+
assert_equal("Getsuyou", Term2.label.to_s)
|
403
|
+
assert_equal(String, Term2.label.class)
|
404
|
+
assert_equal("Monday", Term3.label.to_s)
|
405
|
+
end
|
406
|
+
end
|
407
|
+
|
408
|
+
class Object < TestCase
|
409
|
+
def test_nothing
|
410
|
+
end
|
411
|
+
end
|
412
|
+
|
413
|
+
end
|
414
|
+
|
415
|
+
module RS
|
416
|
+
class Identifier < TestCase
|
417
|
+
def test__forward
|
418
|
+
name = When.Residue('Monday').label
|
419
|
+
monday = When::RS::Identifier.new(name)
|
420
|
+
assert_equal("月曜日", monday / 'ja')
|
421
|
+
end
|
422
|
+
end
|
423
|
+
end
|
424
|
+
|
425
|
+
module EX
|
426
|
+
class Extent < TestCase
|
427
|
+
def test_nothing
|
428
|
+
end
|
429
|
+
end
|
430
|
+
end
|
431
|
+
end
|