Skip to content

Commit 12db4de

Browse files
committed
Add tests for BitAnd and BitXor.
1 parent 01b599e commit 12db4de

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/libcollections/enum_set.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,9 +403,29 @@ mod test {
403403
let elems = e_intersection.iter().collect();
404404
assert_eq!(vec![C], elems)
405405

406+
// Another way to express intersection
407+
let e_intersection = e1 - (e1 - e2);
408+
let elems = e_intersection.iter().collect();
409+
assert_eq!(vec![C], elems)
410+
406411
let e_subtract = e1 - e2;
407412
let elems = e_subtract.iter().collect();
408413
assert_eq!(vec![A], elems)
414+
415+
// Bitwise XOR of two sets, aka symmetric difference
416+
let e_symmetric_diff = e1 ^ e2;
417+
let elems = e_symmetric_diff.iter().collect();
418+
assert_eq!(vec![A,B], elems)
419+
420+
// Another way to express symmetric difference
421+
let e_symmetric_diff = (e1 - e2) | (e2 - e1);
422+
let elems = e_symmetric_diff.iter().collect();
423+
assert_eq!(vec![A,B], elems)
424+
425+
// Yet another way to express symmetric difference
426+
let e_symmetric_diff = (e1 | e2) - (e1 & e2);
427+
let elems = e_symmetric_diff.iter().collect();
428+
assert_eq!(vec![A,B], elems)
409429
}
410430

411431
#[test]

0 commit comments

Comments
 (0)