barometer 0.3.2 → 0.5.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 (108) hide show
  1. data/README.rdoc +78 -70
  2. data/VERSION.yml +2 -2
  3. data/bin/barometer +100 -37
  4. data/lib/barometer.rb +12 -8
  5. data/lib/barometer/base.rb +48 -20
  6. data/lib/barometer/data.rb +5 -1
  7. data/lib/barometer/data/current.rb +23 -15
  8. data/lib/barometer/data/distance.rb +15 -5
  9. data/lib/barometer/data/forecast.rb +23 -5
  10. data/lib/barometer/data/geo.rb +16 -54
  11. data/lib/barometer/data/local_datetime.rb +137 -0
  12. data/lib/barometer/data/local_time.rb +134 -0
  13. data/lib/barometer/data/location.rb +6 -1
  14. data/lib/barometer/data/measurement.rb +71 -42
  15. data/lib/barometer/data/night.rb +69 -0
  16. data/lib/barometer/data/pressure.rb +15 -5
  17. data/lib/barometer/data/speed.rb +16 -5
  18. data/lib/barometer/data/sun.rb +8 -20
  19. data/lib/barometer/data/temperature.rb +22 -9
  20. data/lib/barometer/data/units.rb +10 -19
  21. data/lib/barometer/data/zone.rb +135 -9
  22. data/lib/barometer/formats.rb +12 -0
  23. data/lib/barometer/formats/coordinates.rb +42 -0
  24. data/lib/barometer/formats/format.rb +46 -0
  25. data/lib/barometer/formats/geocode.rb +51 -0
  26. data/lib/barometer/formats/icao.rb +37 -0
  27. data/lib/barometer/formats/postalcode.rb +22 -0
  28. data/lib/barometer/formats/short_zipcode.rb +17 -0
  29. data/lib/barometer/formats/weather_id.rb +107 -0
  30. data/lib/barometer/formats/zipcode.rb +31 -0
  31. data/lib/barometer/query.rb +61 -232
  32. data/lib/barometer/services.rb +14 -4
  33. data/lib/barometer/translations/icao_country_codes.yml +9 -0
  34. data/lib/barometer/translations/weather_country_codes.yml +17 -0
  35. data/lib/barometer/weather.rb +51 -30
  36. data/lib/barometer/{services → weather_services}/google.rb +23 -26
  37. data/lib/barometer/weather_services/noaa.rb +6 -0
  38. data/lib/barometer/{services → weather_services}/service.rb +101 -92
  39. data/lib/barometer/weather_services/weather_bug.rb +6 -0
  40. data/lib/barometer/weather_services/weather_dot_com.rb +261 -0
  41. data/lib/barometer/{services → weather_services}/wunderground.rb +58 -76
  42. data/lib/barometer/{services → weather_services}/yahoo.rb +91 -121
  43. data/lib/barometer/web_services/geocode.rb +33 -0
  44. data/lib/barometer/web_services/weather_id.rb +37 -0
  45. data/lib/barometer/web_services/web_service.rb +32 -0
  46. data/lib/demometer/demometer.rb +31 -4
  47. data/lib/demometer/views/forecast.erb +20 -0
  48. data/lib/demometer/views/index.erb +10 -3
  49. data/lib/demometer/views/measurement.erb +8 -3
  50. data/lib/demometer/views/readme.erb +63 -24
  51. data/spec/barometer_spec.rb +18 -36
  52. data/spec/{data_current_spec.rb → data/current_spec.rb} +73 -49
  53. data/spec/{data_distance_spec.rb → data/distance_spec.rb} +30 -30
  54. data/spec/{data_forecast_spec.rb → data/forecast_spec.rb} +57 -15
  55. data/spec/data/geo_spec.rb +91 -0
  56. data/spec/data/local_datetime_spec.rb +269 -0
  57. data/spec/data/local_time_spec.rb +239 -0
  58. data/spec/{data_location_spec.rb → data/location_spec.rb} +12 -1
  59. data/spec/{data_measurement_spec.rb → data/measurement_spec.rb} +135 -66
  60. data/spec/data/night_measurement_spec.rb +136 -0
  61. data/spec/{data_pressure_spec.rb → data/pressure_spec.rb} +29 -29
  62. data/spec/{data_speed_spec.rb → data/speed_spec.rb} +30 -30
  63. data/spec/data/sun_spec.rb +49 -0
  64. data/spec/{data_temperature_spec.rb → data/temperature_spec.rb} +44 -44
  65. data/spec/{units_spec.rb → data/units_spec.rb} +6 -6
  66. data/spec/{data_zone_spec.rb → data/zone_spec.rb} +15 -15
  67. data/spec/fixtures/formats/weather_id/90210.xml +1 -0
  68. data/spec/fixtures/formats/weather_id/atlanta.xml +1 -0
  69. data/spec/fixtures/formats/weather_id/from_USGA0028.xml +1 -0
  70. data/spec/fixtures/formats/weather_id/new_york.xml +1 -0
  71. data/spec/fixtures/{geocode_40_73.xml → geocode/40_73.xml} +0 -0
  72. data/spec/fixtures/{geocode_90210.xml → geocode/90210.xml} +0 -0
  73. data/spec/fixtures/{geocode_T5B4M9.xml → geocode/T5B4M9.xml} +0 -0
  74. data/spec/fixtures/geocode/atlanta.xml +1 -0
  75. data/spec/fixtures/{geocode_calgary_ab.xml → geocode/calgary_ab.xml} +0 -0
  76. data/spec/fixtures/{geocode_ksfo.xml → geocode/ksfo.xml} +0 -0
  77. data/spec/fixtures/{geocode_newyork_ny.xml → geocode/newyork_ny.xml} +0 -0
  78. data/spec/fixtures/{google_calgary_ab.xml → services/google/calgary_ab.xml} +0 -0
  79. data/spec/fixtures/services/weather_dot_com/90210.xml +1 -0
  80. data/spec/fixtures/{current_calgary_ab.xml → services/wunderground/current_calgary_ab.xml} +0 -0
  81. data/spec/fixtures/{forecast_calgary_ab.xml → services/wunderground/forecast_calgary_ab.xml} +0 -0
  82. data/spec/fixtures/{yahoo_90210.xml → services/yahoo/90210.xml} +0 -0
  83. data/spec/formats/coordinates_spec.rb +158 -0
  84. data/spec/formats/format_spec.rb +73 -0
  85. data/spec/formats/geocode_spec.rb +179 -0
  86. data/spec/formats/icao_spec.rb +61 -0
  87. data/spec/formats/postalcode_spec.rb +59 -0
  88. data/spec/formats/short_zipcode_spec.rb +53 -0
  89. data/spec/formats/weather_id_spec.rb +191 -0
  90. data/spec/formats/zipcode_spec.rb +111 -0
  91. data/spec/query_spec.rb +261 -288
  92. data/spec/spec_helper.rb +128 -4
  93. data/spec/{service_google_spec.rb → weather_services/google_spec.rb} +46 -46
  94. data/spec/weather_services/services_spec.rb +1118 -0
  95. data/spec/weather_services/weather_dot_com_spec.rb +327 -0
  96. data/spec/weather_services/wunderground_spec.rb +332 -0
  97. data/spec/{service_yahoo_spec.rb → weather_services/yahoo_spec.rb} +65 -81
  98. data/spec/weather_spec.rb +73 -61
  99. data/spec/web_services/geocode_spec.rb +45 -0
  100. data/spec/web_services/web_services_spec.rb +26 -0
  101. metadata +88 -36
  102. data/lib/barometer/services/noaa.rb +0 -6
  103. data/lib/barometer/services/weather_bug.rb +0 -6
  104. data/lib/barometer/services/weather_dot_com.rb +0 -6
  105. data/spec/data_geo_spec.rb +0 -94
  106. data/spec/data_sun_spec.rb +0 -76
  107. data/spec/service_wunderground_spec.rb +0 -330
  108. data/spec/services_spec.rb +0 -1106
@@ -5,17 +5,17 @@ describe "Pressure" do
5
5
  describe "when initialized" do
6
6
 
7
7
  before(:each) do
8
- @pressure = Barometer::Pressure.new
8
+ @pressure = Data::Pressure.new
9
9
  end
10
10
 
11
11
  it "defines METRIC_UNITS" do
12
- Barometer::Pressure.const_defined?("METRIC_UNITS").should be_true
13
- Barometer::Pressure::METRIC_UNITS.should == "mb"
12
+ Data::Pressure.const_defined?("METRIC_UNITS").should be_true
13
+ Data::Pressure::METRIC_UNITS.should == "mb"
14
14
  end
15
15
 
16
16
  it "defines IMPERIAL_UNITS" do
17
- Barometer::Pressure.const_defined?("IMPERIAL_UNITS").should be_true
18
- Barometer::Pressure::IMPERIAL_UNITS.should == "in"
17
+ Data::Pressure.const_defined?("IMPERIAL_UNITS").should be_true
18
+ Data::Pressure::IMPERIAL_UNITS.should == "in"
19
19
  end
20
20
 
21
21
  it "responds to millibars" do
@@ -52,20 +52,20 @@ describe "Pressure" do
52
52
  end
53
53
 
54
54
  it "requires a value, that is either Integer or Float" do
55
- Barometer::Pressure.mb_to_in(nil).should be_nil
56
- Barometer::Pressure.in_to_mb(nil).should be_nil
55
+ Data::Pressure.mb_to_in(nil).should be_nil
56
+ Data::Pressure.in_to_mb(nil).should be_nil
57
57
 
58
58
  not_float_or_integer = "string"
59
- Barometer::Pressure.mb_to_in(not_float_or_integer).should be_nil
60
- Barometer::Pressure.in_to_mb(not_float_or_integer).should be_nil
59
+ Data::Pressure.mb_to_in(not_float_or_integer).should be_nil
60
+ Data::Pressure.in_to_mb(not_float_or_integer).should be_nil
61
61
  end
62
62
 
63
63
  it "converts MB to IN" do
64
- ((Barometer::Pressure.mb_to_in(@mb)*100).round/100.0).should == @in
64
+ ((Data::Pressure.mb_to_in(@mb)*100).round/100.0).should == @in
65
65
  end
66
66
 
67
67
  it "converts IN to MB" do
68
- ((Barometer::Pressure.in_to_mb(@in)*100).round/100.0).should == @mb
68
+ ((Data::Pressure.in_to_mb(@in)*100).round/100.0).should == @mb
69
69
  end
70
70
 
71
71
  end
@@ -73,7 +73,7 @@ describe "Pressure" do
73
73
  describe "updating" do
74
74
 
75
75
  before(:each) do
76
- @pressure = Barometer::Pressure.new
76
+ @pressure = Data::Pressure.new
77
77
  @in = 21.31
78
78
  @mb = 721.64
79
79
  end
@@ -123,7 +123,7 @@ describe "Pressure" do
123
123
  describe "storing" do
124
124
 
125
125
  before(:each) do
126
- @pressure = Barometer::Pressure.new
126
+ @pressure = Data::Pressure.new
127
127
  @in = 21.31
128
128
  @mb = 721.64
129
129
  end
@@ -165,7 +165,7 @@ describe "Pressure" do
165
165
  describe "retrieving" do
166
166
 
167
167
  before(:each) do
168
- @pressure = Barometer::Pressure.new
168
+ @pressure = Data::Pressure.new
169
169
  @in = 21.31
170
170
  @mb = 721.64
171
171
  end
@@ -233,52 +233,52 @@ describe "Pressure" do
233
233
  before(:each) do
234
234
  @in = 21.31
235
235
  @mb = 721.64
236
- @pressure_low = Barometer::Pressure.new
236
+ @pressure_low = Data::Pressure.new
237
237
  @pressure_low.mb = (@mb - 1.0)
238
- @pressure_high = Barometer::Pressure.new
238
+ @pressure_high = Data::Pressure.new
239
239
  @pressure_high.mb = (@mb + 1.0)
240
- @pressure = Barometer::Pressure.new
240
+ @pressure = Data::Pressure.new
241
241
  @pressure.mb = @mb
242
- @pressure_same = Barometer::Pressure.new
242
+ @pressure_same = Data::Pressure.new
243
243
  @pressure_same.mb = @mb
244
244
  end
245
245
 
246
246
  it "defines <=>" do
247
- Barometer::Pressure.method_defined?("<=>").should be_true
247
+ Data::Pressure.method_defined?("<=>").should be_true
248
248
  (@pressure_low <=> @pressure_high).should == -1
249
249
  (@pressure_high <=> @pressure_low).should == 1
250
250
  (@pressure <=> @pressure_same).should == 0
251
251
  end
252
252
 
253
253
  it "defines <" do
254
- Barometer::Pressure.method_defined?("<").should be_true
254
+ Data::Pressure.method_defined?("<").should be_true
255
255
  @pressure_low.should < @pressure_high
256
256
  @pressure_high.should_not < @pressure_low
257
257
  @pressure.should_not < @pressure_same
258
258
  end
259
259
 
260
260
  it "defines >" do
261
- Barometer::Pressure.method_defined?(">").should be_true
261
+ Data::Pressure.method_defined?(">").should be_true
262
262
  @pressure_low.should_not > @pressure_high
263
263
  @pressure_high.should > @pressure_low
264
264
  @pressure.should_not > @pressure_same
265
265
  end
266
266
 
267
267
  it "defines ==" do
268
- Barometer::Pressure.method_defined?("==").should be_true
268
+ Data::Pressure.method_defined?("==").should be_true
269
269
  @pressure_low.should_not == @pressure_high
270
270
  @pressure.should == @pressure_same
271
271
  end
272
272
 
273
273
  it "defines <=" do
274
- Barometer::Pressure.method_defined?("<=").should be_true
274
+ Data::Pressure.method_defined?("<=").should be_true
275
275
  @pressure_low.should <= @pressure_high
276
276
  @pressure_high.should_not <= @pressure_low
277
277
  @pressure.should <= @pressure_same
278
278
  end
279
279
 
280
280
  it "defines >=" do
281
- Barometer::Pressure.method_defined?(">=").should be_true
281
+ Data::Pressure.method_defined?(">=").should be_true
282
282
  @pressure_low.should_not >= @pressure_high
283
283
  @pressure_high.should >= @pressure_low
284
284
  @pressure.should >= @pressure_same
@@ -291,7 +291,7 @@ describe "Pressure" do
291
291
  before(:each) do
292
292
  @in = 21.31
293
293
  @mb = 721.64
294
- @pressure = Barometer::Pressure.new
294
+ @pressure = Data::Pressure.new
295
295
  @pressure.mb = @mb
296
296
  end
297
297
 
@@ -315,20 +315,20 @@ describe "Pressure" do
315
315
 
316
316
  it "returns just the integer value with units" do
317
317
  @pressure.metric?.should be_true
318
- @pressure.to_s.should == "#{@mb.to_i} #{Barometer::Pressure::METRIC_UNITS}"
318
+ @pressure.to_s.should == "#{@mb.to_i} #{Data::Pressure::METRIC_UNITS}"
319
319
 
320
320
  @pressure.imperial!
321
321
  @pressure.metric?.should be_false
322
- @pressure.to_s.should == "#{@in.to_i} #{Barometer::Pressure::IMPERIAL_UNITS}"
322
+ @pressure.to_s.should == "#{@in.to_i} #{Data::Pressure::IMPERIAL_UNITS}"
323
323
  end
324
324
 
325
325
  it "returns just the units" do
326
326
  @pressure.metric?.should be_true
327
- @pressure.units.should == Barometer::Pressure::METRIC_UNITS
327
+ @pressure.units.should == Data::Pressure::METRIC_UNITS
328
328
 
329
329
  @pressure.imperial!
330
330
  @pressure.metric?.should be_false
331
- @pressure.units.should == Barometer::Pressure::IMPERIAL_UNITS
331
+ @pressure.units.should == Data::Pressure::IMPERIAL_UNITS
332
332
  end
333
333
 
334
334
  end
@@ -5,17 +5,17 @@ describe "Speed" do
5
5
  describe "when initialized" do
6
6
 
7
7
  it "defines METRIC_UNITS" do
8
- Barometer::Speed.const_defined?("METRIC_UNITS").should be_true
9
- Barometer::Speed::METRIC_UNITS.should == "kph"
8
+ Data::Speed.const_defined?("METRIC_UNITS").should be_true
9
+ Data::Speed::METRIC_UNITS.should == "kph"
10
10
  end
11
11
 
12
12
  it "defines IMPERIAL_UNITS" do
13
- Barometer::Speed.const_defined?("IMPERIAL_UNITS").should be_true
14
- Barometer::Speed::IMPERIAL_UNITS.should == "mph"
13
+ Data::Speed.const_defined?("IMPERIAL_UNITS").should be_true
14
+ Data::Speed::IMPERIAL_UNITS.should == "mph"
15
15
  end
16
16
 
17
17
  before(:each) do
18
- @speed = Barometer::Speed.new
18
+ @speed = Data::Speed.new
19
19
  end
20
20
 
21
21
  it "responds to kilometers" do
@@ -60,21 +60,21 @@ describe "Speed" do
60
60
  end
61
61
 
62
62
  it "requires a value, that is either Integer or Float" do
63
- Barometer::Speed.km_to_m(nil).should be_nil
64
- Barometer::Speed.m_to_km(nil).should be_nil
63
+ Data::Speed.km_to_m(nil).should be_nil
64
+ Data::Speed.m_to_km(nil).should be_nil
65
65
 
66
66
  not_float_or_integer = "string"
67
- Barometer::Speed.km_to_m(not_float_or_integer).should be_nil
68
- Barometer::Speed.m_to_km(not_float_or_integer).should be_nil
67
+ Data::Speed.km_to_m(not_float_or_integer).should be_nil
68
+ Data::Speed.m_to_km(not_float_or_integer).should be_nil
69
69
  end
70
70
 
71
71
  it "converts km/h to mph" do
72
72
  # to get equality, we need to tone down the precision
73
- ((Barometer::Speed.km_to_m(@km)*10).round/10.0).should == @m
73
+ ((Data::Speed.km_to_m(@km)*10).round/10.0).should == @m
74
74
  end
75
75
 
76
76
  it "converts mph to km/h" do
77
- Barometer::Speed.m_to_km(@m).should == @km
77
+ Data::Speed.m_to_km(@m).should == @km
78
78
  end
79
79
 
80
80
  end
@@ -82,7 +82,7 @@ describe "Speed" do
82
82
  describe "updating" do
83
83
 
84
84
  before(:each) do
85
- @speed = Barometer::Speed.new
85
+ @speed = Data::Speed.new
86
86
  @m = 10.0
87
87
  @km = 16.09
88
88
  end
@@ -132,7 +132,7 @@ describe "Speed" do
132
132
  describe "storing" do
133
133
 
134
134
  before(:each) do
135
- @speed = Barometer::Speed.new
135
+ @speed = Data::Speed.new
136
136
  @m = 10.0
137
137
  @km = 16.09
138
138
  end
@@ -202,7 +202,7 @@ describe "Speed" do
202
202
  describe "retrieving" do
203
203
 
204
204
  before(:each) do
205
- @speed = Barometer::Speed.new
205
+ @speed = Data::Speed.new
206
206
  @m = 10.0
207
207
  @km = 16.09
208
208
  end
@@ -271,52 +271,52 @@ describe "Speed" do
271
271
  before(:each) do
272
272
  @m = 10.0
273
273
  @km = 16.09
274
- @speed_low = Barometer::Speed.new
274
+ @speed_low = Data::Speed.new
275
275
  @speed_low.kph = (@km - 1.0)
276
- @speed_high = Barometer::Speed.new
276
+ @speed_high = Data::Speed.new
277
277
  @speed_high.kph = (@km + 1.0)
278
- @speed = Barometer::Speed.new
278
+ @speed = Data::Speed.new
279
279
  @speed.kph = @km
280
- @speed_same = Barometer::Speed.new
280
+ @speed_same = Data::Speed.new
281
281
  @speed_same.kph = @km
282
282
  end
283
283
 
284
284
  it "defines <=>" do
285
- Barometer::Speed.method_defined?("<=>").should be_true
285
+ Data::Speed.method_defined?("<=>").should be_true
286
286
  (@speed_low <=> @speed_high).should == -1
287
287
  (@speed_high <=> @speed_low).should == 1
288
288
  (@speed <=> @speed_same).should == 0
289
289
  end
290
290
 
291
291
  it "defines <" do
292
- Barometer::Speed.method_defined?("<").should be_true
292
+ Data::Speed.method_defined?("<").should be_true
293
293
  @speed_low.should < @speed_high
294
294
  @speed_high.should_not < @speed_low
295
295
  @speed.should_not < @speed_same
296
296
  end
297
297
 
298
298
  it "defines >" do
299
- Barometer::Speed.method_defined?(">").should be_true
299
+ Data::Speed.method_defined?(">").should be_true
300
300
  @speed_low.should_not > @speed_high
301
301
  @speed_high.should > @speed_low
302
302
  @speed.should_not > @speed_same
303
303
  end
304
304
 
305
305
  it "defines ==" do
306
- Barometer::Speed.method_defined?("==").should be_true
306
+ Data::Speed.method_defined?("==").should be_true
307
307
  @speed_low.should_not == @speed_high
308
308
  @speed.should == @speed_same
309
309
  end
310
310
 
311
311
  it "defines <=" do
312
- Barometer::Speed.method_defined?("<=").should be_true
312
+ Data::Speed.method_defined?("<=").should be_true
313
313
  @speed_low.should <= @speed_high
314
314
  @speed_high.should_not <= @speed_low
315
315
  @speed.should <= @speed_same
316
316
  end
317
317
 
318
318
  it "defines >=" do
319
- Barometer::Speed.method_defined?(">=").should be_true
319
+ Data::Speed.method_defined?(">=").should be_true
320
320
  @speed_low.should_not >= @speed_high
321
321
  @speed_high.should >= @speed_low
322
322
  @speed.should >= @speed_same
@@ -328,8 +328,8 @@ describe "Speed" do
328
328
 
329
329
  before(:each) do
330
330
  @m = 10.51
331
- @km = ((Barometer::Speed.m_to_km(@m)*100).round/100.0)
332
- @speed = Barometer::Speed.new
331
+ @km = ((Data::Speed.m_to_km(@m)*100).round/100.0)
332
+ @speed = Data::Speed.new
333
333
  @speed.mph = @m
334
334
  end
335
335
 
@@ -353,20 +353,20 @@ describe "Speed" do
353
353
 
354
354
  it "returns just the integer value with units" do
355
355
  @speed.metric?.should be_true
356
- @speed.to_s.should == "#{@km.to_i} #{Barometer::Speed::METRIC_UNITS}"
356
+ @speed.to_s.should == "#{@km.to_i} #{Data::Speed::METRIC_UNITS}"
357
357
 
358
358
  @speed.imperial!
359
359
  @speed.metric?.should be_false
360
- @speed.to_s.should == "#{@m.to_i} #{Barometer::Speed::IMPERIAL_UNITS}"
360
+ @speed.to_s.should == "#{@m.to_i} #{Data::Speed::IMPERIAL_UNITS}"
361
361
  end
362
362
 
363
363
  it "returns just the units" do
364
364
  @speed.metric?.should be_true
365
- @speed.units.should == Barometer::Speed::METRIC_UNITS
365
+ @speed.units.should == Data::Speed::METRIC_UNITS
366
366
 
367
367
  @speed.imperial!
368
368
  @speed.metric?.should be_false
369
- @speed.units.should == Barometer::Speed::IMPERIAL_UNITS
369
+ @speed.units.should == Data::Speed::IMPERIAL_UNITS
370
370
  end
371
371
 
372
372
  end
@@ -0,0 +1,49 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Data::Sun" do
4
+
5
+ describe "when initialized" do
6
+
7
+ before(:each) do
8
+ @sun = Data::Sun.new
9
+ @local_time_rise = Data::LocalTime.new.parse(Time.now)
10
+ @local_time_set = Data::LocalTime.new.parse(Time.now + (60*60*8))
11
+ end
12
+
13
+ it "responds to rise" do
14
+ @sun.respond_to?("rise").should be_true
15
+ end
16
+
17
+ it "responds to set" do
18
+ @sun.respond_to?("set").should be_true
19
+ end
20
+
21
+ it "sets sunrise" do
22
+ sun = Data::Sun.new(@local_time_rise,@local_time_set)
23
+ sun.rise.should == @local_time_rise
24
+ end
25
+
26
+ it "sets sunset" do
27
+ sun = Data::Sun.new(@local_time_rise,@local_time_set)
28
+ sun.set.should == @local_time_set
29
+ end
30
+
31
+ it "requires Data::LocalTime for sunrise" do
32
+ lambda { Data::Sun.new("",@local_time_set) }.should raise_error(ArgumentError)
33
+ lambda { Data::Sun.new(@local_time_rise,@local_time_set) }.should_not raise_error(ArgumentError)
34
+ end
35
+
36
+ it "requires Data::LocalTime for sunset" do
37
+ lambda { Data::Sun.new(@local_time_rise,"") }.should raise_error(ArgumentError)
38
+ lambda { Data::Sun.new(@local_time_rise,@local_time_set) }.should_not raise_error(ArgumentError)
39
+ end
40
+
41
+ it "responds to nil?" do
42
+ @sun.nil?.should be_true
43
+ sun = Data::Sun.new(@local_time_rise, @local_time_set)
44
+ sun.nil?.should be_false
45
+ end
46
+
47
+ end
48
+
49
+ end
@@ -1,21 +1,21 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "Temperature" do
3
+ describe "Data::Temperature" do
4
4
 
5
5
  describe "when initialized" do
6
6
 
7
7
  it "defines METRIC_UNITS" do
8
- Barometer::Temperature.const_defined?("METRIC_UNITS").should be_true
9
- Barometer::Temperature::METRIC_UNITS.should == "C"
8
+ Data::Temperature.const_defined?("METRIC_UNITS").should be_true
9
+ Data::Temperature::METRIC_UNITS.should == "C"
10
10
  end
11
11
 
12
12
  it "defines IMPERIAL_UNITS" do
13
- Barometer::Temperature.const_defined?("IMPERIAL_UNITS").should be_true
14
- Barometer::Temperature::IMPERIAL_UNITS.should == "F"
13
+ Data::Temperature.const_defined?("IMPERIAL_UNITS").should be_true
14
+ Data::Temperature::IMPERIAL_UNITS.should == "F"
15
15
  end
16
16
 
17
17
  before(:each) do
18
- @temp = Barometer::Temperature.new
18
+ @temp = Data::Temperature.new
19
19
  end
20
20
 
21
21
  it "responds to celcius" do
@@ -57,47 +57,47 @@ describe "Temperature" do
57
57
  end
58
58
 
59
59
  it "requires a value, that is either Integer or Float" do
60
- Barometer::Temperature.c_to_k(nil).should be_nil
61
- Barometer::Temperature.c_to_f(nil).should be_nil
62
- Barometer::Temperature.f_to_k(nil).should be_nil
63
- Barometer::Temperature.f_to_c(nil).should be_nil
64
- Barometer::Temperature.k_to_c(nil).should be_nil
65
- Barometer::Temperature.k_to_f(nil).should be_nil
60
+ Data::Temperature.c_to_k(nil).should be_nil
61
+ Data::Temperature.c_to_f(nil).should be_nil
62
+ Data::Temperature.f_to_k(nil).should be_nil
63
+ Data::Temperature.f_to_c(nil).should be_nil
64
+ Data::Temperature.k_to_c(nil).should be_nil
65
+ Data::Temperature.k_to_f(nil).should be_nil
66
66
 
67
67
  not_float_or_integer = "string"
68
- Barometer::Temperature.c_to_k(not_float_or_integer).should be_nil
69
- Barometer::Temperature.c_to_f(not_float_or_integer).should be_nil
70
- Barometer::Temperature.f_to_k(not_float_or_integer).should be_nil
71
- Barometer::Temperature.f_to_c(not_float_or_integer).should be_nil
72
- Barometer::Temperature.k_to_c(not_float_or_integer).should be_nil
73
- Barometer::Temperature.k_to_f(not_float_or_integer).should be_nil
68
+ Data::Temperature.c_to_k(not_float_or_integer).should be_nil
69
+ Data::Temperature.c_to_f(not_float_or_integer).should be_nil
70
+ Data::Temperature.f_to_k(not_float_or_integer).should be_nil
71
+ Data::Temperature.f_to_c(not_float_or_integer).should be_nil
72
+ Data::Temperature.k_to_c(not_float_or_integer).should be_nil
73
+ Data::Temperature.k_to_f(not_float_or_integer).should be_nil
74
74
  end
75
75
 
76
76
  it "converts C to K" do
77
77
  # 0 C = 273.15 K
78
- Barometer::Temperature.c_to_k(@c).should == @k
78
+ Data::Temperature.c_to_k(@c).should == @k
79
79
  end
80
80
 
81
81
  it "converts C to F" do
82
82
  # Tf = (9/5)*Tc+32
83
- Barometer::Temperature.c_to_f(@c).should == @f
83
+ Data::Temperature.c_to_f(@c).should == @f
84
84
  end
85
85
 
86
86
  it "converts F to C" do
87
87
  # Tc = (5/9)*(Tf-32)
88
- Barometer::Temperature.f_to_c(@f).should == @c
88
+ Data::Temperature.f_to_c(@f).should == @c
89
89
  end
90
90
 
91
91
  it "converts F to K" do
92
- Barometer::Temperature.f_to_k(@f).should == @k
92
+ Data::Temperature.f_to_k(@f).should == @k
93
93
  end
94
94
 
95
95
  it "converts K to C" do
96
- Barometer::Temperature.k_to_c(@k).should == @c
96
+ Data::Temperature.k_to_c(@k).should == @c
97
97
  end
98
98
 
99
99
  it "converts K to F" do
100
- Barometer::Temperature.k_to_f(@k).should == @f
100
+ Data::Temperature.k_to_f(@k).should == @f
101
101
  end
102
102
 
103
103
  end
@@ -105,7 +105,7 @@ describe "Temperature" do
105
105
  describe "updating" do
106
106
 
107
107
  before(:each) do
108
- @temp = Barometer::Temperature.new
108
+ @temp = Data::Temperature.new
109
109
  @f = 68.0
110
110
  @c = 20.0
111
111
  end
@@ -155,7 +155,7 @@ describe "Temperature" do
155
155
  describe "storing" do
156
156
 
157
157
  before(:each) do
158
- @temp = Barometer::Temperature.new
158
+ @temp = Data::Temperature.new
159
159
  @f = 68.0
160
160
  @c = 20.0
161
161
  @k = 293.15
@@ -220,7 +220,7 @@ describe "Temperature" do
220
220
  describe "retrieving" do
221
221
 
222
222
  before(:each) do
223
- @temp = Barometer::Temperature.new
223
+ @temp = Data::Temperature.new
224
224
  @f = 68.0
225
225
  @c = 20.0
226
226
  @k = 293.15
@@ -292,52 +292,52 @@ describe "Temperature" do
292
292
  @f = 68.0
293
293
  @c = 20.0
294
294
  @k = 293.15
295
- @temp_low = Barometer::Temperature.new
295
+ @temp_low = Data::Temperature.new
296
296
  @temp_low.k = (@k - 1.0)
297
- @temp_high = Barometer::Temperature.new
297
+ @temp_high = Data::Temperature.new
298
298
  @temp_high.k = (@k + 1.0)
299
- @temp = Barometer::Temperature.new
299
+ @temp = Data::Temperature.new
300
300
  @temp.k = @k
301
- @temp_same = Barometer::Temperature.new
301
+ @temp_same = Data::Temperature.new
302
302
  @temp_same.k = @k
303
303
  end
304
304
 
305
305
  it "defines <=>" do
306
- Barometer::Temperature.method_defined?("<=>").should be_true
306
+ Data::Temperature.method_defined?("<=>").should be_true
307
307
  (@temp_low <=> @temp_high).should == -1
308
308
  (@temp_high <=> @temp_low).should == 1
309
309
  (@temp <=> @temp_same).should == 0
310
310
  end
311
311
 
312
312
  it "defines <" do
313
- Barometer::Temperature.method_defined?("<").should be_true
313
+ Data::Temperature.method_defined?("<").should be_true
314
314
  @temp_low.should < @temp_high
315
315
  @temp_high.should_not < @temp_low
316
316
  @temp.should_not < @temp_same
317
317
  end
318
318
 
319
319
  it "defines >" do
320
- Barometer::Temperature.method_defined?(">").should be_true
320
+ Data::Temperature.method_defined?(">").should be_true
321
321
  @temp_low.should_not > @temp_high
322
322
  @temp_high.should > @temp_low
323
323
  @temp.should_not > @temp_same
324
324
  end
325
325
 
326
326
  it "defines ==" do
327
- Barometer::Temperature.method_defined?("==").should be_true
327
+ Data::Temperature.method_defined?("==").should be_true
328
328
  @temp_low.should_not == @temp_high
329
329
  @temp.should == @temp_same
330
330
  end
331
331
 
332
332
  it "defines <=" do
333
- Barometer::Temperature.method_defined?("<=").should be_true
333
+ Data::Temperature.method_defined?("<=").should be_true
334
334
  @temp_low.should <= @temp_high
335
335
  @temp_high.should_not <= @temp_low
336
336
  @temp.should <= @temp_same
337
337
  end
338
338
 
339
339
  it "defines >=" do
340
- Barometer::Temperature.method_defined?(">=").should be_true
340
+ Data::Temperature.method_defined?(">=").should be_true
341
341
  @temp_low.should_not >= @temp_high
342
342
  @temp_high.should >= @temp_low
343
343
  @temp.should >= @temp_same
@@ -349,9 +349,9 @@ describe "Temperature" do
349
349
 
350
350
  before(:each) do
351
351
  @c = 20.5
352
- @f = Barometer::Temperature.c_to_f(@c)
353
- @k = Barometer::Temperature.c_to_k(@c)
354
- @temp = Barometer::Temperature.new
352
+ @f = Data::Temperature.c_to_f(@c)
353
+ @k = Data::Temperature.c_to_k(@c)
354
+ @temp = Data::Temperature.new
355
355
  @temp.k = @k
356
356
  end
357
357
 
@@ -375,20 +375,20 @@ describe "Temperature" do
375
375
 
376
376
  it "returns just the integer value with units" do
377
377
  @temp.metric?.should be_true
378
- @temp.to_s.should == "#{@c.to_i} #{Barometer::Temperature::METRIC_UNITS}"
378
+ @temp.to_s.should == "#{@c.to_i} #{Data::Temperature::METRIC_UNITS}"
379
379
 
380
380
  @temp.imperial!
381
381
  @temp.metric?.should be_false
382
- @temp.to_s.should == "#{@f.to_i} #{Barometer::Temperature::IMPERIAL_UNITS}"
382
+ @temp.to_s.should == "#{@f.to_i} #{Data::Temperature::IMPERIAL_UNITS}"
383
383
  end
384
384
 
385
385
  it "returns just the units" do
386
386
  @temp.metric?.should be_true
387
- @temp.units.should == Barometer::Temperature::METRIC_UNITS
387
+ @temp.units.should == Data::Temperature::METRIC_UNITS
388
388
 
389
389
  @temp.imperial!
390
390
  @temp.metric?.should be_false
391
- @temp.units.should == Barometer::Temperature::IMPERIAL_UNITS
391
+ @temp.units.should == Data::Temperature::IMPERIAL_UNITS
392
392
  end
393
393
 
394
394
  end