Add assert_set_eq macro to make test clearer

Co-authored-by: Max Brunsfeld <max@zed.dev>
This commit is contained in:
Keith Simmons 2022-03-30 13:47:43 -07:00
parent 32d2e5952c
commit 0dce371b3e
4 changed files with 80 additions and 60 deletions

View file

@ -0,0 +1,19 @@
#[macro_export]
macro_rules! assert_set_eq {
($left:expr,$right:expr) => {{
let left = $left;
let right = $right;
for left_value in left.iter() {
if !right.contains(left_value) {
panic!("assertion failed: `(left == right)`\n left: {:?}\nright: {:?}\nright does not contain {:?}", left, right, left_value);
}
}
for right_value in right.iter() {
if !left.contains(right_value) {
panic!("assertion failed: `(left == right)`\n left: {:?}\nright: {:?}\nleft does not contain {:?}", left, right, right_value);
}
}
}};
}