use super::super::super::super::support::dot;
use super::have;
use crate::metis::DotSet;
#[test]
fn test_have_set_to_bytes_layout() {
let set = have(&[
(1, 1),
(1, 2),
(1, 3),
(1, 5),
(1, 6),
(1, 8),
(2, 1),
(2, 2),
]);
let frame = set.to_bytes();
assert!(set.exceptions().eq([dot(1, 5), dot(1, 6), dot(1, 8)]));
assert_eq!(
frame,
[
0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, ]
);
assert_eq!(DotSet::from_bytes(&frame), Ok(set));
}
#[test]
fn test_have_set_empty_frame() {
let frame = DotSet::new().to_bytes();
assert_eq!(frame, [0x01u8, 0x00, 0x00, 0x00, 0x00]);
assert_eq!(DotSet::from_bytes(&frame), Ok(DotSet::new()));
}