Expand description
Assert for comparing functions that return errors.
These macros help compare functions that return results that are errors,
such as ::std::Result::Err or similar.
The macros use these capabilities:
-
implements
.is_err() -> boolean -
implements
.unwrap_err() -> comparable
Compare a function Err() with another function Err():
-
assert_fn_err_eq2!(a_function, b_function)≈ a_function().unwrap_err() = b_function().unwrap_err() -
assert_fn_err_ne2!(a_function, b_function)≈ a_function().unwrap_err() ≠ b_function().unwrap_err() -
assert_fn_err_ge2!(a_function, b_function)≈ a_function().unwrap_err() ≥ b_function().unwrap_err() -
assert_fn_err_gt2!(a_function, b_function)≈ a_function().unwrap_err() > b_function().unwrap_err() -
assert_fn_err_le2!(a_function, b_function)≈ a_function().unwrap_err() ≤ b_function().unwrap_err() -
assert_fn_err_lt2!(a_function, b_function)≈ a_function().unwrap_err() < b_function().unwrap_err()
Compare a function Err() with an expression:
-
assert_fn_err_eq2!(function, expr)≈ function().unwrap_err() = expr -
assert_fn_err_ne2!(function, expr)≈ function().unwrap_err() ≠ expr -
assert_fn_err_ge2!(function, expr)≈ function().unwrap_err() ≥ expr -
assert_fn_err_gt2!(function, expr)≈ function().unwrap_err() > expr -
assert_fn_err_le2!(function, expr)≈ function().unwrap_err() ≤ expr -
assert_fn_err_lt2!(function, expr)≈ function().unwrap_err() < expr
§Example
use assertables::*;
fn f(i: i8) -> Result<String, String> {
match i {
0..=9 => Ok(format!("{}", i)),
_ => Err(format!("{:?} is out of range", i)),
}
}
let a: i8 = 10;
let b: i8 = 10;
assert_fn_err_eq2!(f, a, f, b);Modules§
- Assert a function Err(…) is equal to an expression.
- Assert a function Err(…) is equal to another.
- Assert a function Err(…) is greater than or equal to an expression.
- Assert a function Err(…) is greater than or equal to another.
- Assert a function Err(…) is greater than an expression.
- Assert a function Err(…) is greater than another.
- Assert a function Err(…) is less than or equal to an expression.
- Assert a function Err(…) is less than or equal to another.
- Assert a function Err(…) is less than an expression.
- Assert a function Err(…) is less than another.
- Assert a function Err(…) is not equal to an expression.
- Assert a function Err(…) is not equal to another.