when_exe 0.4.2 → 0.4.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|