use super ::*;
use crate ::Flags;
#[ test]
fn cases() {
case(0 , TestFlags::all(), TestFlags::complement);
case(0 , TestFlags::from_bits_retain(!0 ), TestFlags::complement);
case(1 | 1 << 1 , TestFlags::C, TestFlags::complement);
case(
1 | 1 << 1 ,
TestFlags::C | TestFlags::from_bits_retain(1 << 3 ),
TestFlags::complement,
);
case(
1 | 1 << 1 | 1 << 2 ,
TestFlags::empty(),
TestFlags::complement,
);
case(
1 | 1 << 1 | 1 << 2 ,
TestFlags::from_bits_retain(1 << 3 ),
TestFlags::complement,
);
case(0 , TestZero::empty(), TestZero::complement);
case(0 , TestEmpty::empty(), TestEmpty::complement);
case(1 << 2 , TestOverlapping::AB, TestOverlapping::complement);
case(!0 , TestExternal::empty(), TestExternal::complement);
}
#[ track_caller]
fn case<T: Flags + std::fmt::Debug + std::ops::Not<Output = T> + Copy>(
expected: T::Bits,
value: T,
inherent: impl FnOnce(T) -> T,
) where
T::Bits: std::fmt::Debug + PartialEq,
{
assert_eq!(expected, inherent(value).bits(), "{:?}.complement()" , value);
assert_eq!(
expected,
Flags::complement(value).bits(),
"Flags::complement({:?})" ,
value
);
assert_eq!(expected, (!value).bits(), "!{:?}" , value);
}
Messung V0.5 in Prozent C=81 H=100 G=90
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-06-27)
¤
*© Formatika GbR, Deutschland