macro_rules! verify_near {
($actual:expr, $expected:expr, $max_abs_error:expr $(,)?) => { ... };
}Expand description
Checks whether the float given by first argument is equal to second argument with error tolerance of max_abs_error.
Evaluates to Result::Ok(()) if the first argument is approximately equal
to the second and Result::Err(TestAssertionFailure) if it is not. The
caller must then decide how to handle the Err variant. It has a few
options:
- Abort the current function with the
?operator. This requires that the function return a suitableResult. - Log the test failure and continue by calling the method
and_log_failure.
Of course, one can also use all other standard methods on Result.
Invoking this macro by itself does not cause a test failure to be recorded
or output. The resulting Result must be handled as described above to
cause the test to be recorded as a failure.
Example:
ⓘ
use googletest::prelude::*;
#[test]
fn should_fail() -> Result<()> {
verify_near!(1.12345, 1.12346, 1e-6)
}