Expand description
Test helpers for Rust.
test_help-rs provides assertion macros and evaluators for
approximate equality of floating-point scalars and vectors in unit
tests — filling gaps around f32 and f64 comparisons in Rust’s
stock testing support.
§Installation
Reference in Cargo.toml in the usual way:
test_help-rs = { version = "0.1" }§Components
§Macros
assert_scalar_eq_approx!— scalar approximate equality;assert_scalar_ne_approx!— scalar approximate inequality;assert_vector_eq_approx!— vector approximate equality;assert_vector_ne_approx!— vector approximate inequality;
§Functions
margin— margin-based [ApproximateEqualityEvaluator];multiplier— multiplier-based [ApproximateEqualityEvaluator];zero_margin_or_multiplier— combined stock evaluator used by the two-argument assertion macros;evaluate_scalar_eq_approx— scalar comparison without asserting;evaluate_vector_eq_approx— vector comparison without asserting;
§Types
ComparisonResult— outcome of a scalar comparison;VectorComparisonResult— outcome of a vector comparison;traits::ApproximateEqualityEvaluator— custom comparison strategy;traits::TestableAsF64— types usable with the assertion macros (viabase_traits::ToF64);
§Constants
constants::DEFAULT_MARGINandconstants::DEFAULT_MULTIPLIER— stock tolerance values for the two-argument macros;
§Examples
use test_helpers::{assert_scalar_eq_approx, margin};
assert_scalar_eq_approx!(3.0, 3.0001, margin(0.0001));See the project README for further information.
Modules§
Macros§
- assert_
scalar_ eq_ approx - Asserts that two scalar values are approximately equal.
- assert_
scalar_ ne_ approx - Asserts that two scalar values are not approximately equal.
- assert_
vector_ eq_ approx - Asserts that two vectors are approximately equal element-wise.
- assert_
vector_ ne_ approx - Asserts that two vectors are not approximately equal.
Enums§
- Comparison
Result - Comparison result type.
- Vector
Comparison Result - Vector comparison result type.
Functions§
- evaluate_
scalar_ eq_ approx - Compares two scalar values using
evaluatorwithout asserting. - evaluate_
vector_ eq_ approx - Compares two vectors element-wise using
evaluatorwithout asserting. - margin
- Creates an
ApproximateEqualityEvaluatorthat operates by applying the givenfactoras a margin to determine approximate equality. - multiplier
- Creates an
ApproximateEqualityEvaluatorthat operates by applying the givenfactoras a multiplier to determine approximate equality. - zero_
margin_ or_ multiplier - Creates an
ApproximateEqualityEvaluatorthat operates by applying the givenmultiplier_factoras a multiplier to determine approximate equality in all cases except when or both comparands is zero, in which case it applies thezero_margin_factoras a margin to determine approximate equality.