use marshal_rs::{Dumper, Loader, Value};
fn main() {
let null_bytes: [u8; 3] = [0x04, 0x08, 0x30]; let true_bytes: [u8; 3] = [0x04, 0x08, 0x54]; let false_bytes: [u8; 3] = [0x04, 0x08, 0x46];
let mut loader: Loader = Loader::new();
let null_value = loader.load(&null_bytes).unwrap();
let true_value = loader.load(&true_bytes).unwrap();
let false_value = loader.load(&false_bytes).unwrap();
assert_eq!(null_value, Value::null());
assert_eq!(true_value, Value::bool(true));
assert_eq!(false_value, Value::bool(false));
let mut dumper: Dumper = Dumper::new();
let null_marshal: Vec<u8> = dumper.dump(null_value);
let true_marshal: Vec<u8> = dumper.dump(true_value);
let false_marshal: Vec<u8> = dumper.dump(false_value);
assert_eq!(&null_marshal, &null_bytes);
assert_eq!(&true_marshal, &true_bytes);
assert_eq!(&false_marshal, &false_bytes);
}