diff options
Diffstat (limited to 'bit_field/tests/test_tuple_struct.rs')
-rw-r--r-- | bit_field/tests/test_tuple_struct.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/bit_field/tests/test_tuple_struct.rs b/bit_field/tests/test_tuple_struct.rs new file mode 100644 index 0000000..3b12735 --- /dev/null +++ b/bit_field/tests/test_tuple_struct.rs @@ -0,0 +1,25 @@ +extern crate bit_field; + +use bit_field::*; + +#[bitfield] +#[bits = 5] +#[derive(Debug, PartialEq)] +pub struct FiveBits(u8); + +#[bitfield] +struct Struct { + prefix: BitField1, + five_bits: FiveBits, + suffix: BitField2, +} + +#[test] +fn test_enum() { + let mut s = Struct::new(); + assert_eq!(s.get(0, 8), 0b_0000_0000); + + s.set_five_bits(FiveBits(0b10101)); + assert_eq!(s.get(0, 8), 0b_0010_1010); + assert_eq!(s.get_five_bits(), FiveBits(0b10101)); +} |