encdec_base/helpers/
mod.rs1use crate::EncDec;
5
6#[cfg(feature = "bitflags")]
7mod bitflags;
8
9#[cfg(feature = "bitflags")]
10pub use bitflags::EncDecBitflags;
11
12pub fn test_encode_decode<'a, T>(buff: &'a mut [u8], v: T)
14where
15 T: EncDec<'a> + PartialEq,
16{
17 let encoded_len = v.encode(buff).unwrap();
18 assert_eq!(
19 encoded_len,
20 v.encode_len().unwrap(),
21 "actual and expected encode_len differ"
22 );
23
24 let (decoded, decoded_len) = T::decode(&buff[..encoded_len]).expect("decode failed");
25
26 assert!(v == decoded, "value: {:?}, decoded: {:?}", v, decoded);
27 assert_eq!(encoded_len, decoded_len, "encode and decode length differ");
28}