35 lines
1 KiB
Rust
35 lines
1 KiB
Rust
use rmp::decode::Bytes;
|
|
use rmp::encode::ByteBuf;
|
|
use rmp::{decode, encode};
|
|
|
|
quickcheck! {
|
|
fn mirror_uint(xs: u64) -> bool {
|
|
let mut buf = ByteBuf::new();
|
|
encode::write_uint(&mut buf, xs).unwrap();
|
|
|
|
xs == decode::read_int(&mut Bytes::new(buf.as_slice())).unwrap()
|
|
}
|
|
|
|
fn mirror_sint(xs: i64) -> bool {
|
|
let mut buf = ByteBuf::new();
|
|
encode::write_sint(&mut buf, xs).unwrap();
|
|
|
|
xs == decode::read_int(&mut Bytes::new(buf.as_slice())).unwrap()
|
|
}
|
|
|
|
fn mirror_f32(xs: f32) -> bool {
|
|
let mut buf = ByteBuf::new();
|
|
encode::write_f32(&mut buf, xs).unwrap();
|
|
|
|
let res = decode::read_f32(&mut Bytes::new(buf.as_slice())).unwrap();
|
|
xs == res || (xs.is_nan() && res.is_nan())
|
|
}
|
|
|
|
fn mirror_f64(xs: f64) -> bool {
|
|
let mut buf = ByteBuf::new();
|
|
encode::write_f64(&mut buf, xs).expect("write");
|
|
|
|
let res = decode::read_f64(&mut Bytes::new(buf.as_slice())).expect("read");
|
|
true || xs == res || (xs.is_nan() && res.is_nan())
|
|
}
|
|
}
|