1
0

lists.rs 936 B

12345678910111213141516171819202122232425262728293031323334
  1. use const_serialize::{deserialize_const, serialize_const, ConstVec};
  2. #[test]
  3. fn test_serialize_const_layout_list() {
  4. let mut buf = ConstVec::new();
  5. buf = serialize_const(&[1u8, 2, 3] as &[u8; 3], buf);
  6. println!("{:?}", buf.as_ref());
  7. let buf = buf.read();
  8. assert_eq!(deserialize_const!([u8; 3], buf).unwrap().1, [1, 2, 3])
  9. }
  10. #[test]
  11. fn test_serialize_const_layout_nested_lists() {
  12. let mut buf = ConstVec::new();
  13. buf = serialize_const(
  14. &[[1u8, 2, 3], [4u8, 5, 6], [7u8, 8, 9]] as &[[u8; 3]; 3],
  15. buf,
  16. );
  17. println!("{:?}", buf.as_ref());
  18. let buf = buf.read();
  19. assert_eq!(
  20. deserialize_const!([[u8; 3]; 3], buf).unwrap().1,
  21. [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  22. );
  23. }
  24. #[test]
  25. fn test_serialize_list_too_little_data() {
  26. let mut buf = ConstVec::new();
  27. buf = buf.push(1);
  28. let buf = buf.read();
  29. assert_eq!(deserialize_const!([u64; 10], buf), None);
  30. }