barometer 0.7.3 → 0.8.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.
- data/.gitignore +1 -0
- data/.travis.yml +7 -0
- data/LICENSE +1 -1
- data/{README.rdoc → README.md} +124 -110
- data/Rakefile +1 -21
- data/TODO +8 -9
- data/barometer.gemspec +20 -19
- data/bin/barometer +36 -83
- data/lib/barometer.rb +13 -11
- data/lib/barometer/base.rb +10 -10
- data/lib/barometer/data.rb +1 -1
- data/lib/barometer/data/distance.rb +25 -25
- data/lib/barometer/data/geo.rb +9 -9
- data/lib/barometer/data/local_datetime.rb +24 -20
- data/lib/barometer/data/local_time.rb +13 -13
- data/lib/barometer/data/location.rb +6 -6
- data/lib/barometer/data/pressure.rb +24 -24
- data/lib/barometer/data/speed.rb +28 -28
- data/lib/barometer/data/sun.rb +7 -7
- data/lib/barometer/data/temperature.rb +29 -29
- data/lib/barometer/data/units.rb +9 -9
- data/lib/barometer/data/zone.rb +19 -19
- data/lib/barometer/formats.rb +1 -1
- data/lib/barometer/formats/coordinates.rb +7 -7
- data/lib/barometer/formats/format.rb +6 -6
- data/lib/barometer/formats/geocode.rb +5 -5
- data/lib/barometer/formats/icao.rb +6 -6
- data/lib/barometer/formats/postalcode.rb +3 -3
- data/lib/barometer/formats/short_zipcode.rb +2 -2
- data/lib/barometer/formats/weather_id.rb +10 -10
- data/lib/barometer/formats/woe_id.rb +20 -20
- data/lib/barometer/formats/zipcode.rb +3 -3
- data/lib/barometer/key_file_parser.rb +20 -0
- data/lib/barometer/measurements/measurement.rb +32 -32
- data/lib/barometer/measurements/result.rb +39 -39
- data/lib/barometer/measurements/result_array.rb +12 -12
- data/lib/barometer/query.rb +15 -15
- data/lib/barometer/services.rb +3 -3
- data/lib/barometer/translations/icao_country_codes.yml +20 -20
- data/lib/barometer/translations/weather_country_codes.yml +1 -1
- data/lib/barometer/translations/zone_codes.yml +2 -2
- data/lib/barometer/version.rb +3 -0
- data/lib/barometer/weather.rb +27 -27
- data/lib/barometer/weather_services/noaa.rb +314 -3
- data/lib/barometer/weather_services/service.rb +32 -30
- data/lib/barometer/weather_services/weather_bug.rb +35 -33
- data/lib/barometer/weather_services/wunderground.rb +31 -29
- data/lib/barometer/weather_services/yahoo.rb +36 -35
- data/lib/barometer/web_services/geocode.rb +5 -7
- data/lib/barometer/web_services/noaa_station_id.rb +53 -0
- data/lib/barometer/web_services/placemaker.rb +11 -13
- data/lib/barometer/web_services/timezone.rb +5 -7
- data/lib/barometer/web_services/weather_id.rb +4 -6
- data/lib/barometer/web_services/web_service.rb +4 -4
- data/spec/barometer_spec.rb +25 -27
- data/spec/cassettes/Barometer.json +1 -0
- data/spec/cassettes/Query.json +1 -0
- data/spec/cassettes/Query_Format_Coordinates.json +1 -0
- data/spec/cassettes/Query_Format_Geocode.json +1 -0
- data/spec/cassettes/Query_Format_WeatherID.json +1 -0
- data/spec/cassettes/Query_Format_WoeID.json +1 -0
- data/spec/cassettes/WeatherService.json +1 -0
- data/spec/cassettes/WeatherService_Noaa.json +1 -0
- data/spec/cassettes/WeatherService_WeatherBug.json +1 -0
- data/spec/cassettes/WeatherService_Wunderground.json +1 -0
- data/spec/cassettes/WeatherService_Yahoo.json +1 -0
- data/spec/cassettes/WebService_Geocode.json +1 -0
- data/spec/cassettes/WebService_NoaaStation.json +1 -0
- data/spec/data/distance_spec.rb +60 -60
- data/spec/data/geo_spec.rb +23 -23
- data/spec/data/local_datetime_spec.rb +44 -44
- data/spec/data/local_time_spec.rb +47 -47
- data/spec/data/location_spec.rb +16 -16
- data/spec/data/pressure_spec.rb +61 -61
- data/spec/data/speed_spec.rb +69 -69
- data/spec/data/sun_spec.rb +25 -25
- data/spec/data/temperature_spec.rb +68 -68
- data/spec/data/units_spec.rb +21 -21
- data/spec/data/zone_spec.rb +35 -35
- data/spec/formats/coordinates_spec.rb +27 -27
- data/spec/formats/format_spec.rb +17 -25
- data/spec/formats/geocode_spec.rb +23 -31
- data/spec/formats/icao_spec.rb +26 -32
- data/spec/formats/postalcode_spec.rb +22 -28
- data/spec/formats/short_zipcode_spec.rb +20 -26
- data/spec/formats/weather_id_spec.rb +57 -67
- data/spec/formats/woe_id_spec.rb +59 -59
- data/spec/formats/zipcode_spec.rb +39 -47
- data/spec/key_file_parser_spec.rb +28 -0
- data/spec/measurements/measurement_spec.rb +79 -133
- data/spec/measurements/result_array_spec.rb +23 -38
- data/spec/measurements/result_spec.rb +100 -128
- data/spec/query_spec.rb +83 -100
- data/spec/spec_helper.rb +24 -6
- data/spec/weather_services/noaa_spec.rb +179 -0
- data/spec/weather_services/services_spec.rb +28 -36
- data/spec/weather_services/weather_bug_spec.rb +57 -77
- data/spec/weather_services/wunderground_spec.rb +36 -65
- data/spec/weather_services/yahoo_spec.rb +38 -60
- data/spec/weather_spec.rb +79 -79
- data/spec/web_services/geocode_spec.rb +7 -11
- data/spec/web_services/noaa_station_id_spec.rb +33 -0
- data/spec/web_services/placemaker_spec.rb +7 -12
- data/spec/web_services/web_services_spec.rb +3 -9
- metadata +214 -163
- data/VERSION.yml +0 -5
- data/lib/barometer/weather_services/google.rb +0 -142
- data/lib/barometer/weather_services/weather_dot_com.rb +0 -279
- data/spec/fakeweb_helper.rb +0 -179
- data/spec/fixtures/formats/weather_id/90210.xml +0 -7
- data/spec/fixtures/formats/weather_id/from_USGA0028.xml +0 -3
- data/spec/fixtures/formats/weather_id/ksfo.xml +0 -1
- data/spec/fixtures/formats/weather_id/manhattan.xml +0 -7
- data/spec/fixtures/formats/weather_id/new_york.xml +0 -1
- data/spec/fixtures/formats/weather_id/the_hills.xml +0 -1
- data/spec/fixtures/geocode/40_73_v3.json +0 -497
- data/spec/fixtures/geocode/90210_v3.json +0 -63
- data/spec/fixtures/geocode/T5B4M9_v3.json +0 -68
- data/spec/fixtures/geocode/atlanta_v3.json +0 -58
- data/spec/fixtures/geocode/calgary_ab_v3.json +0 -58
- data/spec/fixtures/geocode/ksfo_v3.json +0 -73
- data/spec/fixtures/geocode/newyork_ny_v3.json +0 -58
- data/spec/fixtures/services/google/calgary_ab.xml +0 -1
- data/spec/fixtures/services/placemaker/T5B4M9.xml +0 -65
- data/spec/fixtures/services/placemaker/atlanta.xml +0 -65
- data/spec/fixtures/services/placemaker/coords.xml +0 -65
- data/spec/fixtures/services/placemaker/ksfo.xml +0 -65
- data/spec/fixtures/services/placemaker/new_york.xml +0 -65
- data/spec/fixtures/services/placemaker/the_hills.xml +0 -65
- data/spec/fixtures/services/placemaker/w615702.xml +0 -47
- data/spec/fixtures/services/weather_bug/90210_current.xml +0 -93
- data/spec/fixtures/services/weather_bug/90210_forecast.xml +0 -76
- data/spec/fixtures/services/weather_dot_com/90210.xml +0 -1
- data/spec/fixtures/services/wunderground/current_calgary_ab.xml +0 -9
- data/spec/fixtures/services/wunderground/forecast_calgary_ab.xml +0 -13
- data/spec/fixtures/services/yahoo/90210.xml +0 -3
- data/spec/weather_services/google_spec.rb +0 -181
- data/spec/weather_services/weather_dot_com_spec.rb +0 -224
data/spec/data/location_spec.rb
CHANGED
@@ -1,59 +1,59 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
2
|
|
3
3
|
describe "Location" do
|
4
|
-
|
4
|
+
|
5
5
|
describe "when initialized" do
|
6
|
-
|
6
|
+
|
7
7
|
before(:each) do
|
8
8
|
@location = Data::Location.new
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
it "responds to id" do
|
12
12
|
@location.id.should be_nil
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
it "responds to name" do
|
16
16
|
@location.name.should be_nil
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
19
|
it "responds to city" do
|
20
20
|
@location.city.should be_nil
|
21
21
|
end
|
22
|
-
|
22
|
+
|
23
23
|
it "responds to state_name" do
|
24
24
|
@location.state_name.should be_nil
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
it "responds to state_code" do
|
28
28
|
@location.state_code.should be_nil
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
it "responds to country" do
|
32
32
|
@location.country.should be_nil
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
it "responds to country_code" do
|
36
36
|
@location.country_code.should be_nil
|
37
37
|
end
|
38
|
-
|
38
|
+
|
39
39
|
it "responds to zip_code" do
|
40
40
|
@location.zip_code.should be_nil
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
it "responds to latitude" do
|
44
44
|
@location.latitude.should be_nil
|
45
45
|
end
|
46
|
-
|
46
|
+
|
47
47
|
it "responds to longitude" do
|
48
48
|
@location.longitude.should be_nil
|
49
49
|
end
|
50
|
-
|
50
|
+
|
51
51
|
it "responds to coordinates" do
|
52
52
|
@location.longitude = "99.99"
|
53
53
|
@location.latitude = "88.88"
|
54
54
|
@location.coordinates.should == [@location.latitude, @location.longitude].join(',')
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
it "should print a string" do
|
58
58
|
@location = Data::Location.new
|
59
59
|
@location.to_s.should == ""
|
@@ -66,5 +66,5 @@ describe "Location" do
|
|
66
66
|
end
|
67
67
|
|
68
68
|
end
|
69
|
-
|
70
|
-
end
|
69
|
+
|
70
|
+
end
|
data/spec/data/pressure_spec.rb
CHANGED
@@ -1,95 +1,95 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
2
|
|
3
3
|
describe "Pressure" do
|
4
|
-
|
4
|
+
|
5
5
|
describe "when initialized" do
|
6
|
-
|
6
|
+
|
7
7
|
before(:each) do
|
8
8
|
@pressure = Data::Pressure.new
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
it "defines METRIC_UNITS" do
|
12
12
|
Data::Pressure.const_defined?("METRIC_UNITS").should be_true
|
13
13
|
Data::Pressure::METRIC_UNITS.should == "mb"
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
it "defines IMPERIAL_UNITS" do
|
17
17
|
Data::Pressure.const_defined?("IMPERIAL_UNITS").should be_true
|
18
18
|
Data::Pressure::IMPERIAL_UNITS.should == "in"
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
it "responds to millibars" do
|
22
22
|
@pressure.millibars.should be_nil
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
it "responds to inches" do
|
26
26
|
@pressure.inches.should be_nil
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
it "responds to metric_default" do
|
30
30
|
lambda { @pressure.metric_default = 5 }.should_not raise_error(NotImplementedError)
|
31
31
|
end
|
32
|
-
|
32
|
+
|
33
33
|
it "responds to imperial_default" do
|
34
34
|
lambda { @pressure.imperial_default = 5 }.should_not raise_error(NotImplementedError)
|
35
35
|
end
|
36
|
-
|
36
|
+
|
37
37
|
it "responds to nil?" do
|
38
38
|
@pressure.nil?.should be_true
|
39
39
|
@pressure.mb = 5
|
40
40
|
@pressure.nil?.should be_false
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
describe "conversion" do
|
46
|
-
|
46
|
+
|
47
47
|
# For all conversions
|
48
48
|
# 721.64 mb = 21.31 in
|
49
49
|
before(:each) do
|
50
50
|
@in = 21.31
|
51
51
|
@mb = 721.64
|
52
52
|
end
|
53
|
-
|
53
|
+
|
54
54
|
it "requires a value, that is either Integer or Float" do
|
55
55
|
Data::Pressure.mb_to_in(nil).should be_nil
|
56
56
|
Data::Pressure.in_to_mb(nil).should be_nil
|
57
|
-
|
57
|
+
|
58
58
|
not_float_or_integer = "string"
|
59
59
|
Data::Pressure.mb_to_in(not_float_or_integer).should be_nil
|
60
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
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
68
|
((Data::Pressure.in_to_mb(@in)*100).round/100.0).should == @mb
|
69
69
|
end
|
70
|
-
|
70
|
+
|
71
71
|
end
|
72
|
-
|
72
|
+
|
73
73
|
describe "updating" do
|
74
|
-
|
74
|
+
|
75
75
|
before(:each) do
|
76
76
|
@pressure = Data::Pressure.new
|
77
77
|
@in = 21.31
|
78
78
|
@mb = 721.64
|
79
79
|
end
|
80
|
-
|
80
|
+
|
81
81
|
it "nils IN if new MB converts to a IN that changes more then 1 unit" do
|
82
82
|
@pressure.inches = (@in + 1.1)
|
83
83
|
@pressure.update_inches(@mb)
|
84
84
|
@pressure.inches.should be_nil
|
85
85
|
end
|
86
|
-
|
86
|
+
|
87
87
|
it "doesn't update IN if new MB converts to a IN that does not change more then 1 unit" do
|
88
88
|
@pressure.inches = (@in + 0.9)
|
89
89
|
@pressure.update_inches(@mb)
|
90
90
|
@pressure.inches.should == (@in + 0.9)
|
91
91
|
end
|
92
|
-
|
92
|
+
|
93
93
|
it "doesn't set IN if not already set" do
|
94
94
|
@pressure.inches.should be_nil
|
95
95
|
@pressure.millibars.should be_nil
|
@@ -97,19 +97,19 @@ describe "Pressure" do
|
|
97
97
|
@pressure.inches.should be_nil
|
98
98
|
@pressure.millibars.should be_nil
|
99
99
|
end
|
100
|
-
|
100
|
+
|
101
101
|
it "nils MB if new IN converts to a MB that changes more then 1 unit" do
|
102
102
|
@pressure.millibars = (@mb + 1.1)
|
103
103
|
@pressure.update_millibars(@in)
|
104
104
|
@pressure.millibars.should be_nil
|
105
105
|
end
|
106
|
-
|
106
|
+
|
107
107
|
it "doesn't update MB if new IN converts to a MB that does not change more then 1 unit" do
|
108
108
|
@pressure.millibars = (@mb + 0.9)
|
109
109
|
@pressure.update_millibars(@in)
|
110
110
|
@pressure.millibars.should == (@mb + 0.9)
|
111
111
|
end
|
112
|
-
|
112
|
+
|
113
113
|
it "doesn't set MB if not already set" do
|
114
114
|
@pressure.inches.should be_nil
|
115
115
|
@pressure.millibars.should be_nil
|
@@ -117,17 +117,17 @@ describe "Pressure" do
|
|
117
117
|
@pressure.inches.should be_nil
|
118
118
|
@pressure.millibars.should be_nil
|
119
119
|
end
|
120
|
-
|
120
|
+
|
121
121
|
end
|
122
|
-
|
122
|
+
|
123
123
|
describe "storing" do
|
124
|
-
|
124
|
+
|
125
125
|
before(:each) do
|
126
126
|
@pressure = Data::Pressure.new
|
127
127
|
@in = 21.31
|
128
128
|
@mb = 721.64
|
129
129
|
end
|
130
|
-
|
130
|
+
|
131
131
|
it "doesn't update MB if nil value (or equivalent)" do
|
132
132
|
@pressure.millibars.should be_nil
|
133
133
|
@pressure.mb = nil
|
@@ -135,7 +135,7 @@ describe "Pressure" do
|
|
135
135
|
@pressure.mb = "na"
|
136
136
|
@pressure.millibars.should be_nil
|
137
137
|
end
|
138
|
-
|
138
|
+
|
139
139
|
it "stores MB and resets IN" do
|
140
140
|
@pressure.millibars.should be_nil
|
141
141
|
@pressure.inches = (@in + 1.1)
|
@@ -143,7 +143,7 @@ describe "Pressure" do
|
|
143
143
|
@pressure.millibars.should == @mb
|
144
144
|
@pressure.inches.should be_nil
|
145
145
|
end
|
146
|
-
|
146
|
+
|
147
147
|
it "doesn't update IN if nil value (or equivalent)" do
|
148
148
|
@pressure.inches.should be_nil
|
149
149
|
@pressure.in = nil
|
@@ -151,7 +151,7 @@ describe "Pressure" do
|
|
151
151
|
@pressure.in = "na"
|
152
152
|
@pressure.inches.should be_nil
|
153
153
|
end
|
154
|
-
|
154
|
+
|
155
155
|
it "stores IN and resets MB" do
|
156
156
|
@pressure.inches.should be_nil
|
157
157
|
@pressure.millibars = (@mb + 1.1)
|
@@ -159,30 +159,30 @@ describe "Pressure" do
|
|
159
159
|
@pressure.inches.should == @in
|
160
160
|
@pressure.millibars.should be_nil
|
161
161
|
end
|
162
|
-
|
162
|
+
|
163
163
|
end
|
164
|
-
|
164
|
+
|
165
165
|
describe "retrieving" do
|
166
|
-
|
166
|
+
|
167
167
|
before(:each) do
|
168
168
|
@pressure = Data::Pressure.new
|
169
169
|
@in = 21.31
|
170
170
|
@mb = 721.64
|
171
171
|
end
|
172
|
-
|
172
|
+
|
173
173
|
it "returns MB if it exists" do
|
174
174
|
@pressure.mb = @mb
|
175
175
|
@pressure.millibars.should == @mb
|
176
176
|
@pressure.mb(false).should == @mb
|
177
177
|
end
|
178
|
-
|
178
|
+
|
179
179
|
it "auto converts from IN if MB is nil and IN exists" do
|
180
180
|
@pressure.in = @in
|
181
181
|
@pressure.inches.should == @in
|
182
182
|
@pressure.millibars.should be_nil
|
183
183
|
@pressure.mb(false).should == @mb
|
184
184
|
end
|
185
|
-
|
185
|
+
|
186
186
|
it "allows a float to be returned for MB" do
|
187
187
|
mb = 721.12
|
188
188
|
@pressure.mb = mb
|
@@ -190,27 +190,27 @@ describe "Pressure" do
|
|
190
190
|
@pressure.mb(true).should == mb.to_i
|
191
191
|
@pressure.mb(false).should == mb.to_f
|
192
192
|
end
|
193
|
-
|
193
|
+
|
194
194
|
it "allows only 2 decimal precision for MB" do
|
195
195
|
mb = 721.1234
|
196
196
|
@pressure.mb = mb
|
197
197
|
@pressure.millibars.should == mb
|
198
198
|
@pressure.mb(false).should == 721.12
|
199
199
|
end
|
200
|
-
|
200
|
+
|
201
201
|
it "returns IN if it exists" do
|
202
202
|
@pressure.in = @in
|
203
203
|
@pressure.inches.should == @in
|
204
204
|
@pressure.in(false).should == @in
|
205
205
|
end
|
206
|
-
|
206
|
+
|
207
207
|
it "auto converts from MB if IN is nil and MB exists" do
|
208
208
|
@pressure.mb = @mb
|
209
209
|
@pressure.millibars.should == @mb
|
210
210
|
@pressure.inches.should be_nil
|
211
211
|
@pressure.in(false).should == @in
|
212
212
|
end
|
213
|
-
|
213
|
+
|
214
214
|
it "allows a float to be returned for IN" do
|
215
215
|
inches = 21.12
|
216
216
|
@pressure.in = inches
|
@@ -218,18 +218,18 @@ describe "Pressure" do
|
|
218
218
|
@pressure.in(true).should == inches.to_i
|
219
219
|
@pressure.in(false).should == inches.to_f
|
220
220
|
end
|
221
|
-
|
221
|
+
|
222
222
|
it "allows only 2 decimal precision for IN" do
|
223
223
|
inches = 21.1234
|
224
224
|
@pressure.in = inches
|
225
225
|
@pressure.inches.should == inches
|
226
226
|
@pressure.in(false).should == 21.12
|
227
227
|
end
|
228
|
-
|
228
|
+
|
229
229
|
end
|
230
|
-
|
230
|
+
|
231
231
|
describe "operators" do
|
232
|
-
|
232
|
+
|
233
233
|
before(:each) do
|
234
234
|
@in = 21.31
|
235
235
|
@mb = 721.64
|
@@ -242,63 +242,63 @@ describe "Pressure" do
|
|
242
242
|
@pressure_same = Data::Pressure.new
|
243
243
|
@pressure_same.mb = @mb
|
244
244
|
end
|
245
|
-
|
245
|
+
|
246
246
|
it "defines <=>" do
|
247
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
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
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
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
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
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
|
285
285
|
end
|
286
|
-
|
286
|
+
|
287
287
|
end
|
288
|
-
|
288
|
+
|
289
289
|
describe "changing units" do
|
290
|
-
|
290
|
+
|
291
291
|
before(:each) do
|
292
292
|
@in = 21.31
|
293
293
|
@mb = 721.64
|
294
294
|
@pressure = Data::Pressure.new
|
295
295
|
@pressure.mb = @mb
|
296
296
|
end
|
297
|
-
|
297
|
+
|
298
298
|
it "returns just the integer value (no units)" do
|
299
299
|
@pressure.metric?.should be_true
|
300
300
|
@pressure.to_i.should == @mb.to_i
|
301
|
-
|
301
|
+
|
302
302
|
@pressure.imperial!
|
303
303
|
@pressure.metric?.should be_false
|
304
304
|
@pressure.to_i.should == @in.to_i
|
@@ -312,7 +312,7 @@ describe "Pressure" do
|
|
312
312
|
@pressure.metric?.should be_false
|
313
313
|
@pressure.to_f.should == @in.to_f
|
314
314
|
end
|
315
|
-
|
315
|
+
|
316
316
|
it "returns just the integer value with units" do
|
317
317
|
@pressure.metric?.should be_true
|
318
318
|
@pressure.to_s.should == "#{@mb.to_i} #{Data::Pressure::METRIC_UNITS}"
|
@@ -321,7 +321,7 @@ describe "Pressure" do
|
|
321
321
|
@pressure.metric?.should be_false
|
322
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
327
|
@pressure.units.should == Data::Pressure::METRIC_UNITS
|
@@ -332,5 +332,5 @@ describe "Pressure" do
|
|
332
332
|
end
|
333
333
|
|
334
334
|
end
|
335
|
-
|
336
|
-
end
|
335
|
+
|
336
|
+
end
|