use super::*;
use bacnet_types::constructed::{BACnetAddress, BACnetRecipient};
use bacnet_types::MacAddr;
fn address(len: usize) -> BACnetRecipient {
BACnetRecipient::Address(BACnetAddress {
network_number: 0,
mac_address: MacAddr::from_slice(&vec![0x0A; len]),
})
}
#[test]
fn provisioned_audit_recipient_mac_longer_than_the_bound_is_refused() {
let mut dev = make_device();
match dev.provision_audit_recipient(address(BACnetAddress::MAX_MAC_LEN + 1)) {
Err(Error::Protocol { class, code }) => assert_eq!(
(class, code),
(
ErrorClass::PROPERTY.to_raw() as u32,
ErrorCode::INVALID_DATA_ENCODING.to_raw() as u32
)
),
other => panic!("expected PROPERTY/INVALID_DATA_ENCODING, got {other:?}"),
}
dev.provision_audit_recipient(address(BACnetAddress::MAX_MAC_LEN))
.unwrap();
}