@@ -132,3 +132,133 @@ impl Measurement for Pressure {
132
132
}
133
133
134
134
implement_measurement ! { Pressure }
135
+
136
+ #[ cfg( test) ]
137
+ mod test {
138
+ use super :: * ;
139
+ use test_utils:: assert_almost_eq;
140
+
141
+ #[ test]
142
+ fn hectopascals ( ) {
143
+ let t = Pressure :: from_pascals ( 100.0 ) ;
144
+ let o = t. as_hectopascals ( ) ;
145
+ assert_almost_eq ( o, 1.0 ) ;
146
+
147
+ let t = Pressure :: from_hectopascals ( 100.0 ) ;
148
+ let o = t. as_pascals ( ) ;
149
+ assert_almost_eq ( o, 10000.0 ) ;
150
+ }
151
+ #[ test]
152
+ fn millibars ( ) {
153
+ let t = Pressure :: from_pascals ( 100.0 ) ;
154
+ let o = t. as_millibars ( ) ;
155
+ assert_almost_eq ( o, 1.0 ) ;
156
+
157
+ let t = Pressure :: from_millibars ( 100.0 ) ;
158
+ let o = t. as_pascals ( ) ;
159
+ assert_almost_eq ( o, 10000.0 ) ;
160
+ }
161
+ #[ test]
162
+ fn kilopascals ( ) {
163
+ let t = Pressure :: from_pascals ( 100.0 ) ;
164
+ let o = t. as_kilopascals ( ) ;
165
+ assert_almost_eq ( o, 0.1 ) ;
166
+
167
+ let t = Pressure :: from_kilopascals ( 100.0 ) ;
168
+ let o = t. as_pascals ( ) ;
169
+ assert_almost_eq ( o, 100000.0 ) ;
170
+ }
171
+ #[ test]
172
+ fn bars ( ) {
173
+ let t = Pressure :: from_pascals ( 100.0 ) ;
174
+ let o = t. as_bars ( ) ;
175
+ assert_almost_eq ( o, 0.001 ) ;
176
+
177
+ let t = Pressure :: from_bars ( 100.0 ) ;
178
+ let o = t. as_pascals ( ) ;
179
+ assert_almost_eq ( o, 1e+7 ) ;
180
+ }
181
+ #[ test]
182
+ fn atmospheres ( ) {
183
+ let t = Pressure :: from_pascals ( 100.0 ) ;
184
+ let o = t. as_atmospheres ( ) ;
185
+ assert_almost_eq ( o, 0.000986923 ) ;
186
+
187
+ let t = Pressure :: from_atmospheres ( 100.0 ) ;
188
+ let o = t. as_pascals ( ) ;
189
+ assert_almost_eq ( o, 10132497.2616919 ) ;
190
+ }
191
+
192
+ #[ test]
193
+ fn psi ( ) {
194
+ let t = Pressure :: from_pascals ( 100.0 ) ;
195
+ let o = t. as_psi ( ) ;
196
+ assert_almost_eq ( o, 0.0145038 ) ;
197
+
198
+ let t = Pressure :: from_psi ( 100.0 ) ;
199
+ let o = t. as_pascals ( ) ;
200
+ assert_almost_eq ( o, 689476.9760513823 ) ;
201
+ }
202
+
203
+ // Traits
204
+ #[ test]
205
+ fn add ( ) {
206
+ let a = Pressure :: from_pascals ( 2.0 ) ;
207
+ let b = Pressure :: from_pascals ( 4.0 ) ;
208
+ let c = a + b;
209
+ let d = b + a;
210
+ assert_almost_eq ( c. as_pascals ( ) , 6.0 ) ;
211
+ assert_eq ! ( c, d) ;
212
+ }
213
+
214
+ #[ test]
215
+ fn sub ( ) {
216
+ let a = Pressure :: from_pascals ( 2.0 ) ;
217
+ let b = Pressure :: from_pascals ( 4.0 ) ;
218
+ let c = a - b;
219
+ assert_almost_eq ( c. as_pascals ( ) , -2.0 ) ;
220
+ }
221
+
222
+ #[ test]
223
+ fn mul ( ) {
224
+ let a = Pressure :: from_pascals ( 3.0 ) ;
225
+ let b = a * 2.0 ;
226
+ let c = 2.0 * a;
227
+ assert_almost_eq ( b. as_pascals ( ) , 6.0 ) ;
228
+ assert_eq ! ( b, c) ;
229
+ }
230
+
231
+ #[ test]
232
+ fn div ( ) {
233
+ let a = Pressure :: from_pascals ( 2.0 ) ;
234
+ let b = Pressure :: from_pascals ( 4.0 ) ;
235
+ let c = a / b;
236
+ let d = a / 2.0 ;
237
+ assert_almost_eq ( c, 0.5 ) ;
238
+ assert_almost_eq ( d. as_pascals ( ) , 1.0 ) ;
239
+ }
240
+
241
+ #[ test]
242
+ fn eq ( ) {
243
+ let a = Pressure :: from_pascals ( 2.0 ) ;
244
+ let b = Pressure :: from_pascals ( 2.0 ) ;
245
+ assert_eq ! ( a == b, true ) ;
246
+ }
247
+
248
+ #[ test]
249
+ fn neq ( ) {
250
+ let a = Pressure :: from_pascals ( 2.0 ) ;
251
+ let b = Pressure :: from_pascals ( 4.0 ) ;
252
+ assert_eq ! ( a == b, false ) ;
253
+ }
254
+
255
+ #[ test]
256
+ fn cmp ( ) {
257
+ let a = Pressure :: from_pascals ( 2.0 ) ;
258
+ let b = Pressure :: from_pascals ( 4.0 ) ;
259
+ assert_eq ! ( a < b, true ) ;
260
+ assert_eq ! ( a <= b, true ) ;
261
+ assert_eq ! ( a > b, false ) ;
262
+ assert_eq ! ( a >= b, false ) ;
263
+ }
264
+ }
0 commit comments