use netlink_packet_core::{Emitable, NlaBuffer, Parseable};
use crate::link::dpll_pin::DpllPin;
static DPLL_PIN_ID: [u8; 8] = [
0x08, 0x00, 0x01, 0x00, 0x2a, 0x00, 0x00, 0x00, ];
#[test]
fn parse_dpll_pin_id() {
let nla = NlaBuffer::new_checked(&DPLL_PIN_ID[..]).unwrap();
let parsed = DpllPin::parse(&nla).unwrap();
assert_eq!(parsed, DpllPin::PinId(42));
}
#[test]
fn emit_dpll_pin_id() {
let nla = DpllPin::PinId(42);
assert_eq!(nla.buffer_len(), 8);
let mut buf = vec![0u8; 8];
nla.emit(&mut buf);
assert_eq!(&buf[..], &DPLL_PIN_ID[..]);
}
#[test]
fn parse_unknown_dpll_pin_attr() {
let raw: [u8; 8] = [
0x06, 0x00, 0x63, 0x00, 0xde, 0xad, 0x00, 0x00, ];
let nla = NlaBuffer::new_checked(&raw[..]).unwrap();
let parsed = DpllPin::parse(&nla).unwrap();
assert!(matches!(parsed, DpllPin::Other(_)));
}