#[cfg(test)]
mod test_get {
bitrange! {
IpHeader: u32, "u32", "aaaa_bbbb_cccccccc_dddddddddddddddd", a: version, b: ihl, c: type_of_service, d: total_length }
#[test]
fn test() {
let header = IpHeader::from(0b0001_0010_00000011_0000000000000100).unwrap();
assert_eq!(header.version(), 0b0001);
assert_eq!(header.ihl(), 0b0010);
assert_eq!(header.type_of_service(), 0b0011);
assert_eq!(header.total_length(), 0b0100);
}
}
#[cfg(test)]
mod test_set {
bitrange! {
IpHeader: u32, "u32", "aaaa_bbbb_cccccccc_dddddddddddddddd", a: version set_version, b: ihl, c: type_of_service, d: total_length }
#[test]
fn test() {
let mut header = IpHeader::from(0b0001_0010_00000011_0000000000000100).unwrap();
assert_eq!(header.version(), 0b0001);
assert_eq!(header.ihl(), 0b0010);
assert_eq!(header.type_of_service(), 0b0011);
assert_eq!(header.total_length(), 0b0100);
header.set_version(0b0100);
assert_eq!(header.version(), 0b0100);
}
}