1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use crate::{EncDec};
pub fn test_encode_decode<'a, T>(buff: &'a mut [u8], v: T)
where
T: EncDec<'a> + PartialEq,
{
let encoded_len = v.encode(buff).unwrap();
assert_eq!(encoded_len, v.encode_len().unwrap(), "actual and expected encode_len differ");
let (decoded, decoded_len) = T::decode(&buff[..encoded_len]).expect("decode failed");
assert!(v == decoded, "value: {:?}, decoded: {:?}", v, decoded);
assert_eq!(encoded_len, decoded_len, "encode and decode length differ");
}