Skip to content

Commit 1c76f39

Browse files
committed
Added pressure tests.
1 parent 0a281ad commit 1c76f39

File tree

1 file changed

+130
-0
lines changed

1 file changed

+130
-0
lines changed

src/pressure.rs

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,133 @@ impl Measurement for Pressure {
132132
}
133133

134134
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

Comments
 (0)