12345678910111213141516171819202122232425262728293031323334353637383940 |
- use const_serialize::{deserialize_const, serialize_const, ConstStr, ConstVec};
- #[test]
- fn test_serialize_const_layout_str() {
- let mut buf = ConstVec::new();
- let str = ConstStr::new("hello");
- buf = serialize_const(&str, buf);
- println!("{:?}", buf.as_ref());
- let buf = buf.read();
- assert_eq!(
- deserialize_const!(ConstStr, buf).unwrap().1.as_str(),
- "hello"
- );
- }
- #[test]
- fn test_serialize_const_layout_nested_str() {
- let mut buf = ConstVec::new();
- let str = ConstStr::new("hello");
- buf = serialize_const(&[str, str, str] as &[ConstStr; 3], buf);
- println!("{:?}", buf.as_ref());
- let buf = buf.read();
- assert_eq!(
- deserialize_const!([ConstStr; 3], buf).unwrap().1,
- [
- ConstStr::new("hello"),
- ConstStr::new("hello"),
- ConstStr::new("hello")
- ]
- );
- }
- #[test]
- fn test_serialize_str_too_little_data() {
- let mut buf = ConstVec::new();
- buf = buf.push(1);
- let buf = buf.read();
- assert_eq!(deserialize_const!(ConstStr, buf), None);
- }
|