basic_field.rs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. use std::io::Cursor;
  2. use binrw::{BinRead, BinWrite};
  3. use ezcad::basic_field::BasicField;
  4. #[test]
  5. fn field_u32_be() {
  6. let encoded: Vec<u8> = vec![0x00, 0x00, 0x00, 0x04, 0x0A, 0x0B, 0x0C, 0x0D];
  7. let decoded: u32 = 0x0A0B0C0D;
  8. let mut stream: Cursor<Vec<u8>> = Cursor::new(encoded.clone());
  9. assert_eq!(
  10. BasicField::read_be(&mut stream).unwrap(),
  11. BasicField::U32(decoded)
  12. );
  13. let mut buffer: Cursor<Vec<u8>> = Cursor::new(vec![]);
  14. BasicField::U32(decoded).write_be(&mut buffer).unwrap();
  15. assert_eq!(buffer.into_inner(), encoded);
  16. }
  17. #[test]
  18. fn field_u32_le() {
  19. let encoded: Vec<u8> = vec![0x04, 0x00, 0x00, 0x00, 0x0D, 0x0C, 0x0B, 0x0A];
  20. let decoded: u32 = 0x0A0B0C0D;
  21. let mut stream: Cursor<Vec<u8>> = Cursor::new(encoded.clone());
  22. assert_eq!(
  23. BasicField::read_le(&mut stream).unwrap(),
  24. BasicField::U32(decoded)
  25. );
  26. let mut buffer: Cursor<Vec<u8>> = Cursor::new(vec![]);
  27. BasicField::U32(decoded).write_le(&mut buffer).unwrap();
  28. assert_eq!(buffer.into_inner(), encoded);
  29. }