Skip to content

Commit 50c1971

Browse files
alberdingk-thijmeldruin
authored andcommitted
Add unit tests and changelog update
1 parent fc387fe commit 50c1971

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
88

99
Added this Changelog.
1010

11+
### Changed
12+
13+
- Merged in [#36](https://github.com/rust-embedded-community/rust-measurements/pull/36) to adjust bounds on `Measurements::pick_appropriate_units()`, which changes the return value for cases when the value is 1.0.
14+
1115
## [0.10.2]
1216

1317
Merged in [#17](https://github.com/thejpster/rust-measurements/pull/17) to add:

tests/pick_appropriate.rs

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
extern crate measurements;
2+
3+
use measurements::{
4+
Measurement,
5+
mass::Mass,
6+
test_utils::assert_almost_eq,
7+
};
8+
9+
#[test]
10+
fn appropriate_units_eq_1() {
11+
let val : f64 = 1e0;
12+
let mass = Mass::from_kilograms(val);
13+
let (s, v) = mass.get_appropriate_units();
14+
assert_eq!(s, "kg");
15+
assert_almost_eq(val, v);
16+
}
17+
18+
#[test]
19+
fn appropriate_units_neg_1() {
20+
let val : f64 = -1e0;
21+
let mass = Mass::from_kilograms(val);
22+
let (s, v) = mass.get_appropriate_units();
23+
assert_eq!(s, "kg");
24+
assert_almost_eq(val, v);
25+
}
26+
27+
#[test]
28+
fn appropriate_units_lt_1() {
29+
// units will now be in grams
30+
let val : f64 = 1e0 - 1e-3;
31+
let mass = Mass::from_kilograms(val);
32+
let (s, v) = mass.get_appropriate_units();
33+
assert_eq!(s, "g");
34+
assert_almost_eq(val * 1e3, v);
35+
}
36+
37+
#[test]
38+
fn appropriate_units_gt_1() {
39+
let val : f64 = 1e0 + 1e-3;
40+
let mass = Mass::from_kilograms(val);
41+
let (s, v) = mass.get_appropriate_units();
42+
assert_eq!(s, "kg");
43+
assert_almost_eq(val, v);
44+
}
45+
46+
#[test]
47+
fn appropriate_units_from_grams() {
48+
let val : f64 = 1e3;
49+
let mass = Mass::from_grams(val);
50+
let (s, v) = mass.get_appropriate_units();
51+
assert_eq!(s, "kg");
52+
assert_almost_eq(val, v * 1e3);
53+
}
54+
55+
#[test]
56+
fn appropriate_units_to_grams() {
57+
let val : f64 = 1e-3;
58+
let mass = Mass::from_kilograms(val);
59+
let (s, v) = mass.get_appropriate_units();
60+
assert_eq!(s, "g");
61+
assert_almost_eq(val * 1e3, v);
62+
}

0 commit comments

Comments
 (0)