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.
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