mod some_struct {
use naia_shared::Serde;
#[derive(Clone, Debug, PartialEq, Serde)]
pub struct SomeStruct {
pub some_string: String,
pub some_int: i16,
pub some_bool: bool,
}
}
use naia_shared::{BitReader, BitWriter, Serde};
use some_struct::SomeStruct;
#[test]
fn read_write_struct() {
let mut writer = BitWriter::new();
let in_1 = SomeStruct {
some_string: "Hello world!".to_string(),
some_int: 42,
some_bool: true,
};
let in_2 = SomeStruct {
some_string: "Goodbye world!".to_string(),
some_int: -42,
some_bool: false,
};
in_1.ser(&mut writer);
in_2.ser(&mut writer);
let bytes = writer.to_bytes();
let mut reader = BitReader::new(&bytes);
let out_1 = Serde::de(&mut reader).unwrap();
let out_2 = Serde::de(&mut reader).unwrap();
assert_eq!(in_1, out_1);
assert_eq!(in_2, out_2);
}