9 releases

new 0.2.1 Nov 30, 2024
0.2.0 Nov 18, 2024
0.1.6 Sep 21, 2024
0.1.3 Apr 14, 2024

#365 in Rust patterns

Download history 147/week @ 2024-09-06 30/week @ 2024-09-13 269/week @ 2024-09-20 52/week @ 2024-09-27 7/week @ 2024-10-04 5/week @ 2024-11-01 25/week @ 2024-11-08 145/week @ 2024-11-15 41/week @ 2024-11-22 144/week @ 2024-11-29

357 downloads per month
Used in 4 crates

MIT/Apache

97KB
1K SLoC

numtest

github crates.io docs.rs

Unit testing for numerical applications in Rust.

Documentation

Please see https://docs.rs/numtest.

Examples

Float equality

use numtest::*;

assert_equal!(2.0, 2.0);
assert_equal_to_decimal!(2.0, 2.012, 1);
assert_equal_to_atol!(2.0, 2.00001, 1e-3);
assert_equal_to_rtol!(2.0, 2.01, 0.01);

Array equality

use numtest::*;

let arr1 = [1.1, 2.2, 3.3];
let arr2 = [1.1, 2.2, 3.3];

assert_arrays_equal!(&arr1, &arr2);
use numtest::*;

let arr1 = [1.1, 2.2, 3.3];
let arr2 = [1.1, 2.22, 3.33];

assert_arrays_equal_to_decimal!(&arr1, &arr2, 1);
use nalgebra::Vector3;
use ndarray::Array1;
use numtest::*;

let std_arr = [1.1, 2.2, 3.3];
let std_vec = vec![1.1, 2.22, 3.33];
let ndarray_arr = Array1::from_vec(vec![1.12, 2.23, 3.34]);
let nalgebra_vec = Vector3::new(1.13, 2.24, 3.35);

assert_arrays_equal_to_decimal!(&std_arr, &std_vec, 1);
assert_arrays_equal_to_atol!(&std_arr, &ndarray_arr, 0.06);
assert_arrays_equal_to_rtol!(&std_arr, &nalgebra_vec, 0.03);
use nalgebra::Matrix3;
use numtest::*;

let mat1 = Matrix3::new(1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9);
let mat2 = Matrix3::new(1.1, 2.22, 3.33, 4.4, 5.55, 6.66, 7.7, 8.88, 9.99);

assert_arrays_equal_to_decimal!(&mat1, &mat2, 1);

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~150KB