Add assert_set_eq macro to make test clearer
Co-authored-by: Max Brunsfeld <max@zed.dev>
This commit is contained in:
parent
32d2e5952c
commit
0dce371b3e
4 changed files with 80 additions and 60 deletions
19
crates/util/src/test/assertions.rs
Normal file
19
crates/util/src/test/assertions.rs
Normal 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);
|
||||
}
|
||||
}
|
||||
}};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue