[][src]Macro totems::assert_ok

macro_rules! assert_ok {
    ($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 Ok

Parameters

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

Dependencies

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

Examples

Check for Ok only:

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

Check for Ok and correct inner value:

use totems::assert_ok;
let result = "5".parse::<u32>();
assert_ok!(&result, value == &5);
assert_ok!(&result, value != &0);
assert_ok!(&result, value <  &6);
assert_ok!(&result, value <= &6);
assert_ok!(&result, value >  &4);
assert_ok!(&result, value >= &4);

Example Error Messages

thread 'main' panicked at 'assertion failed: (&result is Ok(_))
 &result: Err(ParseIntError { kind: InvalidDigit })
', src/enums.rs:498:9
thread 'main' panicked at 'assertion failed: (Ok(left) => { left <= right })
  left: 5
 right: 4
', src/enums.rs:465:9