pub mod data; #[cfg(test)] mod test { use std::io::Cursor; use super::data::StructWithInt32; use super::data::StructWithInt64; #[test] fn struct_with_int_32() { let value = StructWithInt32 { a: 10, b: 25 }; assert_round_trip_encoding( value, super::data::transient_0::encode_struct_with_int_32, super::data::transient_0::decode_struct_with_int_32, ); } fn assert_round_trip_encoding( value: T, encode: impl Fn(&T, &mut Cursor>), decode: impl Fn(&mut Cursor>) -> T, ) { let mut bytes = Cursor::new(Vec::new()); encode(&value, &mut bytes); bytes.set_position(0); let decoded_value = decode(&mut bytes); assert_eq!(value, decoded_value); } }