Skip to main content

scalars/
scalars.rs

1// examples/scalars.rs
2
3use test_helpers::{
4    assert_scalar_eq_approx,
5    assert_scalar_ne_approx,
6    margin,
7    multiplier,
8};
9
10use std::panic as std_panic;
11
12
13fn main() {
14    {
15        println!();
16        println!("compare two f64 instances (with `margin()`):");
17
18        let expected = 123456.0;
19        let actual = 123456.01;
20
21        // this one passes
22        assert_scalar_ne_approx!(expected, actual, margin(0.0));
23
24        // this one does not
25        let failed = std_panic::catch_unwind(|| {
26            assert_scalar_eq_approx!(expected, actual, margin(0.0));
27        })
28        .is_err();
29        assert!(failed, "expected assert_scalar_eq_approx! to fail");
30    }
31
32    {
33        println!();
34        println!("compare two f64 instances (with `multiplier()`):");
35
36        let expected = 123456.0;
37        let actual = 123456.01;
38
39        // this one passes
40        assert_scalar_ne_approx!(expected, actual, multiplier(0.0));
41
42        // this one does not
43        let failed = std_panic::catch_unwind(|| {
44            assert_scalar_eq_approx!(expected, actual, multiplier(0.0));
45        })
46        .is_err();
47        assert!(failed, "expected assert_scalar_eq_approx! to fail");
48    }
49}
50
51
52// ///////////////////////////// end of file //////////////////////////// //