Macro assertables::assert_ge
source · macro_rules! assert_ge { ($a:expr, $b:expr $(,)?) => { ... }; ($a:expr, $b:expr, $($message:tt)+) => { ... }; }
Expand description
Assert a value is greater than or equal to an expression.
-
If true, return
()
. -
Otherwise, call
panic!
with a message and the values of the expressions with their debug representations.
Examples
// Return Ok
let a = 2;
let b = 1;
assert_ge!(a, b);
//-> ()
let a = 1;
let b = 2;
// Panic with error message
let result = panic::catch_unwind(|| {
assert_ge!(a, b);
//-> panic!
});
assert!(result.is_err());
let actual = result.unwrap_err().downcast::<String>().unwrap().to_string();
let expect = concat!(
"assertion failed: `assert_ge!(left, right)`\n",
" left label: `a`,\n",
" left debug: `1`,\n",
" right label: `b`,\n",
" right debug: `2`,\n",
" left: `1`,\n",
" right: `2`"
);
assert_eq!(actual, expect);
// Panic with error message
let result = panic::catch_unwind(|| {
assert_ge!(a, b, "message");
//-> panic!
});
assert!(result.is_err());
let actual = result.unwrap_err().downcast::<String>().unwrap().to_string();
let expect = "message";
assert_eq!(actual, expect);