when_exe 0.3.5 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/irb.rc +1 -0
- data/bin/locales.rb +8 -6
- data/bin/when.rb +1 -1
- data/lib/when_exe.rb +231 -146
- data/lib/when_exe/basictypes.rb +108 -18
- data/lib/when_exe/calendarnote.rb +263 -116
- data/lib/when_exe/calendartypes.rb +413 -22
- data/lib/when_exe/coordinates.rb +58 -36
- data/lib/when_exe/core/compatibility.rb +8 -6
- data/lib/when_exe/core/extension.rb +40 -15
- data/lib/when_exe/ephemeris.rb +20 -19
- data/lib/when_exe/{region → ephemeris}/moon.rb +4 -4
- data/lib/when_exe/{region/ephemeric_notes.rb → ephemeris/notes.rb} +25 -6
- data/lib/when_exe/{region → ephemeris}/planets.rb +0 -0
- data/lib/when_exe/{region → ephemeris}/sun.rb +7 -3
- data/lib/when_exe/{region → ephemeris}/v50.rb +0 -0
- data/lib/when_exe/googlecalendar.rb +2 -2
- data/lib/when_exe/icalendar.rb +3 -3
- data/lib/when_exe/inspect.rb +130 -70
- data/lib/when_exe/locales/af.rb +2 -2
- data/lib/when_exe/locales/akt.rb +176 -0
- data/lib/when_exe/locales/ar.rb +2 -2
- data/lib/when_exe/locales/{locales.rb → autoload.rb} +6 -2
- data/lib/when_exe/locales/az.rb +2 -2
- data/lib/when_exe/locales/bg.rb +2 -2
- data/lib/when_exe/locales/bn.rb +2 -2
- data/lib/when_exe/locales/bs.rb +2 -2
- data/lib/when_exe/locales/ca.rb +2 -2
- data/lib/when_exe/locales/cs.rb +2 -2
- data/lib/when_exe/locales/cy.rb +2 -2
- data/lib/when_exe/locales/da.rb +2 -2
- data/lib/when_exe/locales/de.rb +2 -2
- data/lib/when_exe/locales/de_AT.rb +2 -2
- data/lib/when_exe/locales/de_CH.rb +2 -2
- data/lib/when_exe/locales/el.rb +2 -2
- data/lib/when_exe/locales/en.rb +2 -2
- data/lib/when_exe/locales/en_AU.rb +2 -2
- data/lib/when_exe/locales/en_CA.rb +2 -2
- data/lib/when_exe/locales/en_GB.rb +2 -2
- data/lib/when_exe/locales/en_IE.rb +2 -2
- data/lib/when_exe/locales/en_IN.rb +3 -3
- data/lib/when_exe/locales/en_NZ.rb +2 -2
- data/lib/when_exe/locales/en_US.rb +2 -2
- data/lib/when_exe/locales/en_ZA.rb +88 -0
- data/lib/when_exe/locales/encoding_conversion.rb +126 -0
- data/lib/when_exe/locales/eo.rb +2 -2
- data/lib/when_exe/locales/es.rb +2 -2
- data/lib/when_exe/locales/es_419.rb +2 -2
- data/lib/when_exe/locales/es_AR.rb +2 -2
- data/lib/when_exe/locales/es_CL.rb +2 -2
- data/lib/when_exe/locales/es_CO.rb +2 -2
- data/lib/when_exe/locales/es_CR.rb +2 -2
- data/lib/when_exe/locales/es_EC.rb +2 -2
- data/lib/when_exe/locales/es_MX.rb +2 -2
- data/lib/when_exe/locales/es_PA.rb +2 -2
- data/lib/when_exe/locales/es_PE.rb +2 -2
- data/lib/when_exe/locales/es_US.rb +84 -0
- data/lib/when_exe/locales/es_VE.rb +2 -2
- data/lib/when_exe/locales/et.rb +2 -2
- data/lib/when_exe/locales/eu.rb +2 -2
- data/lib/when_exe/locales/fa.rb +2 -2
- data/lib/when_exe/locales/fi.rb +3 -3
- data/lib/when_exe/locales/fr.rb +2 -2
- data/lib/when_exe/locales/fr_CA.rb +2 -2
- data/lib/when_exe/locales/fr_CH.rb +2 -2
- data/lib/when_exe/locales/gl.rb +2 -2
- data/lib/when_exe/locales/he.rb +3 -3
- data/lib/when_exe/locales/hi.rb +2 -2
- data/lib/when_exe/locales/hi_IN.rb +2 -2
- data/lib/when_exe/locales/hr.rb +2 -2
- data/lib/when_exe/locales/hu.rb +6 -5
- data/lib/when_exe/locales/iast.rb +90 -0
- data/lib/when_exe/locales/id.rb +2 -2
- data/lib/when_exe/locales/is.rb +2 -2
- data/lib/when_exe/locales/it.rb +2 -2
- data/lib/when_exe/locales/it_CH.rb +2 -2
- data/lib/when_exe/locales/ja.rb +2 -2
- data/lib/when_exe/locales/kn.rb +2 -2
- data/lib/when_exe/locales/ko.rb +2 -2
- data/lib/when_exe/locales/links.rb +3 -3
- data/lib/when_exe/locales/lo.rb +2 -2
- data/lib/when_exe/{parts → locales}/locale.rb +77 -49
- data/lib/when_exe/locales/lt.rb +6 -2
- data/lib/when_exe/locales/lv.rb +2 -2
- data/lib/when_exe/locales/mk.rb +2 -2
- data/lib/when_exe/locales/mn.rb +2 -2
- data/lib/when_exe/locales/ms.rb +2 -2
- data/lib/when_exe/locales/nb.rb +2 -2
- data/lib/when_exe/locales/ne.rb +2 -2
- data/lib/when_exe/locales/nl.rb +2 -2
- data/lib/when_exe/locales/nn.rb +2 -2
- data/lib/when_exe/locales/or.rb +2 -2
- data/lib/when_exe/locales/pl.rb +2 -2
- data/lib/when_exe/locales/pt.rb +2 -2
- data/lib/when_exe/locales/pt_BR.rb +2 -2
- data/lib/when_exe/locales/rm.rb +2 -2
- data/lib/when_exe/locales/ro.rb +2 -2
- data/lib/when_exe/locales/ru.rb +2 -2
- data/lib/when_exe/locales/sk.rb +2 -2
- data/lib/when_exe/locales/sl.rb +2 -2
- data/lib/when_exe/locales/sr.rb +2 -2
- data/lib/when_exe/locales/sv.rb +2 -2
- data/lib/when_exe/locales/sw.rb +2 -2
- data/lib/when_exe/locales/ta.rb +95 -0
- data/lib/when_exe/locales/th.rb +2 -2
- data/lib/when_exe/locales/tl.rb +3 -3
- data/lib/when_exe/locales/tr.rb +2 -2
- data/lib/when_exe/locales/transliteration_table.rb +62 -0
- data/lib/when_exe/locales/uk.rb +15 -15
- data/lib/when_exe/locales/ur.rb +2 -2
- data/lib/when_exe/locales/uz.rb +2 -2
- data/lib/when_exe/locales/vi.rb +2 -2
- data/lib/when_exe/locales/wo.rb +2 -2
- data/lib/when_exe/locales/zh_CN.rb +2 -2
- data/lib/when_exe/locales/zh_HK.rb +15 -15
- data/lib/when_exe/locales/zh_TW.rb +2 -2
- data/lib/when_exe/locales/zh_YUE.rb +77 -0
- data/lib/when_exe/mini_application.rb +22 -12
- data/lib/when_exe/parts/geometric_complex.rb +16 -1
- data/lib/when_exe/parts/method_cash.rb +184 -238
- data/lib/when_exe/parts/resource.rb +65 -16
- data/lib/when_exe/region/armenian.rb +56 -0
- data/lib/when_exe/region/bahai.rb +13 -13
- data/lib/when_exe/region/balinese.rb +33 -35
- data/lib/when_exe/region/chinese.rb +82 -78
- data/lib/when_exe/region/{chinese_calendar.rb → chinese/calendars.rb} +59 -40
- data/lib/when_exe/region/{chinese_epoch.rb → chinese/epochs.rb} +3 -4
- data/lib/when_exe/region/{chinese_twin.rb → chinese/twins.rb} +48 -51
- data/lib/when_exe/region/christian.rb +236 -127
- data/lib/when_exe/region/coptic.rb +9 -10
- data/lib/when_exe/region/dee.rb +48 -0
- data/lib/when_exe/region/discordian.rb +225 -0
- data/lib/when_exe/region/far_east.rb +2 -6
- data/lib/when_exe/region/french.rb +7 -17
- data/lib/when_exe/region/geologicalage.rb +0 -1
- data/lib/when_exe/region/goddess.rb +58 -0
- data/lib/when_exe/region/indian.rb +323 -231
- data/lib/when_exe/region/iranian.rb +159 -22
- data/lib/when_exe/region/islamic.rb +7 -9
- data/lib/when_exe/region/japanese.rb +14 -803
- data/lib/when_exe/region/japanese/calendars.rb +397 -0
- data/lib/when_exe/region/japanese/epochs.rb +426 -0
- data/lib/when_exe/region/{nihon_shoki.rb → japanese/nihon_shoki.rb} +0 -2
- data/lib/when_exe/region/{japanese_notes.rb → japanese/notes.rb} +179 -150
- data/lib/when_exe/region/japanese/residues.rb +1306 -0
- data/lib/when_exe/region/{japanese_twin.rb → japanese/twins.rb} +12 -15
- data/lib/when_exe/region/javanese.rb +16 -14
- data/lib/when_exe/region/jewish.rb +8 -9
- data/lib/when_exe/region/korean.rb +146 -35
- data/lib/when_exe/region/m17n.rb +8 -10
- data/lib/when_exe/region/martian.rb +44 -16
- data/lib/when_exe/region/mayan.rb +12 -10
- data/lib/when_exe/region/pope.rb +0 -1
- data/lib/when_exe/region/residue.rb +4 -5
- data/lib/when_exe/region/roman.rb +20 -24
- data/lib/when_exe/region/ryukyu.rb +3 -4
- data/lib/when_exe/region/shire.rb +97 -94
- data/lib/when_exe/region/symmetry.rb +50 -0
- data/lib/when_exe/region/thai.rb +164 -56
- data/lib/when_exe/region/tibetan.rb +86 -86
- data/lib/when_exe/region/vietnamese.rb +9 -12
- data/lib/when_exe/region/weekdate.rb +80 -0
- data/lib/when_exe/region/world.rb +65 -70
- data/lib/when_exe/region/yerm.rb +98 -0
- data/lib/when_exe/region/zoroastrian.rb +203 -0
- data/lib/when_exe/timestandard.rb +4 -4
- data/lib/when_exe/tmobjects.rb +1 -3
- data/lib/when_exe/tmposition.rb +13 -12
- data/lib/when_exe/tmreference.rb +11 -10
- data/lib/when_exe/version.rb +1 -1
- data/link_to_online_documents +3 -3
- data/test/examples/Residue.m17n +1 -1
- data/test/examples/Terms.m17n +1 -1
- data/test/test.rb +2 -1
- data/test/test/basictypes.rb +18 -2
- data/test/test/calendarnote.rb +1 -1
- data/test/test/calendartypes.rb +1 -1
- data/test/test/coordinates.rb +7 -7
- data/test/test/{region → ephemeris}/moon.rb +0 -0
- data/test/test/{region → ephemeris}/planets.rb +0 -0
- data/test/test/{region → ephemeris}/sun.rb +0 -0
- data/test/test/parts.rb +8 -13
- data/test/test/region/christian.rb +245 -0
- data/test/test/region/french.rb +16 -16
- data/test/test/region/iran.rb +34 -34
- data/test/test/region/japanese.rb +6 -4
- data/test/test/region/m17n.rb +8 -7
- data/test/test/region/mayan.rb +12 -12
- data/test/test/region/residue.rb +20 -4
- data/test/test/region/thai.rb +25 -3
- data/test/test/region/yerm.rb +146 -0
- metadata +39 -20
- data/lib/when_exe/region/japanese_residues.rb +0 -1212
- data/test/test/region/civil.rb +0 -124
data/test/test/region/french.rb
CHANGED
@@ -10,23 +10,23 @@ module Test
|
|
10
10
|
|
11
11
|
class FrenchRepublican < Test::Unit::TestCase
|
12
12
|
def test__french_republican
|
13
|
-
date = When.when? '
|
14
|
-
[["
|
15
|
-
["
|
16
|
-
["
|
17
|
-
["
|
18
|
-
["
|
19
|
-
["
|
20
|
-
["
|
21
|
-
["
|
22
|
-
["
|
23
|
-
["
|
24
|
-
["
|
25
|
-
["
|
26
|
-
["
|
27
|
-
["
|
13
|
+
date = When.when? '1.1.1^^FrenchRepublican'
|
14
|
+
[["0001-01-01", 2375840],
|
15
|
+
["0002-01-01", 2376205],
|
16
|
+
["0003-01-01", 2376570],
|
17
|
+
["0004-01-01", 2376936],
|
18
|
+
["0005-01-01", 2377301],
|
19
|
+
["0006-01-01", 2377666],
|
20
|
+
["0007-01-01", 2378031],
|
21
|
+
["0008-01-01", 2378397],
|
22
|
+
["0009-01-01", 2378762],
|
23
|
+
["0010-01-01", 2379127],
|
24
|
+
["0011-01-01", 2379492],
|
25
|
+
["0012-01-01", 2379858],
|
26
|
+
["0013-01-01", 2380223],
|
27
|
+
["0014-01-01", 2380588]].each do |sample|
|
28
28
|
assert_equal(sample, [date.to_s, date.to_i])
|
29
|
-
date += When
|
29
|
+
date += When::P1Y
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
data/test/test/region/iran.rb
CHANGED
@@ -11,40 +11,40 @@ module Test
|
|
11
11
|
class Iranian < Test::Unit::TestCase
|
12
12
|
def test__iranian
|
13
13
|
date = When.when? 'AP1391.1.1'
|
14
|
-
[["
|
15
|
-
["
|
16
|
-
["
|
17
|
-
["
|
18
|
-
["
|
19
|
-
["
|
20
|
-
["
|
21
|
-
["
|
22
|
-
["
|
23
|
-
["
|
24
|
-
["
|
25
|
-
["
|
26
|
-
["
|
27
|
-
["
|
28
|
-
["
|
29
|
-
["
|
30
|
-
["
|
31
|
-
["
|
32
|
-
["
|
33
|
-
["
|
34
|
-
["
|
35
|
-
["
|
36
|
-
["
|
37
|
-
["
|
38
|
-
["
|
39
|
-
["
|
40
|
-
["
|
41
|
-
["
|
42
|
-
["
|
43
|
-
["
|
44
|
-
["
|
45
|
-
["
|
46
|
-
["
|
47
|
-
["
|
14
|
+
[["Iranian::AH1391.01.01", 2456007], # (2012)
|
15
|
+
["Iranian::AH1392.01.01", 2456373], # (2013)
|
16
|
+
["Iranian::AH1393.01.01", 2456738], # (2014)
|
17
|
+
["Iranian::AH1394.01.01", 2457103], # (2015)
|
18
|
+
["Iranian::AH1395.01.01", 2457468], # (2016)
|
19
|
+
["Iranian::AH1396.01.01", 2457834], # (2017)
|
20
|
+
["Iranian::AH1397.01.01", 2458199], # (2018)
|
21
|
+
["Iranian::AH1398.01.01", 2458564], # (2019)
|
22
|
+
["Iranian::AH1399.01.01", 2458929], # (2020)
|
23
|
+
["Iranian::AH1400.01.01", 2459295], # (2021)
|
24
|
+
["Iranian::AH1401.01.01", 2459660], # (2022)
|
25
|
+
["Iranian::AH1402.01.01", 2460025], # (2023)
|
26
|
+
["Iranian::AH1403.01.01", 2460390], # (2024)
|
27
|
+
["Iranian::AH1404.01.01", 2460756], # (2025)
|
28
|
+
["Iranian::AH1405.01.01", 2461121], # (2026)
|
29
|
+
["Iranian::AH1406.01.01", 2461486], # (2027)
|
30
|
+
["Iranian::AH1407.01.01", 2461851], # (2028)
|
31
|
+
["Iranian::AH1408.01.01", 2462216], # (2029)
|
32
|
+
["Iranian::AH1409.01.01", 2462582], # (2030)
|
33
|
+
["Iranian::AH1410.01.01", 2462947], # (2031)
|
34
|
+
["Iranian::AH1411.01.01", 2463312], # (2032)
|
35
|
+
["Iranian::AH1412.01.01", 2463677], # (2033)
|
36
|
+
["Iranian::AH1413.01.01", 2464043], # (2034)
|
37
|
+
["Iranian::AH1414.01.01", 2464408], # (2035)
|
38
|
+
["Iranian::AH1415.01.01", 2464773], # (2036)
|
39
|
+
["Iranian::AH1416.01.01", 2465138], # (2037)
|
40
|
+
["Iranian::AH1417.01.01", 2465504], # (2038)
|
41
|
+
["Iranian::AH1418.01.01", 2465869], # (2039)
|
42
|
+
["Iranian::AH1419.01.01", 2466234], # (2040)
|
43
|
+
["Iranian::AH1420.01.01", 2466599], # (2041)
|
44
|
+
["Iranian::AH1421.01.01", 2466965], # (2042)
|
45
|
+
["Iranian::AH1422.01.01", 2467330], # (2043)
|
46
|
+
["Iranian::AH1423.01.01", 2467695], # (2044)
|
47
|
+
["Iranian::AH1424.01.01", 2468060] # (2045)
|
48
48
|
].each do |sample|
|
49
49
|
assert_equal(sample, [date.to_s, date.to_i])
|
50
50
|
date += When.Duration('P1Y')
|
@@ -10,6 +10,8 @@ module Test
|
|
10
10
|
|
11
11
|
class Japanese < Test::Unit::TestCase
|
12
12
|
|
13
|
+
include When::CalendarNote::Japanese::Index
|
14
|
+
|
13
15
|
def test_japanese_epoch
|
14
16
|
eras = When.Resource('_e:Japanese')
|
15
17
|
|
@@ -149,21 +151,21 @@ module Test
|
|
149
151
|
2449525..2449526].each do |range|
|
150
152
|
range.each do |jdn|
|
151
153
|
(When.when?(jdn) ^ When.CalendarEra('Japanese')).each do |date|
|
152
|
-
dates = When.CalendarNote('
|
154
|
+
dates = When.CalendarNote('Japanese').send(:_to_date_for_note, date)
|
153
155
|
date = When.when?(dates.o_date.to_cal_date.to_s,
|
154
156
|
{:clock=>dates.s_date.frame.time_basis})
|
155
157
|
long = dates.cal4note.s_terms.position(date)
|
156
158
|
notes = date.notes(:indices => When::DAY,
|
157
|
-
:notes =>
|
159
|
+
:notes => MD廿四節気|MD七十二候|MD六十卦|MD没|MD往亡,
|
158
160
|
:locale => 'ja').simplify[:value].compact
|
159
161
|
result << [date.to_m17n/'ja', notes]
|
160
162
|
end
|
161
163
|
end
|
162
164
|
end
|
163
165
|
assert_equal(sample.shift, result)
|
164
|
-
When::CalendarNote::
|
166
|
+
When::CalendarNote::Japanese::SolarTerms.send(:patch=, {})
|
165
167
|
end
|
166
|
-
When::CalendarNote::
|
168
|
+
When::CalendarNote::Japanese::SolarTerms.send(:patch=, nil)
|
167
169
|
end
|
168
170
|
|
169
171
|
def test__lunar_phases
|
data/test/test/region/m17n.rb
CHANGED
@@ -11,7 +11,7 @@ module Test
|
|
11
11
|
class M17n < Test::Unit::TestCase
|
12
12
|
|
13
13
|
First = [
|
14
|
-
["
|
14
|
+
["Calendar", "Calendar", nil],
|
15
15
|
["Month", "月", "http://ja.wikipedia.org/wiki/%E6%9C%88_(%E6%9A%A6)"],
|
16
16
|
["Month", "月", "http://ja.wikipedia.org/wiki/%E6%9C%88_(%E6%9A%A6)"],
|
17
17
|
["January", "1月", "http://ja.wikipedia.org/wiki/1%E6%9C%88"]
|
@@ -33,7 +33,7 @@ module Test
|
|
33
33
|
]
|
34
34
|
|
35
35
|
def test__m17n_1
|
36
|
-
['examples/Terms.m17n', '_m:
|
36
|
+
['examples/Terms.m17n', '_m:Calendar'].each do |head|
|
37
37
|
When.Resource(head)
|
38
38
|
|
39
39
|
# pp When::Parts::Resource[head].child.map {|v| v.label}
|
@@ -71,8 +71,9 @@ module Test
|
|
71
71
|
|
72
72
|
date = When.when?('CE2010.4.12')
|
73
73
|
era = When.era('CE')[0]
|
74
|
-
|
75
|
-
|
74
|
+
assert_raises(NoMethodError) {When.m17n('[::_m:Calendar::Month::*]').map {|v| v.to_s}}
|
75
|
+
When.Resource('_m:Calendar::Month::*')
|
76
|
+
assert_equal(Second.map {|v| v[0]}, When.m17n('[::_m:Calendar::Month::*]').map {|v| v.to_s})
|
76
77
|
assert_equal(["Accession", true, "http://hosi.org/When/BasicTypes/M17n/EpochEvents::Accession"],
|
77
78
|
[era['::_m:EpochEvents::Accession'].to_s,
|
78
79
|
era['::_m:EpochEvents::Accession'].registered?,
|
@@ -101,21 +102,21 @@ module Test
|
|
101
102
|
end
|
102
103
|
|
103
104
|
def test__m17n_3
|
104
|
-
january = When.Resource('_m:
|
105
|
+
january = When.Resource('_m:Calendar::Month::January')
|
105
106
|
[['en', 'January'], ['ja', '1月'], ['fr', 'janvier']].each do |sample|
|
106
107
|
assert_equal(sample[1], january.translate(sample[0]))
|
107
108
|
end
|
108
109
|
end
|
109
110
|
|
110
111
|
def test__m17n_4
|
111
|
-
january = When.Resource('_m:
|
112
|
+
january = When.Resource('_m:Calendar::Month::January')
|
112
113
|
[['en', 'January'], ['ja', '1月'], ['fr', 'janvier']].each do |sample|
|
113
114
|
assert_equal(sample[1], january.translate(sample[0]))
|
114
115
|
end
|
115
116
|
end
|
116
117
|
|
117
118
|
def test__m17n_5
|
118
|
-
month = When.Resource('_m:
|
119
|
+
month = When.Resource('_m:Calendar::Month')
|
119
120
|
[['en', 'Month'], ['ja', '月'], ['fr', 'Mois']].each do |sample|
|
120
121
|
assert_equal(sample[1], month.translate(sample[0]))
|
121
122
|
end
|
data/test/test/region/mayan.rb
CHANGED
@@ -11,28 +11,28 @@ module Test
|
|
11
11
|
class Mayan < Test::Unit::TestCase
|
12
12
|
def test__mayan_epoch
|
13
13
|
# No offset
|
14
|
-
[['PHLC13.0.0.0.0', 'PHLC13(
|
15
|
-
['HLC0.0.0.0.1', 'HLC00.00.00.00.01',
|
16
|
-
['HLC13.0.0.0.0', 'HLC13.00.00.00.00',
|
17
|
-
['HLC13.0.0.0.1', 'NLC00(
|
14
|
+
[['PHLC13.0.0.0.0', 'PHLC13(00).00.00.00.00', 584283],
|
15
|
+
['HLC0.0.0.0.1', 'HLC00.00.00.00.01', 584284],
|
16
|
+
['HLC13.0.0.0.0', 'HLC13.00.00.00.00', 2456283],
|
17
|
+
['HLC13.0.0.0.1', 'NLC00(13).00.00.00.01', 2456284]].each do |sample|
|
18
18
|
date = When.when?(sample.shift)
|
19
19
|
assert_equal(sample, [date.to_s, date.to_i])
|
20
20
|
end
|
21
21
|
|
22
22
|
# offset 0B
|
23
|
-
[['LongCount?Epoch=0D::PHLC13.0.0.0.0', 'LongCount?Epoch=0D::PHLC13(
|
24
|
-
['LongCount?Epoch=0D::HLC0.0.0.0.1', 'LongCount?Epoch=0D::HLC00.00.00.00.01',
|
25
|
-
['LongCount?Epoch=0D::HLC13.0.0.0.0', 'LongCount?Epoch=0D::HLC13.00.00.00.00',
|
26
|
-
['LongCount?Epoch=0D::HLC13.0.0.0.1', 'LongCount?Epoch=0D::NLC00(
|
23
|
+
[['LongCount?Epoch=0D::PHLC13.0.0.0.0', 'LongCount?Epoch=0D::PHLC13(00).00.00.00.00', 584283],
|
24
|
+
['LongCount?Epoch=0D::HLC0.0.0.0.1', 'LongCount?Epoch=0D::HLC00.00.00.00.01', 584284],
|
25
|
+
['LongCount?Epoch=0D::HLC13.0.0.0.0', 'LongCount?Epoch=0D::HLC13.00.00.00.00', 2456283],
|
26
|
+
['LongCount?Epoch=0D::HLC13.0.0.0.1', 'LongCount?Epoch=0D::NLC00(13).00.00.00.01', 2456284]].each do |sample|
|
27
27
|
date = When.when?(sample.shift)
|
28
28
|
assert_equal(sample, [date.to_s, date.to_i])
|
29
29
|
end
|
30
30
|
|
31
31
|
# offset 2B
|
32
|
-
[['LongCount?Epoch=2D::PHLC13.0.0.0.0', 'LongCount?Epoch=2D::PHLC13(
|
33
|
-
['LongCount?Epoch=2D::HLC0.0.0.0.1', 'LongCount?Epoch=2D::HLC00.00.00.00.01',
|
34
|
-
['LongCount?Epoch=2D::HLC13.0.0.0.0', 'LongCount?Epoch=2D::HLC13.00.00.00.00',
|
35
|
-
['LongCount?Epoch=2D::HLC13.0.0.0.1', 'LongCount?Epoch=2D::NLC00(
|
32
|
+
[['LongCount?Epoch=2D::PHLC13.0.0.0.0', 'LongCount?Epoch=2D::PHLC13(00).00.00.00.00', 584285],
|
33
|
+
['LongCount?Epoch=2D::HLC0.0.0.0.1', 'LongCount?Epoch=2D::HLC00.00.00.00.01', 584286],
|
34
|
+
['LongCount?Epoch=2D::HLC13.0.0.0.0', 'LongCount?Epoch=2D::HLC13.00.00.00.00', 2456285],
|
35
|
+
['LongCount?Epoch=2D::HLC13.0.0.0.1', 'LongCount?Epoch=2D::NLC00(13).00.00.00.01', 2456286]].each do |sample|
|
36
36
|
date = When.when?(sample.shift)
|
37
37
|
assert_equal(sample, [date.to_s, date.to_i])
|
38
38
|
end
|
data/test/test/region/residue.rb
CHANGED
@@ -32,7 +32,7 @@ module Test
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def test__kanshi
|
35
|
-
['_co:
|
35
|
+
['_co:Common', 'examples/Residue.m17n'].each do |iri|
|
36
36
|
assert_equal("Week", When.Resource(iri + '::Week').label)
|
37
37
|
assert_equal("Monday", When.Resource(iri + '::Week::Monday').label)
|
38
38
|
assert_equal(7, When.Resource(iri + '::Week::Friday').divisor)
|
@@ -92,24 +92,40 @@ module Test
|
|
92
92
|
def test__epoch_in_CE
|
93
93
|
cals = [
|
94
94
|
'Gregorian',
|
95
|
+
# 'Dee',
|
96
|
+
# 'DeeCecil',
|
95
97
|
'Coptic?Epoch=284Y',
|
96
98
|
'Coptic?Epoch=8Y',
|
97
99
|
'IndianNationalSolar',
|
100
|
+
'Nanakshahi',
|
101
|
+
'RevisedBengali',
|
98
102
|
'HinduSolar?type=SBV',
|
99
103
|
'HinduSolar?type=SBVZ',
|
100
104
|
'HinduSolar?type=SBS',
|
101
105
|
'HinduSolar?type=SBSZ',
|
106
|
+
'HinduSolar?type=SBB',
|
107
|
+
'HinduSolar?type=SBBZ',
|
108
|
+
'HinduSolar?type=SBH',
|
109
|
+
'HinduSolar?type=SBHZ',
|
102
110
|
# 'HinduLuniSolar?type=SBVA',
|
103
111
|
# 'HinduLuniSolar?type=SBVZA',
|
104
112
|
# 'HinduLuniSolar?type=SBSA',
|
105
113
|
# 'HinduLuniSolar?type=SBSZA',
|
106
|
-
|
114
|
+
# 'HinduLuniSolar?type=SBB',
|
115
|
+
# 'HinduLuniSolar?type=SBBZ',
|
116
|
+
# 'HinduLuniSolar?type=SBH',
|
117
|
+
# 'HinduLuniSolar?type=SBHZ',
|
118
|
+
'FrenchRepublican',
|
119
|
+
'Jalali',
|
120
|
+
'SolarHijri',
|
121
|
+
'SolarHijriAlgorithmic',
|
122
|
+
'Borji',
|
107
123
|
'Jewish',
|
108
|
-
'
|
124
|
+
'Thai',
|
109
125
|
# 'ThaiC',
|
110
126
|
'Tibetan',
|
111
127
|
]
|
112
|
-
eto = When.Resource('_co:
|
128
|
+
eto = When.Resource('_co:Common::干支').to('year')
|
113
129
|
today = When.when?('2012-06-13')
|
114
130
|
assert_equal([[28, 246778, 246778]],
|
115
131
|
cals.map { |cal|
|
data/test/test/region/thai.rb
CHANGED
@@ -11,7 +11,7 @@ module Test
|
|
11
11
|
class Thai < Test::Unit::TestCase
|
12
12
|
def test_thai_date
|
13
13
|
|
14
|
-
date = When.Resource('_c:
|
14
|
+
date = When.Resource('_c:ThaiP') ^ When.when?('2011-05-16')
|
15
15
|
[["1373-07-15", 2455698],
|
16
16
|
["1373-07<01", 2455699],
|
17
17
|
["1373-07<02", 2455700]].each do |sample|
|
@@ -33,7 +33,7 @@ module Test
|
|
33
33
|
date += When.Duration('P1M')
|
34
34
|
end
|
35
35
|
|
36
|
-
date = When.Resource('_c:
|
36
|
+
date = When.Resource('_c:Thai') ^ When.when?('2011-05-16')
|
37
37
|
[["1373-06-14", 2455698],
|
38
38
|
["1373-06-15", 2455699],
|
39
39
|
["1373-06<01", 2455700]].each do |sample|
|
@@ -85,9 +85,31 @@ module Test
|
|
85
85
|
date += When.Duration('P1M')
|
86
86
|
end
|
87
87
|
|
88
|
-
date = When.when?('1374-08&02', {:frame=>When.Resource('_c:
|
88
|
+
date = When.when?('1374-08&02', {:frame=>When.Resource('_c:Thai')})
|
89
89
|
assert_equal(["1374-08&02", 2456099, "adhika Āṣāḍha Śuklapakṣa"],
|
90
90
|
[date.to_s, date.to_i, date.name('Month').translate('en')])
|
91
|
+
|
92
|
+
diffs = [
|
93
|
+
[1840,-1], [1860, 1], [1865, 1], [1876,-1], [1880,-1], [1881,-1], [1891,29], [1901, 1],
|
94
|
+
[1902, 1], [1906, 1], [1910,30], [1911, 1], [1915, 1], [1916, 1], [1922, 1], [1926, 1],
|
95
|
+
[1927, 1], [1934, 1], [1935, 1], [1936, 1], [1963, 1], [2024,-1], [2025,-1], [2040,-1],
|
96
|
+
[2041,-1]]
|
97
|
+
(1840..2050).each do |year|
|
98
|
+
cdate = When.TemporalPosition(year-638, 1, 1, :frame=>'ThaiC').to_i
|
99
|
+
tdate = When.TemporalPosition(year-638, 1, 1, :frame=>'ThaiT').to_i
|
100
|
+
unless cdate == tdate
|
101
|
+
assert_equal(diffs.shift, [year, tdate - cdate])
|
102
|
+
end
|
103
|
+
end
|
104
|
+
assert_equal(0, diffs.size)
|
105
|
+
|
106
|
+
diffs = [[1961,0], [1962,0], [1963,1], [1964,1]]
|
107
|
+
(1961..1964).each do |year|
|
108
|
+
t0date = When.TemporalPosition(year-638, 1, 1, :frame=>'ThaiT').to_i
|
109
|
+
t1date = When.TemporalPosition(year-638, 1, 1, :frame=>'ThaiT?patch=1962A').to_i
|
110
|
+
assert_equal(diffs.shift, [year, t0date - t1date])
|
111
|
+
end
|
112
|
+
assert_equal(0, diffs.size)
|
91
113
|
end
|
92
114
|
end
|
93
115
|
end
|
@@ -0,0 +1,146 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 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 Test
|
10
|
+
|
11
|
+
class Yerm < Test::Unit::TestCase
|
12
|
+
Abbrs = [[], 21, [21,14], [21,14, 5]]
|
13
|
+
Crecents = %w<
|
14
|
+
-1(02(03(04
|
15
|
+
20(02(03(04
|
16
|
+
-1-02(03(04
|
17
|
+
20-02(03(04
|
18
|
+
-1-02(03
|
19
|
+
20-02(03
|
20
|
+
-1-02
|
21
|
+
20-02
|
22
|
+
-1-
|
23
|
+
20-
|
24
|
+
-1
|
25
|
+
02(03(04
|
26
|
+
03(04
|
27
|
+
04
|
28
|
+
04)03)02)-1
|
29
|
+
04)03)02)20
|
30
|
+
04)03)02--1
|
31
|
+
04)03)02-20
|
32
|
+
03)02--1
|
33
|
+
03)02-20
|
34
|
+
02--1
|
35
|
+
04)03)02
|
36
|
+
04)03
|
37
|
+
>
|
38
|
+
Results = [
|
39
|
+
[[], "-1(02(03(04", "-1-02-03-04"],
|
40
|
+
[[], "20(02(03(04", "20-02-03-04"],
|
41
|
+
[[], "-1-02(03(04", "-1-02-03-04"],
|
42
|
+
[[], "20-02(03(04", "20-02-03-04"],
|
43
|
+
[[], "-1-02(03", "-1-02-03"],
|
44
|
+
[[], "20-02(03", "20-02-03"],
|
45
|
+
[[], "-1-02", "-1-02"],
|
46
|
+
[[], "20-02", "20-02"],
|
47
|
+
[[], "-1-", "-1"],
|
48
|
+
[[], "20-", "20"],
|
49
|
+
[[], "-1", "-1"],
|
50
|
+
[[], "02(03(04", :error],
|
51
|
+
[[], "03(04", :error],
|
52
|
+
[[], "04", :error],
|
53
|
+
[[], "04)03)02)-1", "-1-02-03-04"],
|
54
|
+
[[], "04)03)02)20", "20-02-03-04"],
|
55
|
+
[[], "04)03)02--1", "-1-02-03-04"],
|
56
|
+
[[], "04)03)02-20", "20-02-03-04"],
|
57
|
+
[[], "03)02--1", "-1-02-03"],
|
58
|
+
[[], "03)02-20", "20-02-03"],
|
59
|
+
[[], "02--1", "-1-02"],
|
60
|
+
[[], "04)03)02", :error],
|
61
|
+
[[], "04)03", :error],
|
62
|
+
[21, "-1(02(03(04", "-1-02-03-04"],
|
63
|
+
[21, "20(02(03(04", "20-02-03-04"],
|
64
|
+
[21, "-1-02(03(04", "-1-02-03-04"],
|
65
|
+
[21, "20-02(03(04", "20-02-03-04"],
|
66
|
+
[21, "-1-02(03", "-1-02-03"],
|
67
|
+
[21, "20-02(03", "20-02-03"],
|
68
|
+
[21, "-1-02", "-1-02"],
|
69
|
+
[21, "20-02", "20-02"],
|
70
|
+
[21, "-1-", "-1"],
|
71
|
+
[21, "20-", "20"],
|
72
|
+
[21, "-1", "-1"],
|
73
|
+
[21, "02(03(04", "21-02-03-04"],
|
74
|
+
[21, "03(04", :error],
|
75
|
+
[21, "04", :error],
|
76
|
+
[21, "04)03)02)-1", "-1-02-03-04"],
|
77
|
+
[21, "04)03)02)20", "20-02-03-04"],
|
78
|
+
[21, "04)03)02--1", "-1-02-03-04"],
|
79
|
+
[21, "04)03)02-20", "20-02-03-04"],
|
80
|
+
[21, "03)02--1", "-1-02-03"],
|
81
|
+
[21, "03)02-20", "20-02-03"],
|
82
|
+
[21, "02--1", "-1-02"],
|
83
|
+
[21, "04)03)02", "21-02-03-04"],
|
84
|
+
[21, "04)03", :error],
|
85
|
+
[[21, 14], "-1(02(03(04", "-1-02-03-04"],
|
86
|
+
[[21, 14], "20(02(03(04", "20-02-03-04"],
|
87
|
+
[[21, 14], "-1-02(03(04", "-1-02-03-04"],
|
88
|
+
[[21, 14], "20-02(03(04", "20-02-03-04"],
|
89
|
+
[[21, 14], "-1-02(03", "-1-02-03"],
|
90
|
+
[[21, 14], "20-02(03", "20-02-03"],
|
91
|
+
[[21, 14], "-1-02", "-1-02"],
|
92
|
+
[[21, 14], "20-02", "20-02"],
|
93
|
+
[[21, 14], "-1-", "-1"],
|
94
|
+
[[21, 14], "20-", "20"],
|
95
|
+
[[21, 14], "-1", "-1"],
|
96
|
+
[[21, 14], "02(03(04", "21-02-03-04"],
|
97
|
+
[[21, 14], "03(04", "21-14-03-04"],
|
98
|
+
[[21, 14], "04", :error],
|
99
|
+
[[21, 14], "04)03)02)-1", "-1-02-03-04"],
|
100
|
+
[[21, 14], "04)03)02)20", "20-02-03-04"],
|
101
|
+
[[21, 14], "04)03)02--1", "-1-02-03-04"],
|
102
|
+
[[21, 14], "04)03)02-20", "20-02-03-04"],
|
103
|
+
[[21, 14], "03)02--1", "-1-02-03"],
|
104
|
+
[[21, 14], "03)02-20", "20-02-03"],
|
105
|
+
[[21, 14], "02--1", "-1-02"],
|
106
|
+
[[21, 14], "04)03)02", "21-02-03-04"],
|
107
|
+
[[21, 14], "04)03", "21-14-03-04"],
|
108
|
+
[[21, 14, 5], "-1(02(03(04", "-1-02-03-04"],
|
109
|
+
[[21, 14, 5], "20(02(03(04", "20-02-03-04"],
|
110
|
+
[[21, 14, 5], "-1-02(03(04", "-1-02-03-04"],
|
111
|
+
[[21, 14, 5], "20-02(03(04", "20-02-03-04"],
|
112
|
+
[[21, 14, 5], "-1-02(03", "-1-02-03"],
|
113
|
+
[[21, 14, 5], "20-02(03", "20-02-03"],
|
114
|
+
[[21, 14, 5], "-1-02", "-1-02"],
|
115
|
+
[[21, 14, 5], "20-02", "20-02"],
|
116
|
+
[[21, 14, 5], "-1-", "-1"],
|
117
|
+
[[21, 14, 5], "20-", "20"],
|
118
|
+
[[21, 14, 5], "-1", "-1"],
|
119
|
+
[[21, 14, 5], "02(03(04", "21-02-03-04"],
|
120
|
+
[[21, 14, 5], "03(04", "21-14-03-04"],
|
121
|
+
[[21, 14, 5], "04", "21-14-5-04"],
|
122
|
+
[[21, 14, 5], "04)03)02)-1", "-1-02-03-04"],
|
123
|
+
[[21, 14, 5], "04)03)02)20", "20-02-03-04"],
|
124
|
+
[[21, 14, 5], "04)03)02--1", "-1-02-03-04"],
|
125
|
+
[[21, 14, 5], "04)03)02-20", "20-02-03-04"],
|
126
|
+
[[21, 14, 5], "03)02--1", "-1-02-03"],
|
127
|
+
[[21, 14, 5], "03)02-20", "20-02-03"],
|
128
|
+
[[21, 14, 5], "02--1", "-1-02"],
|
129
|
+
[[21, 14, 5], "04)03)02", "21-02-03-04"],
|
130
|
+
[[21, 14, 5], "04)03", "21-14-03-04"]]
|
131
|
+
|
132
|
+
def test__parse_crecents
|
133
|
+
results = []
|
134
|
+
Abbrs.each do |abbr|
|
135
|
+
Crecents.each do |crecent|
|
136
|
+
begin
|
137
|
+
results << [abbr, crecent, When::CalendarTypes::Yerm.parse(crecent, abbr)]
|
138
|
+
rescue
|
139
|
+
results << [abbr, crecent, :error]
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
143
|
+
assert_equal(Results, results)
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|