equationoftime 3.0.0

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 (84) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.rspec +1 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.md +22 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +80 -0
  8. data/README2.txt +70 -0
  9. data/Rakefile +80 -0
  10. data/doc/GeoLatLng.html +770 -0
  11. data/doc/_index.html +123 -0
  12. data/doc/class_list.html +54 -0
  13. data/doc/css/common.css +1 -0
  14. data/doc/css/full_list.css +57 -0
  15. data/doc/css/style.css +339 -0
  16. data/doc/file.README.html +179 -0
  17. data/doc/file_list.html +56 -0
  18. data/doc/frames.html +26 -0
  19. data/doc/index.html +179 -0
  20. data/doc/js/app.js +219 -0
  21. data/doc/js/full_list.js +178 -0
  22. data/doc/js/jquery.js +4 -0
  23. data/doc/method_list.html +611 -0
  24. data/doc/top-level-namespace.html +112 -0
  25. data/equationoftime.gemspec +35 -0
  26. data/examples/Equation_of_Time.jpg +0 -0
  27. data/examples/analemma_data_generator.rb +53 -0
  28. data/examples/check_date_type.rb +57 -0
  29. data/examples/compare_geoc_long_ra.rb +31 -0
  30. data/examples/data_table.rb +26 -0
  31. data/examples/earth_rotation.rb +13 -0
  32. data/examples/eot_methods_list.rb +16 -0
  33. data/examples/eot_plot.r +57 -0
  34. data/examples/eot_suntimes.rb +140 -0
  35. data/examples/equation_of_time.py +186 -0
  36. data/examples/figure_1.jpg +0 -0
  37. data/examples/file_converter.rb +31 -0
  38. data/examples/from_readme.rb +10 -0
  39. data/examples/geo_locator.rb +12 -0
  40. data/examples/getjd.rb +45 -0
  41. data/examples/input_suntimes.rb +21 -0
  42. data/examples/julian_day_formula.rb +29 -0
  43. data/examples/julian_day_formula.txt +12 -0
  44. data/examples/my_time_conversion.rb +21 -0
  45. data/examples/nutation_series.txt +678 -0
  46. data/examples/nutation_series.yaml +14239 -0
  47. data/examples/nutation_table5_3a.txt +682 -0
  48. data/examples/nutation_table5_3a.yaml +9532 -0
  49. data/examples/ptime.rb +162 -0
  50. data/examples/read_nutation_data.rb +399 -0
  51. data/examples/suntimes.rb +28 -0
  52. data/examples/suntimes_test.rb +47 -0
  53. data/examples/test_poly_eval.rb +38 -0
  54. data/examples/time_scales.rb +29 -0
  55. data/examples/usage_example.rb +13 -0
  56. data/examples/use_angles.rb +155 -0
  57. data/lib/eot/angles.rb +337 -0
  58. data/lib/eot/constants.rb +168 -0
  59. data/lib/eot/displays.rb +213 -0
  60. data/lib/eot/geo_lat_lng_smt.rb +80 -0
  61. data/lib/eot/init.rb +93 -0
  62. data/lib/eot/nutation.rb +70 -0
  63. data/lib/eot/nutation_table5_3a.yaml +9532 -0
  64. data/lib/eot/times.rb +130 -0
  65. data/lib/eot/utilities.rb +129 -0
  66. data/lib/eot/version.rb +6 -0
  67. data/lib/eot.rb +11 -0
  68. data/tests/minitest/aliased_angles_spec.rb +287 -0
  69. data/tests/minitest/aliased_displays_spec.rb +106 -0
  70. data/tests/minitest/aliased_times_spec.rb +36 -0
  71. data/tests/minitest/aliased_utilities_spec.rb +49 -0
  72. data/tests/minitest/angles_spec.rb +313 -0
  73. data/tests/minitest/constants_spec.rb +27 -0
  74. data/tests/minitest/delta_epsilon_spec.rb +35 -0
  75. data/tests/minitest/displays_spec.rb +111 -0
  76. data/tests/minitest/geo_spec.rb +36 -0
  77. data/tests/minitest/init_spec.rb +32 -0
  78. data/tests/minitest/nutation_spec.rb +33 -0
  79. data/tests/minitest/times_spec.rb +137 -0
  80. data/tests/minitest/utilities_spec.rb +121 -0
  81. data/tests/spec_config.rb +3 -0
  82. data/wiki.md +46 -0
  83. data/wiki2.md +4 -0
  84. metadata +240 -0
@@ -0,0 +1,36 @@
1
+ #
2
+ # uncomment below for minitest
3
+ gem 'minitest'
4
+ require 'minitest/autorun'
5
+ # require_relative '../spec_config'
6
+ lib = File.expand_path('../../../lib', __FILE__)
7
+ # puts "Loading gem from #{lib}/eot.rb"
8
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
9
+ require 'eot'
10
+
11
+ Eot_aliased_times = Eot.new
12
+
13
+ describe 'Eot_aliased_times defaults' do
14
+
15
+ # set ma attribute first as it gets tested anyway but a lot of methods
16
+ # now rely on @ma so we don't have to keep calling it unless we change
17
+ # @ajd attribute.
18
+
19
+ before(:each) do
20
+ @ajd = 2456885.0
21
+ Eot_aliased_times.ajd = @ajd
22
+ Eot_aliased_times.ma_Sun()
23
+ end
24
+
25
+ it 'expected 2456885.0 for Eot_aliased_times.ajd'do
26
+ assert_equal 2456885.0, Eot_aliased_times.ajd
27
+ assert_equal 220.63461047326172, Eot_aliased_times.ma
28
+ end
29
+
30
+ it 'expected [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] returned by Eot_aliased_times.deg_to_rad() ' do
31
+ assert_equal [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], Eot_aliased_times.time_julian_centurey()
32
+ assert_equal [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], Eot_aliased_times.time_julian_centurey(nil)
33
+ assert_equal [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], Eot_aliased_times.time_julian_centurey(0)
34
+ end
35
+
36
+ end
@@ -0,0 +1,49 @@
1
+ # aliased_utilities_spec.rb
2
+ #
3
+ # uncomment below for minitest
4
+ gem 'minitest'
5
+ require 'minitest/autorun'
6
+ # require_relative '../spec_config'
7
+ lib = File.expand_path('../../../lib', __FILE__)
8
+ # puts "Loading gem from #{lib}/eot.rb"
9
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
10
+ require 'eot'
11
+
12
+ Eot_aliased_utilities = Eot.new
13
+
14
+ describe 'Eot_aliased_utilities defaults' do
15
+
16
+ # set ma attribute first as it gets tested anyway but a lot of methods
17
+ # now rely on @ma so we don't have to keep calling it unless we change
18
+ # @ajd attribute.
19
+
20
+ before(:each) do
21
+ @ajd = 2456885.0
22
+ Eot_aliased_utilities.ajd = @ajd
23
+ Eot_aliased_utilities.ma_Sun()
24
+ end
25
+
26
+ it 'expected 2456885.0 for Eot_aliased_utilities.ajd'do
27
+ assert_equal 2456885.0, Eot_aliased_utilities.ajd
28
+ assert_equal 220.63461047326172, Eot_aliased_utilities.ma
29
+ end
30
+
31
+ it 'expected 0.0 returned by Eot_aliased_utilities.degrees_to_radians() ' do
32
+ assert_equal 0.0, Eot_aliased_utilities.degrees_to_radians()
33
+ assert_equal 0.0, Eot_aliased_utilities.degrees_to_radians(nil)
34
+ assert_equal 0.0, Eot_aliased_utilities.degrees_to_radians(0)
35
+ end
36
+
37
+ it 'expected 0.0 returned by Eot_aliased_utilities.radians_to_degrees() ' do
38
+ assert_equal 0.0, Eot_aliased_utilities.radians_to_degrees()
39
+ assert_equal 0.0, Eot_aliased_utilities.radians_to_degrees(nil)
40
+ assert_equal 0.0, Eot_aliased_utilities.radians_to_degrees(0)
41
+ end
42
+
43
+ it 'expected 0.0 returned by Eot_aliased_utilities.truncate() ' do
44
+ assert_equal 0.0, Eot_aliased_utilities.truncate()
45
+ assert_equal 0.0, Eot_aliased_utilities.truncate(nil)
46
+ assert_equal 0.0, Eot_aliased_utilities.truncate(0)
47
+ end
48
+
49
+ end
@@ -0,0 +1,313 @@
1
+ # angles_spec.rb
2
+ #
3
+ # comment below for rspec
4
+ gem 'minitest'
5
+ require 'minitest/autorun'
6
+ # require_relative '../spec_config'
7
+ lib = File.expand_path('../../../lib', __FILE__)
8
+ # puts "Loading gem from #{lib}/eot.rb"
9
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
10
+ require 'eot'
11
+ Eot_angles = Eot.new
12
+ describe 'Eot angles default, nil, 0' do
13
+
14
+ # set ma attribute first as it gets tested anyway but a lot of methods
15
+ # now rely on @ma so we don't have to keep calling it unless we change
16
+ # @ajd attribute.
17
+
18
+ before(:each) do
19
+ @ajd = 2456885.0
20
+ Eot_angles.ajd = @ajd
21
+ Eot_angles.ma_Sun()
22
+ end
23
+
24
+ it 'expected 2456885.0 for Eot_angles.ajd'do
25
+ assert_equal 2456885.0, Eot_angles.ajd
26
+ assert_equal 220.63461047326172, Eot_angles.ma
27
+ end
28
+
29
+ it 'expected 279.2295199333757 returned by Eot_angles.al_Sun()? ' do
30
+ assert_equal 279.2295199333757, Eot_angles.al_Sun()
31
+ assert_equal 279.2295199333757, Eot_angles.al_Sun(nil)
32
+ assert_equal 279.2295199333757, Eot_angles.al_Sun(0)
33
+ end
34
+
35
+ it 'expected -1.227333353065282 returned by Eot_angles.centre()? ' do
36
+ assert_equal -1.227333353065282, Eot_angles.center()
37
+ assert_equal -1.227333353065282, Eot_angles.center(nil)
38
+ assert_equal -1.227333353065282, Eot_angles.center(0)
39
+ end
40
+
41
+ it 'expected 0.16038975882741865 returned by Eot_angles.cosine_al_Sun()? ' do
42
+ assert_equal 0.16038975882741865, Eot_angles.cosine_al_Sun()
43
+ assert_equal 0.16038975882741865, Eot_angles.cosine_al_Sun(nil)
44
+ assert_equal 0.16038975882741865, Eot_angles.cosine_al_Sun(0)
45
+ end
46
+
47
+ it 'expected 0.16055519782509398 returned by Eot_angles.cosine_tl_Sun()? ' do
48
+ assert_equal 0.16055519782509398, Eot_angles.cosine_tl_Sun()
49
+ assert_equal 0.16055519782509398, Eot_angles.cosine_tl_Sun(nil)
50
+ assert_equal 0.16055519782509398, Eot_angles.cosine_tl_Sun(0)
51
+ end
52
+
53
+ it 'expected 0.9174932093012645 returned by Eot_angles.cosine_to_Earth()? ' do
54
+ assert_equal 0.9174932093012645, Eot_angles.cosine_to_Earth()
55
+ assert_equal 0.9174932093012645, Eot_angles.cosine_to_Earth(nil)
56
+ assert_equal 0.9174932093012645, Eot_angles.cosine_to_Earth(0)
57
+ end
58
+
59
+ it 'expected -23.116504240687046 returned by Eot_angles.dec_Sun()? ' do
60
+ assert_equal -23.116504240687046, Eot_angles.dec_Sun()
61
+ assert_equal -23.116504240687046, Eot_angles.dec_Sun(nil)
62
+ assert_equal -23.116504240687046, Eot_angles.dec_Sun(0)
63
+ end
64
+
65
+ it 'expected -0.0015940313608572006 returned by Eot_angles.delta_epsilon()? ' do
66
+ assert_equal -0.0015940313608572006, Eot_angles.delta_epsilon()
67
+ assert_equal -0.0015940313608572006, Eot_angles.delta_epsilon(nil)
68
+ assert_equal -0.0015940313608572006, Eot_angles.delta_epsilon(0)
69
+ end
70
+
71
+ it 'expected -0.8041525701173668 returned by Eot_angles.delta_oblique()? ' do
72
+ assert_equal -0.8041525701173668, Eot_angles.delta_oblique()
73
+ assert_equal -0.8041525701173668, Eot_angles.delta_oblique(nil)
74
+ assert_equal -0.8041525701173668, Eot_angles.delta_oblique(0)
75
+ end
76
+
77
+ it 'expected 1.2273333530652906 returned by Eot_angles.delta_orbit()? ' do
78
+ assert_equal 1.2273333530652906, Eot_angles.delta_orbit()
79
+ assert_equal 1.2273333530652906, Eot_angles.delta_orbit(nil)
80
+ assert_equal 1.2273333530652906, Eot_angles.delta_orbit(0)
81
+ end
82
+
83
+ it 'expected -0.0038550497869660255 returned by Eot_angles.delta_psi()? ' do
84
+ assert_equal -0.0038550497869660255, Eot_angles.delta_psi()
85
+ assert_equal -0.0038550497869660255, Eot_angles.delta_psi(nil)
86
+ assert_equal -0.0038550497869660255, Eot_angles.delta_psi(0)
87
+ end
88
+
89
+ it 'expected 0.016708617 returned by Eot_angles.eccentricity_Earth()? ' do
90
+ assert_equal 0.016708617, Eot_angles.eccentricity_Earth()
91
+ assert_equal 0.016708617, Eot_angles.eccentricity_Earth(nil)
92
+ assert_equal 0.016708617, Eot_angles.eccentricity_Earth(0)
93
+ end
94
+
95
+ it 'expected -0.0035369820010596148 returned by Eot_angles.eq_of_equinox()? ' do
96
+ assert_equal -0.0035369820010596148, Eot_angles.eq_of_equinox()
97
+ assert_equal -0.0035369820010596148, Eot_angles.eq_of_equinox(nil)
98
+ assert_equal -0.0035369820010596148, Eot_angles.eq_of_equinox(0)
99
+ end
100
+
101
+ it 'expected -1.120130505656931 returned by Eot_angles.eot()? ' do
102
+ assert_equal -1.120130505656931, Eot_angles.eot()
103
+ end
104
+
105
+ it 'expected 280.4664567 returned by Eot_angles.gml_Sun()? ' do
106
+ assert_equal 280.4664567, Eot_angles.gml_Sun()
107
+ assert_equal 280.4664567, Eot_angles.gml_Sun(nil)
108
+ assert_equal 280.4664567, Eot_angles.gml_Sun(0)
109
+ end
110
+
111
+ it 'expected 90.9060538240478 returned by Eot_angles.ha_Sun()? ' do
112
+ assert_equal 90.9060538240478, Eot_angles.ha_Sun()
113
+ assert_equal 90.9060538240478, Eot_angles.ha_Sun(nil)
114
+ assert_equal 90.9060538240478, Eot_angles.ha_Sun(0)
115
+ end
116
+
117
+ it 'expected 220.63461047326172 returned by Eot_angles.ma_Sun()? ' do
118
+ assert_equal 220.63461047326172, Eot_angles.ma_Sun()
119
+ end
120
+
121
+ it 'expected 280.460622404583 returned by Eot_angles.ml_Aries()? ' do
122
+ assert_equal 280.460622404583, Eot_angles.ml_Aries()
123
+ assert_equal 280.460622404583, Eot_angles.ml_Aries(nil)
124
+ assert_equal 280.460622404583, Eot_angles.ml_Aries(0)
125
+ end
126
+
127
+ it 'expected 23.439279444444445 returned by Eot_angles.mo_Earth()? ' do
128
+ assert_equal 23.439279444444445, Eot_angles.mo_Earth()
129
+ assert_equal 23.439279444444445, Eot_angles.mo_Earth(nil)
130
+ assert_equal 23.439279444444445, Eot_angles.mo_Earth(0)
131
+ end
132
+
133
+ it 'expected 125.04455501000001 returned by Eot_angles.omega()? ' do
134
+ assert_equal 125.04455501000001, Eot_angles.omega()
135
+ assert_equal 125.04455501000001, Eot_angles.omega(nil)
136
+ assert_equal 125.04455501000001, Eot_angles.omega(0)
137
+ end
138
+
139
+ it 'expected 280.0432759170521 returned by Eot_angles.ra_Sun()? ' do
140
+ assert_equal 280.0432759170521, Eot_angles.ra_Sun()
141
+ assert_equal 280.0432759170521, Eot_angles.ra_Sun(nil)
142
+ assert_equal 280.0432759170521, Eot_angles.ra_Sun(0)
143
+ end
144
+
145
+ it 'expected -0.9870537600674456 returned by Eot_angles.sine_al_Sun()? ' do
146
+ assert_equal -0.9870537600674456, Eot_angles.sine_al_Sun()
147
+ assert_equal -0.9870537600674456, Eot_angles.sine_al_Sun(nil)
148
+ assert_equal -0.9870537600674456, Eot_angles.sine_al_Sun(0)
149
+ end
150
+
151
+ it 'expected -0.9870268630849643 returned by Eot_angles.sine_tl_Sun()? ' do
152
+ assert_equal -0.9870268630849643, Eot_angles.sine_tl_Sun()
153
+ assert_equal -0.9870268630849643, Eot_angles.sine_tl_Sun(nil)
154
+ assert_equal -0.9870268630849643, Eot_angles.sine_tl_Sun(0)
155
+ end
156
+
157
+ it 'expected 219.40727712019643 returned by Eot_angles.ta_Sun()? ' do
158
+ assert_equal 219.40727712019643, Eot_angles.ta_Sun()
159
+ assert_equal 219.40727712019643, Eot_angles.ta_Sun(nil)
160
+ assert_equal 219.40727712019643, Eot_angles.ta_Sun(0)
161
+ end
162
+
163
+ it 'expected 280.45708542258194 returned by Eot_angles.tl_Aries()? ' do
164
+ assert_equal 280.45708542258194, Eot_angles.tl_Aries()
165
+ assert_equal 280.45708542258194, Eot_angles.tl_Aries(nil)
166
+ assert_equal 280.45708542258194, Eot_angles.tl_Aries(0)
167
+ end
168
+
169
+ it 'expected 279.2391233469347 returned by Eot_angles.tl_Sun()? ' do
170
+ assert_equal 279.2391233469347, Eot_angles.tl_Sun()
171
+ assert_equal 279.2391233469347, Eot_angles.tl_Sun(nil)
172
+ assert_equal 279.2391233469347, Eot_angles.tl_Sun(0)
173
+ end
174
+
175
+ it 'expected 23.43768541308359 returned by Eot_angles.to_Earth()? ' do
176
+ assert_equal 23.43768541308359, Eot_angles.to_Earth()
177
+ assert_equal 23.43768541308359, Eot_angles.to_Earth(nil)
178
+ assert_equal 23.43768541308359, Eot_angles.to_Earth(0)
179
+ end
180
+ end
181
+
182
+
183
+
184
+ describe ' Eot angles tjc array for jd 2455055.5 a non default value' do
185
+
186
+ # set ma attribute first as it gets tested anyway but a lot of methods
187
+ # now rely on @ma so we don't have to keep calling it unless we change
188
+ # @ajd attribute
189
+ before(:each) do
190
+ @ajd = 2455055.0
191
+ Eot_angles.ajd = @ajd
192
+ @dt = Eot_angles.ajd_to_datetime(@ajd)
193
+ Eot_angles.date = @dt
194
+ Eot_angles.ma_Sun
195
+ @ta = Eot_angles.time_julian_century(@ajd)
196
+ end
197
+
198
+ it 'expected 2455055.0, returned by Eot_angles.' do
199
+ assert_equal 2455055.0, Eot_angles.ajd
200
+ end
201
+
202
+ it 'expected "2009-08-11T12:00:00+00:00", returned by Eot_angles.date.to_s' do
203
+ assert_equal "2009-08-11T12:00:00+00:00", Eot_angles.date.to_s
204
+ end
205
+
206
+ it 'expected 216.98609672514223, returned by Eot_angles.' do
207
+ assert_equal 216.98609672514223, Eot_angles.ma
208
+ end
209
+
210
+ it 'expected 138.95453031575755 returned by Eot_angles.al_Sun(@ta)? ' do
211
+ assert_equal 138.95453031575755, Eot_angles.al_Sun(@ta)
212
+ end
213
+
214
+ it 'expected -1.1326466587538162 returned by Eot_angles.centre(@ta)? ' do
215
+ assert_equal -1.1326466587538162, Eot_angles.center(@ta)
216
+ end
217
+
218
+ it 'expected -0.7541886969973313 returned by Eot_angles.cosine_al_Sun(@ta)? ' do
219
+ assert_equal -0.7541886969973313, Eot_angles.cosine_al_Sun(@ta)
220
+ end
221
+
222
+ it 'expected -0.7542060769934986 returned by Eot_angles.cosine_tl_Sun(@ta)? ' do
223
+ assert_equal -0.7542060769934986, Eot_angles.cosine_tl_Sun(@ta)
224
+ end
225
+
226
+ it 'expected 0.9174818406562965 returned by Eot_angles.cosine_to_Earth(@ta)? ' do
227
+ assert_equal 0.9174818406562965, Eot_angles.cosine_to_Earth(@ta)
228
+ end
229
+
230
+ it 'expected 15.141502782959178 returned by Eot_angles.dec_Sun(@ta)? ' do
231
+ assert_equal 15.141502782959178, Eot_angles.dec_Sun(@ta)
232
+ end
233
+
234
+ it 'expected 0.001293821738156411 returned by Eot_angles.delta_epsilon(@ta)? ' do
235
+ assert_equal 0.001293821738156411, Eot_angles.delta_epsilon(@ta).round(18)
236
+ end
237
+
238
+ it 'expected -2.42490431188628 returned by Eot_angles.delta_oblique(@ta)? ' do
239
+ assert_equal -2.42490431188628, Eot_angles.delta_oblique(@ta)
240
+ end
241
+
242
+ it 'expected 1.1326466587538278 returned by Eot_angles.delta_orbit(@ta)? ' do
243
+ assert_equal 1.1326466587538278, Eot_angles.delta_orbit(@ta)
244
+ end
245
+
246
+ it 'expected 0.0043768851558214535 returned by Eot_angles.delta_psi(@ta)? ' do
247
+ assert_equal 0.0043768851558214535, Eot_angles.delta_psi(@ta)
248
+ end
249
+
250
+ it 'expected 0.016704576164208475 returned by Eot_angles.eccentricity_Earth(@ta)? ' do
251
+ assert_equal 0.016704576164208475, Eot_angles.eccentricity_Earth(@ta)
252
+ end
253
+
254
+ it 'expected 0.004015712649104288 returned by Eot_angles.eq_of_equinox(@ta)? ' do
255
+ assert_equal 0.004015712649104288, Eot_angles.eq_of_equinox(@ta)
256
+ end
257
+
258
+ it 'expected -1.2922576531324523 returned by Eot_angles.eot()? ' do
259
+ assert_equal -1.2922576531324523, Eot_angles.eot()
260
+ end
261
+
262
+ it 'expected 140.08869346549056 returned by Eot_angles.gml_Sun(@ta)? ' do
263
+ assert_equal 140.08869346549056, Eot_angles.gml_Sun(@ta)
264
+ end
265
+
266
+ it 'expected 90.86327177163999 returned by Eot_angles.ha_Sun(@ta)? ' do
267
+ assert_equal 90.86327177163999, Eot_angles.ha_Sun(@ta)
268
+ end
269
+
270
+ it 'expected 216.98609672514223 returned by Eot_angles.ma_Sun()? ' do
271
+ assert_equal 216.98609672514223, Eot_angles.ma_Sun()
272
+ end
273
+
274
+ it 'expected 140.08287431273857 returned by Eot_angles.ml_Aries(@ta)? ' do
275
+ assert_equal 140.08287431273857, Eot_angles.ml_Aries(@ta)
276
+ end
277
+
278
+ it 'expected 23.43802918164109 returned by Eot_angles.mo_Earth(@ta)? ' do
279
+ assert_equal 23.43802918164109, Eot_angles.mo_Earth(@ta)
280
+ end
281
+
282
+ it 'expected -60.82314052284639 returned by Eot_angles.omega(@ta)? ' do
283
+ assert_equal -60.82314052284639, Eot_angles.omega(@ta)
284
+ end
285
+
286
+ it 'expected 141.38095111862302 returned by Eot_angles.ra_Sun(@ta)? ' do
287
+ assert_equal 141.38095111862302, Eot_angles.ra_Sun(@ta)
288
+ end
289
+
290
+ it 'expected 0.6566577566141039 returned by Eot_angles.sine_al_Sun(@ta)? ' do
291
+ assert_equal 0.6566577566141039, Eot_angles.sine_al_Sun(@ta)
292
+ end
293
+
294
+ it 'expected 0.6566377946981706 returned by Eot_angles.sine_tl_Sun(@ta)? ' do
295
+ assert_equal 0.6566377946981706, Eot_angles.sine_tl_Sun(@ta)
296
+ end
297
+
298
+ it 'expected 215.8534500663884 returned by Eot_angles.ta_Sun(@ta)? ' do
299
+ assert_equal 215.8534500663884, Eot_angles.ta_Sun(@ta)
300
+ end
301
+
302
+ it 'expected 140.08689002538767 returned by Eot_angles.tl_Aries(@ta)? ' do
303
+ assert_equal 140.08689002538767, Eot_angles.tl_Aries(@ta)
304
+ end
305
+
306
+ it 'expected 138.95604680673674 returned by Eot_angles.tl_Sun(@ta)? ' do
307
+ assert_equal 138.95604680673674, Eot_angles.tl_Sun(@ta)
308
+ end
309
+
310
+ it 'expected 23.439323003379247 returned by Eot_angles.to_Earth(@ta)? ' do
311
+ assert_equal 23.439323003379247, Eot_angles.to_Earth(@ta)
312
+ end
313
+ end
@@ -0,0 +1,27 @@
1
+ # constants_spec.rb
2
+ #
3
+ # uncomment below for minitest
4
+ gem 'minitest'
5
+ require 'minitest/autorun'
6
+ # require_relative '../spec_config'
7
+ lib = File.expand_path('../../../lib', __FILE__)
8
+ # puts "Loading gem from #{lib}/eot.rb"
9
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
10
+ require 'eot'
11
+
12
+ describe "Equation of Time constants." do
13
+
14
+ it "01 require 'eot' should find all constants." do
15
+ assert_equal 3600.0, Eot::ASD
16
+ assert_equal 4.8481368110953599358991410235795e-6, Eot::DTR
17
+ assert_equal 206264.80624709635515647335733078, Eot::RTD
18
+ assert_equal 24.0, Eot::DAY_HOURS
19
+ assert_equal 1440.0, Eot::DAY_MINUTES
20
+ assert_equal 86400.0, Eot::DAY_SECONDS
21
+ assert_equal 86400.0 * 1.0e+6, Eot::DAY_USECS
22
+ assert_equal [0.0, 0.0, 0.0, 0.0, 0.0], Eot::A2000
23
+ assert_equal "2000-01-01", Eot::D2000
24
+ assert_equal 2451545.0, Eot::J2000
25
+ assert_equal DateTime.new( 2000, 01, 01, 12, 00, 00, "+00:00" ), Eot::DT2000
26
+ end
27
+ end
@@ -0,0 +1,35 @@
1
+ # uncomment below for minitest
2
+ gem 'minitest'
3
+ require 'minitest/autorun'
4
+ # require_relative '../spec_config'
5
+
6
+ lib = File.expand_path('../../../lib', __FILE__)
7
+ # puts "Loading gem from #{lib}/eot.rb"
8
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
9
+ require 'eot'
10
+
11
+ Eot_first = Eot.new
12
+
13
+ describe 'Eot_first default, nil, 0' do
14
+
15
+ # set ma attribute first as it gets tested anyway but a lot of methods
16
+ # now rely on @ma so we don't have to keep calling it unless we change
17
+ # @ajd attribute.
18
+
19
+ before(:each) do
20
+ @ajd = 2456885.0
21
+ Eot_first.ajd = @ajd
22
+ Eot_first.ma_Sun()
23
+ end
24
+
25
+ it 'expected 2456885.0 for Eot_first.ajd'do
26
+ assert_equal 2456885.0, Eot_first.ajd
27
+ assert_equal 220.63461047326172, Eot_first.ma
28
+ end
29
+
30
+ it 'expected -0.0015940313608572006 returned by delta_epsilon()' do
31
+ assert_equal -0.0015940313608572006, Eot_first.delta_epsilon()
32
+ assert_equal -0.0015940313608572006, Eot_first.delta_epsilon(nil)
33
+ assert_equal -0.0015940313608572006, Eot_first.delta_epsilon(0)
34
+ end
35
+ end
@@ -0,0 +1,111 @@
1
+ # displays_spec.rb
2
+ #
3
+ # uncomment below for minitest
4
+ gem 'minitest'
5
+ require 'minitest/autorun'
6
+ # require_relative '../spec_config'
7
+ lib = File.expand_path('../../../lib', __FILE__)
8
+ # puts "Loading gem from #{lib}/eot.rb"
9
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
10
+ require 'eot'
11
+
12
+ Eot_displays = Eot.new
13
+
14
+ describe 'Eot displays default, nil, 0' do
15
+
16
+ # set ma attribute first as it gets tested anyway but a lot of methods
17
+ # now rely on @ma so we don't have to keep calling it unless we change
18
+ # @ajd attribute.
19
+ before(:each) do
20
+ @ajd = 2456885.0
21
+ Eot_displays.ajd = @ajd
22
+ Eot_displays.ma_Sun()
23
+ end
24
+
25
+ it 'expected 2456885.0 for Eot_displays.ajd'do
26
+ assert_equal 2456885.0, Eot_displays.ajd
27
+ assert_equal 220.63461047326172, Eot_displays.ma
28
+ end
29
+
30
+ it 'expected "+000:00:00.000" returned by Eot_displays.degrees_to_s() ' do
31
+ assert_equal "+000:00:00.000", Eot_displays.degrees_to_s()
32
+ assert_equal "+000:00:00.000", Eot_displays.degrees_to_s(nil)
33
+ assert_equal "+000:00:00.000", Eot_displays.degrees_to_s(0)
34
+ end
35
+
36
+ it 'expected "+279:13:46.271" returned by Eot_displays.string_al_Sun() ' do
37
+ assert_equal "+279:13:46.271", Eot_displays.string_al_Sun()
38
+ assert_equal "+279:13:46.271", Eot_displays.string_al_Sun(nil)
39
+ assert_equal "+279:13:46.271", Eot_displays.string_al_Sun(0)
40
+ end
41
+
42
+ it 'expected "12:00:00" returned by Eot_displays.string_day_fraction_to_time() ' do
43
+ assert_equal "12:00:00", Eot_displays.string_day_fraction_to_time()
44
+ assert_equal "12:00:00", Eot_displays.string_day_fraction_to_time(nil)
45
+ assert_equal "12:00:00", Eot_displays.string_day_fraction_to_time(0)
46
+ end
47
+
48
+ it 'expected "-023:06:59.415" returned by Eot_displays.string_dec_Sun() ' do
49
+ assert_equal "-023:06:59.415", Eot_displays.string_dec_Sun()
50
+ assert_equal "-023:06:59.415", Eot_displays.string_dec_Sun(nil)
51
+ assert_equal "-023:06:59.415", Eot_displays.string_dec_Sun(0)
52
+ end
53
+
54
+ it 'expected "-04m, 28.9s" returned by Eot_displays.string_eot() ' do
55
+ assert_equal "-04m, 28.9s", Eot_displays.string_eot()
56
+ end
57
+
58
+ it 'expected "2000-01-01" returned by Eot_displays.string_jd_to_date() ' do
59
+ assert_equal "2000-01-01", Eot_displays.string_jd_to_date()
60
+ assert_equal "2000-01-01", Eot_displays.string_jd_to_date(nil)
61
+ assert_equal "2000-01-01", Eot_displays.string_jd_to_date(0)
62
+ end
63
+
64
+ it 'expected "+220:38:04.597" returned by Eot_displays.string_ma_Sun() ' do
65
+ assert_equal "+220:38:04.597", Eot_displays.string_ma_Sun()
66
+ end
67
+
68
+ it 'expected "+280:02:35.793" returned by Eot_displays.string_ra_Sun() ' do
69
+ assert_equal "+280:02:35.793", Eot_displays.string_ra_Sun()
70
+ assert_equal "+280:02:35.793", Eot_displays.string_ra_Sun(nil)
71
+ assert_equal "+280:02:35.793", Eot_displays.string_ra_Sun(0)
72
+ end
73
+
74
+ it 'expected "+219:24:26.197" returned by Eot_displays.string_ta_Sun() ' do
75
+ assert_equal "+219:24:26.197", Eot_displays.string_ta_Sun()
76
+ assert_equal "+219:24:26.197", Eot_displays.string_ta_Sun(nil)
77
+ assert_equal "+219:24:26.197", Eot_displays.string_ta_Sun(0)
78
+ end
79
+
80
+ it 'expected "12:00:00.000" returned by Eot_displays.string_time() ' do
81
+ assert_equal "12:00:00.000", Eot_displays.string_time()
82
+ assert_equal "12:00:00.000", Eot_displays.string_time(nil)
83
+ assert_equal "12:00:00.000", Eot_displays.string_time(0)
84
+ end
85
+
86
+ it 'expected "+279:14:20.844" returned by Eot_displays.string_tl_Sun() ' do
87
+ assert_equal "+279:14:20.844", Eot_displays.string_tl_Sun()
88
+ assert_equal "+279:14:20.844", Eot_displays.string_tl_Sun(nil)
89
+ assert_equal "+279:14:20.844", Eot_displays.string_tl_Sun(0)
90
+ end
91
+
92
+ it 'expected "+023:26:15.667" returned by Eot_displays.string_to_Earth() ' do
93
+ assert_equal "+023:26:15.667", Eot_displays.string_to_Earth()
94
+ assert_equal "+023:26:15.667", Eot_displays.string_to_Earth(nil)
95
+ assert_equal "+023:26:15.667", Eot_displays.string_to_Earth(0)
96
+ end
97
+
98
+ end
99
+
100
+ describe 'Eot displays explicit values' do
101
+
102
+ it 'expected "16:40:40.800" returned by Eot_displays.string_time(16.6780) ' do
103
+ assert_equal "16:40:40.800", Eot_displays.string_time(16.6780)
104
+ end
105
+
106
+ it 'expected "17:59:16.800" returned by Eot_displays.string_time(17988) ' do
107
+ Eot_displays.date= Date.today.to_s
108
+ assert_equal "17:59:16.800", Eot_displays.string_time(17.988)
109
+ end
110
+
111
+ end
@@ -0,0 +1,36 @@
1
+ # geo_spec.rb
2
+ #
3
+ # uncomment below for minitest
4
+ gem 'minitest'
5
+ require 'minitest/autorun'
6
+ # require_relative '../spec_config'
7
+ lib = File.expand_path('../../../lib', __FILE__)
8
+ # puts "Loading gem from #{lib}/eot.rb"
9
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
10
+ require 'eot'
11
+
12
+ Geo = GeoLatLng.new
13
+
14
+ describe 'Geo defaults' do
15
+
16
+ it'expected "http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address="' do
17
+ assert_equal "http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=", Geo.base
18
+ end
19
+
20
+ it'expected "Blackheath Ave, London SE10 8XJ, UK" 'do
21
+ assert_equal "Blackheath Ave, London SE10 8XJ, UK", Geo.default_int
22
+ end
23
+
24
+ it'expected "3333 Coyote Hill Road, Palo Alto, CA, 94304, USA" 'do
25
+ assert_equal "3333 Coyote Hill Road, Palo Alto, CA, 94304, USA", Geo.default_us
26
+ end
27
+
28
+ it'expected 0.0'do
29
+ assert_equal 0.0, Geo.lat
30
+ end
31
+
32
+ it'expected 0.0'do
33
+ assert_equal 0.0, Geo.lng
34
+ end
35
+
36
+ end
@@ -0,0 +1,32 @@
1
+ # init_spec.rb
2
+ #
3
+ # uncomment below for minitest
4
+ gem 'minitest'
5
+ require 'minitest/autorun'
6
+ # require_relative '../spec_config'
7
+ lib = File.expand_path('../../../lib', __FILE__)
8
+ # puts "Loading gem from #{lib}/eot.rb"
9
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
10
+ require 'eot'
11
+
12
+ Eot_initialize = Eot.new
13
+
14
+ describe 'Eot methods for init.rb' do
15
+
16
+ it 'expected defaults returned by Eot_initialize() ?' do
17
+
18
+ date = DateTime.now.to_time.utc.to_datetime
19
+ refute_nil Eot_initialize.data
20
+ assert_equal date.jd.to_f, Eot_initialize.ajd
21
+ assert_equal date.to_date, Eot_initialize.date
22
+ assert_equal date.jd, Eot_initialize.jd
23
+ assert_equal 0.0, Eot_initialize.latitude
24
+ assert_equal 0.0, Eot_initialize.longitude
25
+ end
26
+
27
+ it 'expected 0.0 returned by Eot_initialize.initialize(addr) ' do
28
+ @test6 = Eot.new("some comma separated address")
29
+ assert_equal "some comma separated address", @test6.addr
30
+ end
31
+
32
+ end
@@ -0,0 +1,33 @@
1
+ # nutation_spec.rb
2
+ #
3
+ # uncomment below for minitest
4
+ gem 'minitest'
5
+ require 'minitest/autorun'
6
+ # require_relative '../spec_config'
7
+ lib = File.expand_path('../../../lib', __FILE__)
8
+ # puts "Loading gem from #{lib}/eot.rb"
9
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
10
+ require 'eot'
11
+
12
+ Eot_nutation = Eot.new
13
+
14
+ describe "Eot_nutation default" do
15
+
16
+ before(:each) do
17
+ @ajd = 2456885.0
18
+ Eot_nutation.ajd = @ajd
19
+ Eot_nutation.ma_Sun()
20
+ end
21
+
22
+ it 'expected 2456885.0 for Eot_nutation.ajd'do
23
+ assert_equal 2456885.0, Eot_nutation.ajd
24
+ assert_equal 220.63461047326172, Eot_nutation.ma
25
+ end
26
+
27
+ it "expected [-0.0015940313608572006, -0.0038550497869660255] from Eot_nutation.delta_equinox() for default" do
28
+ assert_equal [-0.0015940313608572006, -0.0038550497869660255], Eot_nutation.delta_equinox()[0..1]
29
+ assert_equal [-0.0015940313608572006, -0.0038550497869660255], Eot_nutation.delta_equinox(nil)[0..1]
30
+ assert_equal [-0.0015940313608572006, -0.0038550497869660255], Eot_nutation.delta_equinox(0)[0..1]
31
+ end
32
+
33
+ end