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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -23
  3. data/lib/when_exe/ephemeris/moon.rb +333 -333
  4. data/lib/when_exe/linkeddata.rb +0 -1
  5. data/lib/when_exe/locales/encoding_conversion.rb +134 -134
  6. data/lib/when_exe/locales/iast.rb +90 -90
  7. data/lib/when_exe/locales/transliteration_table.rb +62 -62
  8. data/lib/when_exe/parts/method_cash.rb +224 -224
  9. data/lib/when_exe/region/chinese/calendars.rb +1016 -1016
  10. data/lib/when_exe/region/geologicalage.rb +1 -1
  11. data/lib/when_exe/region/japanese/calendars.rb +397 -397
  12. data/lib/when_exe/region/japanese/eclipses.rb +1194 -1194
  13. data/lib/when_exe/region/japanese/nihon_shoki.rb +70 -70
  14. data/lib/when_exe/region/korean.rb +384 -384
  15. data/lib/when_exe/region/ryukyu.rb +101 -101
  16. data/lib/when_exe/tmposition.rb +2 -2
  17. data/lib/when_exe/tmreference.rb +3 -3
  18. data/lib/when_exe/version.rb +1 -1
  19. data/test/scripts/geometric_complex.rb +41 -41
  20. data/test/scripts/korea.rb +59 -59
  21. data/test/scripts/thai.rb +36 -36
  22. data/test/test/basictypes.rb +431 -431
  23. data/test/test/calendarnote.rb +86 -86
  24. data/test/test/calendartypes.rb +97 -97
  25. data/test/test/coordinates.rb +397 -397
  26. data/test/test/ephemeris.rb +115 -115
  27. data/test/test/ephemeris/moon.rb +14 -14
  28. data/test/test/ephemeris/planets.rb +14 -14
  29. data/test/test/ephemeris/sun.rb +14 -14
  30. data/test/test/inspect.rb +153 -153
  31. data/test/test/parts.rb +488 -488
  32. data/test/test/region/armenian.rb +20 -20
  33. data/test/test/region/bahai.rb +58 -58
  34. data/test/test/region/balinese.rb +34 -34
  35. data/test/test/region/chinese.rb +229 -229
  36. data/test/test/region/christian.rb +226 -226
  37. data/test/test/region/coptic.rb +27 -27
  38. data/test/test/region/discordian.rb +20 -20
  39. data/test/test/region/french.rb +33 -33
  40. data/test/test/region/geologicalage.rb +17 -17
  41. data/test/test/region/iran.rb +54 -54
  42. data/test/test/region/islamic.rb +54 -54
  43. data/test/test/region/japanese.rb +261 -261
  44. data/test/test/region/jewish.rb +63 -63
  45. data/test/test/region/shire.rb +58 -58
  46. data/test/test/region/swedish.rb +45 -45
  47. data/test/test/region/thai.rb +116 -116
  48. data/test/test/region/tibetan.rb +30 -30
  49. data/test/test/region/vietnamese.rb +102 -102
  50. data/test/test/region/zoroastrian.rb +58 -58
  51. data/test/test/timestandard.rb +81 -81
  52. data/test/test/tmobjects.rb +402 -402
  53. data/test/test/tmreference.rb +157 -157
  54. metadata +4 -88
@@ -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
@@ -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