bcs/test_helpers.rs
1// Copyright (c) The Diem Core Contributors
2// SPDX-License-Identifier: Apache-2.0
3
4pub fn assert_canonical_encode_decode<T>(t: T)
5where
6 T: serde::Serialize + serde::de::DeserializeOwned + std::fmt::Debug + PartialEq,
7{
8 let bytes = crate::to_bytes(&t).unwrap();
9 let s: T = crate::from_bytes(&bytes).unwrap();
10 assert_eq!(t, s);
11
12 let mut reader = std::io::Cursor::new(bytes);
13 let s_from_reader = crate::from_reader(&mut reader).unwrap();
14 assert_eq!(t, s_from_reader);
15}