Macro assertables::assume_fn_err_string_eq [−][src]
macro_rules! assume_fn_err_string_eq { ($function:path, $left:expr, $right:expr $(,)?) => { ... }; ($function:path, $left:expr, $right:expr, $($arg:tt)+) => { ... }; }
Expand description
Assume one function ok() is equal to another function ok().
-
When true, return
Ok(true). -
Otherwise, return
Errwith a message and the values of the expressions with their debug representations.
Example
fn f(i: i32) -> Result<bool, String> { Err(format!("{:?}", i)) } assume_fn_err_string_eq!(f, 1, 1); //-> Ok(true)
fn f(i: i32) -> Result<bool, String> { Err(format!("{:?}", i)) } assume_fn_err_string_eq!(f, 1, 2); //-> Err("assumption failed: `assume_fn_err_string_eq(left, right)`\n left input: `1`\n right input: `2`\n left output: `\"1\"`\n right output: `\"2\"`")
This macro has a second form where a custom message can be provided.