1 use super::*;
2 
3 use crate::Flags;
4 
5 #[test]
cases()6 fn cases() {
7     case(1 | 1 << 1 | 1 << 2, TestFlags::all);
8 
9     case(0, TestZero::all);
10 
11     case(0, TestEmpty::all);
12 
13     case(!0, TestExternal::all);
14 }
15 
16 #[track_caller]
case<T: Flags>(expected: T::Bits, inherent: impl FnOnce() -> T) where <T as Flags>::Bits: std::fmt::Debug + PartialEq,17 fn case<T: Flags>(expected: T::Bits, inherent: impl FnOnce() -> T)
18 where
19     <T as Flags>::Bits: std::fmt::Debug + PartialEq,
20 {
21     assert_eq!(expected, inherent().bits(), "T::all()");
22     assert_eq!(expected, T::all().bits(), "Flags::all()");
23 }
24