ps_uuid/variant/methods/
bitmask.rs1use crate::Variant;
2
3impl Variant {
4 #[must_use]
5 pub const fn bitmask(self) -> u8 {
6 match self {
7 Self::NCS => 0x0F,
8 Self::OSF => 0xBF,
9 Self::DCOM => 0xDF,
10 Self::Reserved => 0xFF,
11 }
12 }
13}
14
15#[cfg(test)]
16mod tests {
17 use super::Variant;
18
19 #[test]
20 fn test_variant_bitmask_returns_correct_value_for_each_variant() {
21 assert_eq!(
27 Variant::NCS.bitmask(),
28 0x0F,
29 "The bitmask for Variant::NCS must be 0x0F"
30 );
31
32 assert_eq!(
34 Variant::OSF.bitmask(),
35 0xBF,
36 "The bitmask for Variant::OSF must be 0xBF"
37 );
38
39 assert_eq!(
41 Variant::DCOM.bitmask(),
42 0xDF,
43 "The bitmask for Variant::DCOM must be 0xDF"
44 );
45
46 assert_eq!(
48 Variant::Reserved.bitmask(),
49 0xFF,
50 "The bitmask for Variant::Reserved must be 0xFF"
51 );
52 }
53}