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/test/region/tibetan.rb
CHANGED
@@ -1,30 +1,30 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
=begin
|
3
|
-
Copyright (C) 2011 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
|
-
class Tibetan < MiniTest::TestCase
|
12
|
-
Sample = [
|
13
|
-
"1991-05-01-", "1991-05-02-", "1991-05-03-", "1991-05-04-", "1991-05-05%", "1991-05-07-", "1991-05-08-", "1991-05-09-",
|
14
|
-
"1991-05-10-", "1991-05-11-", "1991-05-12-", "1991-05-13-", "1991-05-14-", "1991-05-15-", "1991-05-15=", "1991-05-16-",
|
15
|
-
"1991-05-17-", "1991-05-18-", "1991-05-19-", "1991-05-20-", "1991-05-21-", "1991-05-22-", "1991-05-23-", "1991-05-24-",
|
16
|
-
"1991-05-25-", "1991-05-26-", "1991-05-27-", "1991-05-28%", "1991-05-30-"
|
17
|
-
]
|
18
|
-
|
19
|
-
def test_tibetan_date
|
20
|
-
cc = When.Resource('_c:Tibetan')
|
21
|
-
date = When.when?('1991-05-01', {:frame=>cc})
|
22
|
-
start = 2448421
|
23
|
-
Sample.size.times do |i|
|
24
|
-
assert_equal([Sample[i], start+i], [date.to_s, date.to_i])
|
25
|
-
date += When.Duration('P1D')
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 2011 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
|
+
class Tibetan < MiniTest::TestCase
|
12
|
+
Sample = [
|
13
|
+
"1991-05-01-", "1991-05-02-", "1991-05-03-", "1991-05-04-", "1991-05-05%", "1991-05-07-", "1991-05-08-", "1991-05-09-",
|
14
|
+
"1991-05-10-", "1991-05-11-", "1991-05-12-", "1991-05-13-", "1991-05-14-", "1991-05-15-", "1991-05-15=", "1991-05-16-",
|
15
|
+
"1991-05-17-", "1991-05-18-", "1991-05-19-", "1991-05-20-", "1991-05-21-", "1991-05-22-", "1991-05-23-", "1991-05-24-",
|
16
|
+
"1991-05-25-", "1991-05-26-", "1991-05-27-", "1991-05-28%", "1991-05-30-"
|
17
|
+
]
|
18
|
+
|
19
|
+
def test_tibetan_date
|
20
|
+
cc = When.Resource('_c:Tibetan')
|
21
|
+
date = When.when?('1991-05-01', {:frame=>cc})
|
22
|
+
start = 2448421
|
23
|
+
Sample.size.times do |i|
|
24
|
+
assert_equal([Sample[i], start+i], [date.to_s, date.to_i])
|
25
|
+
date += When.Duration('P1D')
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
@@ -1,102 +1,102 @@
|
|
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 MiniTest
|
10
|
-
|
11
|
-
class Vietnamese < MiniTest::TestCase
|
12
|
-
|
13
|
-
Sample1 = [%w(紹明2.1.1 1139-02-08 紹明02(1139).01.01),
|
14
|
-
%w(ベトナム?LY=VSL::李朝::紹明2.1.1 1138-02-19 ベトナム?LY=VSL::李朝::紹明02(1138).01.01),
|
15
|
-
%w(嗣徳2.8.1 1849-09-17 ベトナム::阮朝::嗣徳02(1849).08.01),
|
16
|
-
%w(ベトナム?LY=VSL&DN=LDNK::阮朝::嗣徳2.8.1 1849-09-16 ベトナム?LY=VSL&DN=LDNK::阮朝::嗣徳02(1849).08.01),
|
17
|
-
%w(ベトナム::後期黎朝::福泰2.7.1 1644-08-02 ベトナム::後期黎朝::福泰02(1644).07.01),
|
18
|
-
%w(ベトナム::広南::阮福瀾10.7.1 1644-08-03 ベトナム::広南::<阮福瀾>10(1644).07.01),
|
19
|
-
%w(ベトナム::後期黎朝::慶徳4.9.1 1652-10-02 ベトナム::後期黎朝::慶徳04(1652).09.01),
|
20
|
-
%w(ベトナム::広南::阮福瀕4.9.1 1652-10-03 ベトナム::広南::<阮福瀕>04(1652).09.01),
|
21
|
-
%w(ベトナム::阮朝::建福1.1.31 1884-02-26 ベトナム::阮朝::建福01(1884).01.31)]
|
22
|
-
|
23
|
-
Sample2 = [%w(1659-01- 1659-01-23),
|
24
|
-
%w(1659-01= 1659-02-21),
|
25
|
-
%w(1659-02- 1659-03-23),
|
26
|
-
%w(1659-03- 1659-04-21),
|
27
|
-
%w(1659-04- 1659-05-21),
|
28
|
-
%w(1659-05- 1659-06-20),
|
29
|
-
%w(1659-06- 1659-07-19),
|
30
|
-
%w(1659-07- 1659-08-18),
|
31
|
-
%w(1659-08- 1659-09-16),
|
32
|
-
%w(1659-09- 1659-10-16),
|
33
|
-
%w(1659-10- 1659-11-14),
|
34
|
-
%w(1659-11- 1659-12-14),
|
35
|
-
%w(1659-12- 1660-01-12),
|
36
|
-
%w(1660-01- 1660-02-11),
|
37
|
-
%w(1660-02- 1660-03-11),
|
38
|
-
%w(1660-03- 1660-04-10),
|
39
|
-
%w(1660-04- 1660-05-09),
|
40
|
-
%w(1660-05- 1660-06-08),
|
41
|
-
%w(1660-06- 1660-07-07),
|
42
|
-
%w(1660-07- 1660-08-06),
|
43
|
-
%w(1660-08- 1660-09-05),
|
44
|
-
%w(1660-09- 1660-10-04),
|
45
|
-
%w(1660-10- 1660-11-03),
|
46
|
-
%w(1660-11- 1660-12-02),
|
47
|
-
%w(1660-12- 1661-01-01),
|
48
|
-
|
49
|
-
%w(1659-01- 1659-01-23),
|
50
|
-
%w(1659-01= 1659-02-22),
|
51
|
-
%w(1659-02- 1659-03-23),
|
52
|
-
%w(1659-03- 1659-04-21),
|
53
|
-
%w(1659-04- 1659-05-21),
|
54
|
-
%w(1659-05- 1659-06-20),
|
55
|
-
%w(1659-06- 1659-07-19),
|
56
|
-
%w(1659-07- 1659-08-18),
|
57
|
-
%w(1659-08- 1659-09-16),
|
58
|
-
%w(1659-09- 1659-10-16),
|
59
|
-
%w(1659-10- 1659-11-15), # 1659-11-14 ではない
|
60
|
-
%w(1659-11- 1659-12-14),
|
61
|
-
%w(1659-12- 1660-01-12),
|
62
|
-
%w(1660-01- 1660-02-11),
|
63
|
-
%w(1660-02- 1660-03-11),
|
64
|
-
%w(1660-03- 1660-04-10),
|
65
|
-
%w(1660-04- 1660-05-09),
|
66
|
-
%w(1660-05- 1660-06-08),
|
67
|
-
%w(1660-06- 1660-07-07),
|
68
|
-
%w(1660-07- 1660-08-06),
|
69
|
-
%w(1660-08- 1660-09-05),
|
70
|
-
%w(1660-09- 1660-10-04),
|
71
|
-
%w(1660-10- 1660-11-03),
|
72
|
-
%w(1660-11- 1660-12-03), # 1660-12-02 ではない
|
73
|
-
%w(1660-12- 1661-01-01)]
|
74
|
-
|
75
|
-
def test_vietnamese_era
|
76
|
-
|
77
|
-
When.CalendarEra('Vietnamese')
|
78
|
-
When.CalendarEra('Vietnamese?LY=VSL')
|
79
|
-
When.CalendarEra('Vietnamese?LY=VSL&DN=LDNK')
|
80
|
-
|
81
|
-
Sample1.each do |sample|
|
82
|
-
date = When.when?(sample[0])
|
83
|
-
assert_equal(sample[1..2], [date.to_date.to_s, date.to_s])
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
def test_vietnamese_date
|
88
|
-
|
89
|
-
When.CalendarEra('Vietnamese')
|
90
|
-
|
91
|
-
sample = Sample2
|
92
|
-
[1544, 1631].each do |epoch|
|
93
|
-
calendar = When.Calendar('Vietnamese' + epoch.to_s)
|
94
|
-
date = When.TemporalPosition(1659, 1, :frame=>calendar)
|
95
|
-
25.times do
|
96
|
-
assert_equal(sample.shift, [date.to_s, date.to_date.to_s])
|
97
|
-
date = date.next
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
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 MiniTest
|
10
|
+
|
11
|
+
class Vietnamese < MiniTest::TestCase
|
12
|
+
|
13
|
+
Sample1 = [%w(紹明2.1.1 1139-02-08 紹明02(1139).01.01),
|
14
|
+
%w(ベトナム?LY=VSL::李朝::紹明2.1.1 1138-02-19 ベトナム?LY=VSL::李朝::紹明02(1138).01.01),
|
15
|
+
%w(嗣徳2.8.1 1849-09-17 ベトナム::阮朝::嗣徳02(1849).08.01),
|
16
|
+
%w(ベトナム?LY=VSL&DN=LDNK::阮朝::嗣徳2.8.1 1849-09-16 ベトナム?LY=VSL&DN=LDNK::阮朝::嗣徳02(1849).08.01),
|
17
|
+
%w(ベトナム::後期黎朝::福泰2.7.1 1644-08-02 ベトナム::後期黎朝::福泰02(1644).07.01),
|
18
|
+
%w(ベトナム::広南::阮福瀾10.7.1 1644-08-03 ベトナム::広南::<阮福瀾>10(1644).07.01),
|
19
|
+
%w(ベトナム::後期黎朝::慶徳4.9.1 1652-10-02 ベトナム::後期黎朝::慶徳04(1652).09.01),
|
20
|
+
%w(ベトナム::広南::阮福瀕4.9.1 1652-10-03 ベトナム::広南::<阮福瀕>04(1652).09.01),
|
21
|
+
%w(ベトナム::阮朝::建福1.1.31 1884-02-26 ベトナム::阮朝::建福01(1884).01.31)]
|
22
|
+
|
23
|
+
Sample2 = [%w(1659-01- 1659-01-23),
|
24
|
+
%w(1659-01= 1659-02-21),
|
25
|
+
%w(1659-02- 1659-03-23),
|
26
|
+
%w(1659-03- 1659-04-21),
|
27
|
+
%w(1659-04- 1659-05-21),
|
28
|
+
%w(1659-05- 1659-06-20),
|
29
|
+
%w(1659-06- 1659-07-19),
|
30
|
+
%w(1659-07- 1659-08-18),
|
31
|
+
%w(1659-08- 1659-09-16),
|
32
|
+
%w(1659-09- 1659-10-16),
|
33
|
+
%w(1659-10- 1659-11-14),
|
34
|
+
%w(1659-11- 1659-12-14),
|
35
|
+
%w(1659-12- 1660-01-12),
|
36
|
+
%w(1660-01- 1660-02-11),
|
37
|
+
%w(1660-02- 1660-03-11),
|
38
|
+
%w(1660-03- 1660-04-10),
|
39
|
+
%w(1660-04- 1660-05-09),
|
40
|
+
%w(1660-05- 1660-06-08),
|
41
|
+
%w(1660-06- 1660-07-07),
|
42
|
+
%w(1660-07- 1660-08-06),
|
43
|
+
%w(1660-08- 1660-09-05),
|
44
|
+
%w(1660-09- 1660-10-04),
|
45
|
+
%w(1660-10- 1660-11-03),
|
46
|
+
%w(1660-11- 1660-12-02),
|
47
|
+
%w(1660-12- 1661-01-01),
|
48
|
+
|
49
|
+
%w(1659-01- 1659-01-23),
|
50
|
+
%w(1659-01= 1659-02-22),
|
51
|
+
%w(1659-02- 1659-03-23),
|
52
|
+
%w(1659-03- 1659-04-21),
|
53
|
+
%w(1659-04- 1659-05-21),
|
54
|
+
%w(1659-05- 1659-06-20),
|
55
|
+
%w(1659-06- 1659-07-19),
|
56
|
+
%w(1659-07- 1659-08-18),
|
57
|
+
%w(1659-08- 1659-09-16),
|
58
|
+
%w(1659-09- 1659-10-16),
|
59
|
+
%w(1659-10- 1659-11-15), # 1659-11-14 ではない
|
60
|
+
%w(1659-11- 1659-12-14),
|
61
|
+
%w(1659-12- 1660-01-12),
|
62
|
+
%w(1660-01- 1660-02-11),
|
63
|
+
%w(1660-02- 1660-03-11),
|
64
|
+
%w(1660-03- 1660-04-10),
|
65
|
+
%w(1660-04- 1660-05-09),
|
66
|
+
%w(1660-05- 1660-06-08),
|
67
|
+
%w(1660-06- 1660-07-07),
|
68
|
+
%w(1660-07- 1660-08-06),
|
69
|
+
%w(1660-08- 1660-09-05),
|
70
|
+
%w(1660-09- 1660-10-04),
|
71
|
+
%w(1660-10- 1660-11-03),
|
72
|
+
%w(1660-11- 1660-12-03), # 1660-12-02 ではない
|
73
|
+
%w(1660-12- 1661-01-01)]
|
74
|
+
|
75
|
+
def test_vietnamese_era
|
76
|
+
|
77
|
+
When.CalendarEra('Vietnamese')
|
78
|
+
When.CalendarEra('Vietnamese?LY=VSL')
|
79
|
+
When.CalendarEra('Vietnamese?LY=VSL&DN=LDNK')
|
80
|
+
|
81
|
+
Sample1.each do |sample|
|
82
|
+
date = When.when?(sample[0])
|
83
|
+
assert_equal(sample[1..2], [date.to_date.to_s, date.to_s])
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_vietnamese_date
|
88
|
+
|
89
|
+
When.CalendarEra('Vietnamese')
|
90
|
+
|
91
|
+
sample = Sample2
|
92
|
+
[1544, 1631].each do |epoch|
|
93
|
+
calendar = When.Calendar('Vietnamese' + epoch.to_s)
|
94
|
+
date = When.TemporalPosition(1659, 1, :frame=>calendar)
|
95
|
+
25.times do
|
96
|
+
assert_equal(sample.shift, [date.to_s, date.to_date.to_s])
|
97
|
+
date = date.next
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -1,58 +1,58 @@
|
|
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 MiniTest
|
10
|
-
|
11
|
-
class Zoroastrian < MiniTest::TestCase
|
12
|
-
def test_fasli
|
13
|
-
date = When.when? '1366.1.1^^Fasli?location=(_co:Iranian::Tehran)'
|
14
|
-
[["1366-01-01", "1996-03-20", 2450163],
|
15
|
-
["1367-01-01", "1997-03-20", 2450528],
|
16
|
-
["1368-01-01", "1998-03-21", 2450894],
|
17
|
-
["1369-01-01", "1999-03-21", 2451259],
|
18
|
-
["1370-01-01", "2000-03-20", 2451624],
|
19
|
-
["1371-01-01", "2001-03-20", 2451989],
|
20
|
-
["1372-01-01", "2002-03-21", 2452355],
|
21
|
-
["1373-01-01", "2003-03-21", 2452720],
|
22
|
-
["1374-01-01", "2004-03-20", 2453085],
|
23
|
-
["1375-01-01", "2005-03-20", 2453450],
|
24
|
-
["1376-01-01", "2006-03-21", 2453816],
|
25
|
-
["1377-01-01", "2007-03-21", 2454181],
|
26
|
-
["1378-01-01", "2008-03-20", 2454546],
|
27
|
-
["1379-01-01", "2009-03-20", 2454911],
|
28
|
-
["1380-01-01", "2010-03-21", 2455277],
|
29
|
-
["1381-01-01", "2011-03-21", 2455642],
|
30
|
-
["1382-01-01", "2012-03-20", 2456007],
|
31
|
-
["1383-01-01", "2013-03-20", 2456372],
|
32
|
-
["1384-01-01", "2014-03-21", 2456738],
|
33
|
-
["1385-01-01", "2015-03-21", 2457103],
|
34
|
-
["1386-01-01", "2016-03-20", 2457468],
|
35
|
-
["1387-01-01", "2017-03-20", 2457833],
|
36
|
-
["1388-01-01", "2018-03-21", 2458199],
|
37
|
-
["1389-01-01", "2019-03-21", 2458564],
|
38
|
-
["1390-01-01", "2020-03-20", 2458929],
|
39
|
-
["1391-01-01", "2021-03-20", 2459294],
|
40
|
-
["1392-01-01", "2022-03-21", 2459660],
|
41
|
-
["1393-01-01", "2023-03-21", 2460025],
|
42
|
-
["1394-01-01", "2024-03-20", 2460390],
|
43
|
-
["1395-01-01", "2025-03-20", 2460755],
|
44
|
-
["1396-01-01", "2026-03-20", 2461120],
|
45
|
-
["1397-01-01", "2027-03-21", 2461486],
|
46
|
-
["1398-01-01", "2028-03-20", 2461851]].each do |sample|
|
47
|
-
assert_equal(sample, [date.to_s, (When::Gregorian ^ date).to_s, date.to_i])
|
48
|
-
date += When::P1Y
|
49
|
-
end
|
50
|
-
|
51
|
-
date = When.when? '2001.3.21'
|
52
|
-
400.times do
|
53
|
-
assert_equal([1,1], (When.Calendar('Fasli') ^ date).cal_date[-2..-1])
|
54
|
-
date += When::P1Y
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
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 MiniTest
|
10
|
+
|
11
|
+
class Zoroastrian < MiniTest::TestCase
|
12
|
+
def test_fasli
|
13
|
+
date = When.when? '1366.1.1^^Fasli?location=(_co:Iranian::Tehran)'
|
14
|
+
[["1366-01-01", "1996-03-20", 2450163],
|
15
|
+
["1367-01-01", "1997-03-20", 2450528],
|
16
|
+
["1368-01-01", "1998-03-21", 2450894],
|
17
|
+
["1369-01-01", "1999-03-21", 2451259],
|
18
|
+
["1370-01-01", "2000-03-20", 2451624],
|
19
|
+
["1371-01-01", "2001-03-20", 2451989],
|
20
|
+
["1372-01-01", "2002-03-21", 2452355],
|
21
|
+
["1373-01-01", "2003-03-21", 2452720],
|
22
|
+
["1374-01-01", "2004-03-20", 2453085],
|
23
|
+
["1375-01-01", "2005-03-20", 2453450],
|
24
|
+
["1376-01-01", "2006-03-21", 2453816],
|
25
|
+
["1377-01-01", "2007-03-21", 2454181],
|
26
|
+
["1378-01-01", "2008-03-20", 2454546],
|
27
|
+
["1379-01-01", "2009-03-20", 2454911],
|
28
|
+
["1380-01-01", "2010-03-21", 2455277],
|
29
|
+
["1381-01-01", "2011-03-21", 2455642],
|
30
|
+
["1382-01-01", "2012-03-20", 2456007],
|
31
|
+
["1383-01-01", "2013-03-20", 2456372],
|
32
|
+
["1384-01-01", "2014-03-21", 2456738],
|
33
|
+
["1385-01-01", "2015-03-21", 2457103],
|
34
|
+
["1386-01-01", "2016-03-20", 2457468],
|
35
|
+
["1387-01-01", "2017-03-20", 2457833],
|
36
|
+
["1388-01-01", "2018-03-21", 2458199],
|
37
|
+
["1389-01-01", "2019-03-21", 2458564],
|
38
|
+
["1390-01-01", "2020-03-20", 2458929],
|
39
|
+
["1391-01-01", "2021-03-20", 2459294],
|
40
|
+
["1392-01-01", "2022-03-21", 2459660],
|
41
|
+
["1393-01-01", "2023-03-21", 2460025],
|
42
|
+
["1394-01-01", "2024-03-20", 2460390],
|
43
|
+
["1395-01-01", "2025-03-20", 2460755],
|
44
|
+
["1396-01-01", "2026-03-20", 2461120],
|
45
|
+
["1397-01-01", "2027-03-21", 2461486],
|
46
|
+
["1398-01-01", "2028-03-20", 2461851]].each do |sample|
|
47
|
+
assert_equal(sample, [date.to_s, (When::Gregorian ^ date).to_s, date.to_i])
|
48
|
+
date += When::P1Y
|
49
|
+
end
|
50
|
+
|
51
|
+
date = When.when? '2001.3.21'
|
52
|
+
400.times do
|
53
|
+
assert_equal([1,1], (When.Calendar('Fasli') ^ date).cal_date[-2..-1])
|
54
|
+
date += When::P1Y
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
data/test/test/timestandard.rb
CHANGED
@@ -1,81 +1,81 @@
|
|
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::TimeStandard
|
10
|
-
|
11
|
-
class UniversalTime < MiniTest::TestCase
|
12
|
-
def view(time)
|
13
|
-
return time unless time.instance_of?(When::Coordinates::LeapSeconds)
|
14
|
-
return [time.trunk, time.branch, time.second]
|
15
|
-
end
|
16
|
-
|
17
|
-
def test__delta_t
|
18
|
-
date = When.when?('2009-01-01T00:00:00Z')
|
19
|
-
assert_equal("2008-12-31T23:59:01Z", (date - When::TM::IntervalLength.new(60, 'second')).to_s)
|
20
|
-
assert_equal("2008-12-31T23:59:00Z", (date - When::Duration('PT60S')).to_s)
|
21
|
-
|
22
|
-
date = When::TM::JulianDate.dynamical_time((2500000-(When::TM::JulianDate::JD19700101-0.5))*675)
|
23
|
-
assert_equal(2500000.0, +date)
|
24
|
-
assert_equal(true, +date > date.to_f)
|
25
|
-
|
26
|
-
date = When::TM::JulianDate.universal_time((2500000-(When::TM::JulianDate::JD19700101-0.5))*675)
|
27
|
-
assert_equal(2500000.0, date.to_f)
|
28
|
-
assert_equal(true, +date > date.to_f)
|
29
|
-
|
30
|
-
assert_equal((40 + 377.0/2048), When::TimeStandard.delta_t(When.when?('1970-01-01T').to_f))
|
31
|
-
|
32
|
-
date = When.when?('2008-10-31T23:59:60Z')
|
33
|
-
assert_equal([[2008, 11, 1], [0, 0, 0, 0]], [date.cal_date, date.clk_time.clk_time])
|
34
|
-
|
35
|
-
pair = When::Coordinates::Pair.new(1,1)
|
36
|
-
assert_equal([-1, -1, 1], [0.9, 1, 1.1].map {|v| v<=>pair})
|
37
|
-
|
38
|
-
time = When.Resource('_t:UniversalTime')
|
39
|
-
date0 = When.when?('2008-12-31T23:59:58Z') ^ When.Duration('1s') # Duration('PT1S')
|
40
|
-
[
|
41
|
-
"2008-12-31T23:59:58Z",
|
42
|
-
"2008-12-31T23:59:59Z",
|
43
|
-
"2008-12-31T23:59:60Z",
|
44
|
-
"2009-01-01T00:00:00Z",
|
45
|
-
"2009-01-01T00:00:01Z"
|
46
|
-
].each do |sample|
|
47
|
-
date = date0.next
|
48
|
-
assert_equal([sample, true], [date.to_s, date.universal_time == time.from_dynamical_time(date.dynamical_time)])
|
49
|
-
end
|
50
|
-
|
51
|
-
it = When::V::Event.new({
|
52
|
-
'rrule' => 'FREQ=MINUTELY;BYSECOND=59,60',
|
53
|
-
'dtstart' => '2008-12-31T23:58:59Z'
|
54
|
-
}).each
|
55
|
-
|
56
|
-
[
|
57
|
-
"2008-12-31T23:58:59Z",
|
58
|
-
"2008-12-31T23:59:59Z",
|
59
|
-
"2009-01-01T00:00:59Z",
|
60
|
-
"2009-01-01T00:01:59Z"
|
61
|
-
].each do |sample|
|
62
|
-
assert_equal(sample, it.next.to_s)
|
63
|
-
end
|
64
|
-
|
65
|
-
it = When::V::Event.new({
|
66
|
-
'rrule' => 'FREQ=1s', #;BYSECOND=59,60',
|
67
|
-
'dtstart' => '2008-12-31T23:59:58Z'
|
68
|
-
}).each
|
69
|
-
|
70
|
-
[
|
71
|
-
"2008-12-31T23:59:58Z",
|
72
|
-
"2008-12-31T23:59:59Z",
|
73
|
-
"2008-12-31T23:59:60Z",
|
74
|
-
"2009-01-01T00:00:00Z",
|
75
|
-
"2009-01-01T00:00:01Z"
|
76
|
-
].each do |sample|
|
77
|
-
assert_equal(sample, it.next.to_s)
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
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::TimeStandard
|
10
|
+
|
11
|
+
class UniversalTime < MiniTest::TestCase
|
12
|
+
def view(time)
|
13
|
+
return time unless time.instance_of?(When::Coordinates::LeapSeconds)
|
14
|
+
return [time.trunk, time.branch, time.second]
|
15
|
+
end
|
16
|
+
|
17
|
+
def test__delta_t
|
18
|
+
date = When.when?('2009-01-01T00:00:00Z')
|
19
|
+
assert_equal("2008-12-31T23:59:01Z", (date - When::TM::IntervalLength.new(60, 'second')).to_s)
|
20
|
+
assert_equal("2008-12-31T23:59:00Z", (date - When::Duration('PT60S')).to_s)
|
21
|
+
|
22
|
+
date = When::TM::JulianDate.dynamical_time((2500000-(When::TM::JulianDate::JD19700101-0.5))*675)
|
23
|
+
assert_equal(2500000.0, +date)
|
24
|
+
assert_equal(true, +date > date.to_f)
|
25
|
+
|
26
|
+
date = When::TM::JulianDate.universal_time((2500000-(When::TM::JulianDate::JD19700101-0.5))*675)
|
27
|
+
assert_equal(2500000.0, date.to_f)
|
28
|
+
assert_equal(true, +date > date.to_f)
|
29
|
+
|
30
|
+
assert_equal((40 + 377.0/2048), When::TimeStandard.delta_t(When.when?('1970-01-01T').to_f))
|
31
|
+
|
32
|
+
date = When.when?('2008-10-31T23:59:60Z')
|
33
|
+
assert_equal([[2008, 11, 1], [0, 0, 0, 0]], [date.cal_date, date.clk_time.clk_time])
|
34
|
+
|
35
|
+
pair = When::Coordinates::Pair.new(1,1)
|
36
|
+
assert_equal([-1, -1, 1], [0.9, 1, 1.1].map {|v| v<=>pair})
|
37
|
+
|
38
|
+
time = When.Resource('_t:UniversalTime')
|
39
|
+
date0 = When.when?('2008-12-31T23:59:58Z') ^ When.Duration('1s') # Duration('PT1S')
|
40
|
+
[
|
41
|
+
"2008-12-31T23:59:58Z",
|
42
|
+
"2008-12-31T23:59:59Z",
|
43
|
+
"2008-12-31T23:59:60Z",
|
44
|
+
"2009-01-01T00:00:00Z",
|
45
|
+
"2009-01-01T00:00:01Z"
|
46
|
+
].each do |sample|
|
47
|
+
date = date0.next
|
48
|
+
assert_equal([sample, true], [date.to_s, date.universal_time == time.from_dynamical_time(date.dynamical_time)])
|
49
|
+
end
|
50
|
+
|
51
|
+
it = When::V::Event.new({
|
52
|
+
'rrule' => 'FREQ=MINUTELY;BYSECOND=59,60',
|
53
|
+
'dtstart' => '2008-12-31T23:58:59Z'
|
54
|
+
}).each
|
55
|
+
|
56
|
+
[
|
57
|
+
"2008-12-31T23:58:59Z",
|
58
|
+
"2008-12-31T23:59:59Z",
|
59
|
+
"2009-01-01T00:00:59Z",
|
60
|
+
"2009-01-01T00:01:59Z"
|
61
|
+
].each do |sample|
|
62
|
+
assert_equal(sample, it.next.to_s)
|
63
|
+
end
|
64
|
+
|
65
|
+
it = When::V::Event.new({
|
66
|
+
'rrule' => 'FREQ=1s', #;BYSECOND=59,60',
|
67
|
+
'dtstart' => '2008-12-31T23:59:58Z'
|
68
|
+
}).each
|
69
|
+
|
70
|
+
[
|
71
|
+
"2008-12-31T23:59:58Z",
|
72
|
+
"2008-12-31T23:59:59Z",
|
73
|
+
"2008-12-31T23:59:60Z",
|
74
|
+
"2009-01-01T00:00:00Z",
|
75
|
+
"2009-01-01T00:00:01Z"
|
76
|
+
].each do |sample|
|
77
|
+
assert_equal(sample, it.next.to_s)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|