use rmp::encode::*;
use rmp::Marker;
#[ test]
fn pass_pack_pfix() {
let mut buf = [0 x00];
write_pfix(&mut &mut buf[..], 127 ).ok().unwrap();
assert_eq!([0 x7f], buf);
}
#[ test]
fn fail_pack_pfix_too_small_buffer() {
let mut buf = [];
write_pfix(&mut &mut buf[..], 127 ).err().unwrap();
}
#[ test]
#[ should_panic(expected = "assertion failed" )]
fn fail_pack_pfix_too_large() {
let mut buf = [0 x00];
write_pfix(&mut &mut buf[..], 128 ).ok().unwrap();
}
#[ test]
fn pass_pack_u8() {
let mut buf = [0 x00, 0 x00];
write_u8(&mut &mut buf[..], 255 ).ok().unwrap();
assert_eq!([0 xcc, 0 xff], buf);
}
#[ test]
fn pass_pack_u16() {
let mut buf = [0 x00, 0 x00, 0 x00];
write_u16(&mut &mut buf[..], 65535 ).ok().unwrap();
assert_eq!([0 xcd, 0 xff, 0 xff], buf);
}
#[ test]
fn pass_pack_u32() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
write_u32(&mut &mut buf[..], 4294967295 ).ok().unwrap();
assert_eq!([0 xce, 0 xff, 0 xff, 0 xff, 0 xff], buf);
}
#[ test]
fn pass_pack_u64() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
write_u64(&mut &mut buf[..], 18446744073709551615 ).ok().unwrap();
assert_eq!([0 xcf, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff], buf);
}
#[ test]
fn pass_pack_nfix() {
let mut buf = [0 x00];
write_nfix(&mut &mut buf[..], -32 ).ok().unwrap();
assert_eq!([0 xe0], buf);
}
#[ test]
#[ should_panic(expected = "assertion failed" )]
fn fail_pack_nfix_too_large() {
let mut buf = [0 x00];
write_nfix(&mut &mut buf[..], 0 ).ok().unwrap();
}
#[ test]
#[ should_panic(expected = "assertion failed" )]
fn fail_pack_nfix_too_small() {
let mut buf = [0 x00];
write_nfix(&mut &mut buf[..], -33 ).ok().unwrap();
}
#[ test]
fn pass_pack_i8() {
let mut buf = [0 x00, 0 x00];
write_i8(&mut &mut buf[..], -128 ).ok().unwrap();
assert_eq!([0 xd0, 0 x80], buf);
}
#[ test]
fn pass_pack_i16() {
let mut buf = [0 x00, 0 x00, 0 x00];
write_i16(&mut &mut buf[..], -32768 ).ok().unwrap();
assert_eq!([0 xd1, 0 x80, 0 x00], buf);
}
#[ test]
fn pass_pack_i32() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
write_i32(&mut &mut buf[..], -2147483648 ).ok().unwrap();
assert_eq!([0 xd2, 0 x80, 0 x00, 0 x00, 0 x00], buf);
}
#[ test]
fn pass_pack_i64() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
write_i64(&mut &mut buf[..], -9223372036854775808 ).ok().unwrap();
assert_eq!([0 xd3, 0 x80, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00], buf);
}
#[ test]
fn pass_pack_uint_fix() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
assert_eq!(Marker::FixPos(127 ), write_uint(&mut &mut buf[..], 127 ).ok().unwrap());
assert_eq!([0 x7f, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00], buf);
}
#[ test]
fn pass_pack_uint_u8() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
assert_eq!(Marker::U8, write_uint(&mut &mut buf[..], 255 ).ok().unwrap());
assert_eq!([0 xcc, 0 xff, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00], buf);
}
#[ test]
fn pass_pack_uint_u16() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
assert_eq!(Marker::U16, write_uint(&mut &mut buf[..], 65535 ).ok().unwrap());
assert_eq!([0 xcd, 0 xff, 0 xff, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00], buf);
}
#[ test]
fn pass_pack_uint_u32() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
assert_eq!(Marker::U32, write_uint(&mut &mut buf[..], 4294967295 ).ok().unwrap());
assert_eq!([0 xce, 0 xff, 0 xff, 0 xff, 0 xff, 0 x00, 0 x00, 0 x00, 0 x00], buf);
}
#[ test]
fn pass_pack_uint_u64() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
assert_eq!(Marker::U64, write_uint(&mut &mut buf[..], 18446744073709551615 ).ok().unwrap());
assert_eq!([0 xcf, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff], buf);
}
#[ test]
fn pass_pack_sint_fix() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
assert_eq!(Marker::FixNeg(-32 ), write_sint(&mut &mut buf[..], -32 ).ok().unwrap());
assert_eq!([0 xe0, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00], buf);
}
#[ test]
fn pass_pack_sint_i8_min() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
assert_eq!(Marker::I8, write_sint(&mut &mut buf[..], -128 ).ok().unwrap());
assert_eq!([0 xd0, 0 x80, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00], buf);
}
#[ test]
fn pass_pack_sint_i16_min() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
assert_eq!(Marker::I16, write_sint(&mut &mut buf[..], -32768 ).ok().unwrap());
assert_eq!([0 xd1, 0 x80, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00], buf);
}
#[ test]
fn pass_pack_sint_i16_max() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
assert_eq!(Marker::U16, write_sint(&mut &mut buf[..], 32767 ).ok().unwrap());
assert_eq!([0 xcd, 0 x7f, 0 xff, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00], buf);
}
#[ test]
fn pass_pack_sint_i32_min() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
assert_eq!(Marker::I32, write_sint(&mut &mut buf[..], -2147483648 ).ok().unwrap());
assert_eq!([0 xd2, 0 x80, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00], buf);
}
#[ test]
fn pass_pack_sint_i32_max() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
assert_eq!(Marker::U32, write_sint(&mut &mut buf[..], 2147483647 ).ok().unwrap());
assert_eq!([0 xce, 0 x7f, 0 xff, 0 xff, 0 xff, 0 x00, 0 x00, 0 x00, 0 x00], buf);
}
#[ test]
fn pass_pack_sint_i64_min() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
assert_eq!(Marker::I64, write_sint(&mut &mut buf[..], -9223372036854775808 ).ok().unwrap());
assert_eq!([0 xd3, 0 x80, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00], buf);
}
#[ test]
fn pass_pack_sint_i64_max() {
let mut buf = [0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00];
assert_eq!(Marker::U64, write_sint(&mut &mut buf[..], 9223372036854775807 ).ok().unwrap());
assert_eq!([0 xcf, 0 x7f, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff, 0 xff], buf);
}
Messung V0.5 in Prozent C=84 H=95 G=89
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-06-19)
¤
*© Formatika GbR, Deutschland