summaryrefslogtreecommitdiff
path: root/vendor/bitflags/src/tests/intersection.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/bitflags/src/tests/intersection.rs')
-rw-r--r--vendor/bitflags/src/tests/intersection.rs79
1 files changed, 0 insertions, 79 deletions
diff --git a/vendor/bitflags/src/tests/intersection.rs b/vendor/bitflags/src/tests/intersection.rs
deleted file mode 100644
index 10a8ae9f..00000000
--- a/vendor/bitflags/src/tests/intersection.rs
+++ /dev/null
@@ -1,79 +0,0 @@
-use super::*;
-
-use crate::Flags;
-
-#[test]
-fn cases() {
- case(
- TestFlags::empty(),
- &[(TestFlags::empty(), 0), (TestFlags::all(), 0)],
- TestFlags::intersection,
- );
-
- case(
- TestFlags::all(),
- &[
- (TestFlags::all(), 1 | 1 << 1 | 1 << 2),
- (TestFlags::A, 1),
- (TestFlags::from_bits_retain(1 << 3), 0),
- ],
- TestFlags::intersection,
- );
-
- case(
- TestFlags::from_bits_retain(1 << 3),
- &[(TestFlags::from_bits_retain(1 << 3), 1 << 3)],
- TestFlags::intersection,
- );
-
- case(
- TestOverlapping::AB,
- &[(TestOverlapping::BC, 1 << 1)],
- TestOverlapping::intersection,
- );
-}
-
-#[track_caller]
-fn case<T: Flags + std::fmt::Debug + std::ops::BitAnd<Output = T> + std::ops::BitAndAssign + Copy>(
- value: T,
- inputs: &[(T, T::Bits)],
- mut inherent: impl FnMut(T, T) -> T,
-) where
- T::Bits: std::fmt::Debug + PartialEq + Copy,
-{
- for (input, expected) in inputs {
- assert_eq!(
- *expected,
- inherent(value, *input).bits(),
- "{:?}.intersection({:?})",
- value,
- input
- );
- assert_eq!(
- *expected,
- Flags::intersection(value, *input).bits(),
- "Flags::intersection({:?}, {:?})",
- value,
- input
- );
- assert_eq!(
- *expected,
- (value & *input).bits(),
- "{:?} & {:?}",
- value,
- input
- );
- assert_eq!(
- *expected,
- {
- let mut value = value;
- value &= *input;
- value
- }
- .bits(),
- "{:?} &= {:?}",
- value,
- input,
- );
- }
-}