macro_rules! assert_4th {
($tuple:expr, value == $val:expr) => { ... };
($tuple:expr, value != $val:expr) => { ... };
($tuple:expr, value < $val:expr) => { ... };
($tuple:expr, value <= $val:expr) => { ... };
($tuple:expr, value > $val:expr) => { ... };
($tuple:expr, value >= $val:expr) => { ... };
}Expand description
Asserts that the 4th item in a tuple has a relationship to some value.
§Parameters
&tupleA reference to a tuple.&valA reference to a value to compare to the 4th item.
§Dependencies
- All content must implement Debug
valmust implement PartialEq for the 4th type in the tuple to use==or!=.valmust implement PartialOrd for the 4th type in the tuple to use<,<=,>,>=.
§Example
use totems::assert_4th;
let tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, "Hello");
let x = 5;
assert_4th!(&tuple, value == &x); // tuple.4 == x
assert_4th!(&tuple, value <= &x);
assert_4th!(&tuple, value >= &x);
assert_4th!(&tuple, value < &(x + 1));
assert_4th!(&tuple, value > &(x - 1));§Example Error Messages
thread 'tuples::_04th::le_correct' panicked at 'assertion failed: (tuple.4 <= val)
val: 0
tuple.4: 1
', src/tuples.rs:2162:9