Macro assertables::assume_fn_eq [−][src]
macro_rules! assume_fn_eq { ($function:path, $left:expr, $right:expr $(,)?) => { ... }; ($function:path, $left:expr, $right:expr, $($arg:tt)+) => { ... }; }
Expand description
Assume one function output is equal to another function output.
-
When true, return
Ok(true)
. -
Otherwise, return
Err
with a message and the values of the expressions with their debug representations.
Example
assume_fn_eq!(i32::abs, 1 as i32, -1 as i32); //-> Ok(true)
assume_fn_eq!(i32::abs, 1 as i32, -2 as i32); //-> Err("assumption failed: `assume_fn_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.