@@ -132,3 +132,133 @@ impl Measurement for Pressure {
132132}
133133
134134implement_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