1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
use core::num::dec2flt::decimal_seq::{DecimalSeq, parse_decimal_seq};
#[test]
fn test_trim() {
let mut dec = DecimalSeq::default();
let digits = [1, 2, 3, 4];
dec.digits[0..4].copy_from_slice(&digits);
dec.num_digits = 8;
dec.trim();
assert_eq!(dec.digits[0..4], digits);
assert_eq!(dec.num_digits, 4);
}
#[test]
fn test_parse() {
let tests = [("1.234", [1, 2, 3, 4], 1)];
for (s, exp_digits, decimal_point) in tests {
let actual = parse_decimal_seq(s.as_bytes());
let mut digits = [0; DecimalSeq::MAX_DIGITS];
digits[..exp_digits.len()].copy_from_slice(&exp_digits);
let expected =
DecimalSeq { num_digits: exp_digits.len(), decimal_point, truncated: false, digits };
assert_eq!(actual, expected);
}
}
|