diff options
| author | Joseph Crail <jbcrail@gmail.com> | 2014-11-07 18:46:29 -0500 |
|---|---|---|
| committer | Joseph Crail <jbcrail@gmail.com> | 2014-11-07 18:46:29 -0500 |
| commit | 12db4de554faf8e2f6baca4514b1e5983cb60783 (patch) | |
| tree | 060faef1f117c456e3d1276e6682036952b92e97 /src/libcollections/enum_set.rs | |
| parent | 01b599eb34125b7bc4d01fd7cc24876179ad6798 (diff) | |
| download | rust-12db4de554faf8e2f6baca4514b1e5983cb60783.tar.gz rust-12db4de554faf8e2f6baca4514b1e5983cb60783.zip | |
Add tests for BitAnd and BitXor.
Diffstat (limited to 'src/libcollections/enum_set.rs')
| -rw-r--r-- | src/libcollections/enum_set.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/libcollections/enum_set.rs b/src/libcollections/enum_set.rs index 0737620690b..b2b26914b44 100644 --- a/src/libcollections/enum_set.rs +++ b/src/libcollections/enum_set.rs @@ -403,9 +403,29 @@ mod test { let elems = e_intersection.iter().collect(); assert_eq!(vec![C], elems) + // Another way to express intersection + let e_intersection = e1 - (e1 - e2); + let elems = e_intersection.iter().collect(); + assert_eq!(vec![C], elems) + let e_subtract = e1 - e2; let elems = e_subtract.iter().collect(); assert_eq!(vec![A], elems) + + // Bitwise XOR of two sets, aka symmetric difference + let e_symmetric_diff = e1 ^ e2; + let elems = e_symmetric_diff.iter().collect(); + assert_eq!(vec![A,B], elems) + + // Another way to express symmetric difference + let e_symmetric_diff = (e1 - e2) | (e2 - e1); + let elems = e_symmetric_diff.iter().collect(); + assert_eq!(vec![A,B], elems) + + // Yet another way to express symmetric difference + let e_symmetric_diff = (e1 | e2) - (e1 & e2); + let elems = e_symmetric_diff.iter().collect(); + assert_eq!(vec![A,B], elems) } #[test] |
