use std::io::Cursor; use binrw::{BinRead, BinWrite}; use ezcad::array_of::ArrayOf; #[test] fn array_of_be() { let encoded: Vec = vec![0x00, 0x00, 0x00, 0x02, 0x0A, 0x0B, 0x0C, 0x0D, 0x01, 0x02, 0x03, 0x04]; let decoded: ArrayOf = ArrayOf { value: vec![0x0A0B0C0D, 0x01020304] }; let mut stream: Cursor> = Cursor::new(encoded.clone()); assert_eq!( ArrayOf::::read_be(&mut stream).unwrap(), decoded ); let mut buffer: Cursor> = Cursor::new(vec![]); decoded.write_be(&mut buffer).unwrap(); assert_eq!(buffer.into_inner(), encoded); } #[test] fn array_of_le() { let encoded: Vec = vec![0x02, 0x00, 0x00, 0x00, 0x0A, 0x0B, 0x0C, 0x0D, 0x01, 0x02, 0x03, 0x04]; let decoded: ArrayOf = ArrayOf { value: vec![0x0D0C0B0A, 0x04030201] }; let mut stream: Cursor> = Cursor::new(encoded.clone()); assert_eq!( ArrayOf::::read_le(&mut stream).unwrap(), decoded ); let mut buffer: Cursor> = Cursor::new(vec![]); decoded.write_le(&mut buffer).unwrap(); assert_eq!(buffer.into_inner(), encoded); }