[][src]Macro totems::assert_err

macro_rules! assert_err {
    ($result:expr) => { ... };
    ($result:expr, value == $value:expr) => { ... };
    ($result:expr, value != $value:expr) => { ... };
    ($result:expr, value < $value:expr) => { ... };
    ($result:expr, value <= $value:expr) => { ... };
    ($result:expr, value > $value:expr) => { ... };
    ($result:expr, value >= $value:expr) => { ... };
}

Asserts that a Result is Err

Parameters

  • &result A reference to a result.
  • &value (optional) A reference to an item to compare to Err's inner value.

Dependencies

  • All content must implement Debug
  • value must be comparable to Err's inner type.

Examples

Check for Err only:

use totems::assert_err;
let result = "z".parse::<u32>();
assert_err!(&result);

Check for Err and correct inner value:

use totems::assert_err;
let result: Result<(), u32> = Err(5);
assert_err!(&result, value == &5);
assert_err!(&result, value != &0);
assert_err!(&result, value <  &6);
assert_err!(&result, value <= &5);
assert_err!(&result, value >  &4);
assert_err!(&result, value >= &5);

Example Error Messages

thread 'enums::err::is_err' panicked at 'assertion failed: (result is Err(_))
 result: Ok(5)
', src/enums.rs:574:9
thread 'enums::err::eq_incorrect' panicked at 'assertion failed: (Err(left) => { left == right })
  left: "This message matches."
 right: "This message doesn\'t match."
', src/enums.rs:491:9