use nrbf::{RemotingMessage, Value};
#[test]
fn binary_array_jagged() {
#[rustfmt::skip]
let input = [
0,
0x01, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF,
0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
7,
0x01, 0x00, 0x00, 0x00,
1,
0x01, 0x00, 0x00, 0x00,
0x03, 0x00, 0x00, 0x00,
7,
8,
9,
0x02, 0x00, 0x00, 0x00,
9,
0x03, 0x00, 0x00, 0x00,
9,
0x04, 0x00, 0x00, 0x00,
15,
0x02, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00,
8,
0x01, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00,
15,
0x03, 0x00, 0x00, 0x00,
0x03, 0x00, 0x00, 0x00,
8,
0x03, 0x00, 0x00, 0x00,
0x04, 0x00, 0x00, 0x00,
0x05, 0x00, 0x00, 0x00,
15,
0x04, 0x00, 0x00, 0x00,
0x04, 0x00, 0x00, 0x00,
8,
0x06, 0x00, 0x00, 0x00,
0x07, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00,
0x09, 0x00, 0x00, 0x00,
11,
];
let output = RemotingMessage::Value(Value::Array(vec![
Value::Array(vec![Value::Int32(1), Value::Int32(2)]),
Value::Array(vec![Value::Int32(3), Value::Int32(4), Value::Int32(5)]),
Value::Array(vec![Value::Int32(6), Value::Int32(7), Value::Int32(8), Value::Int32(9)]),
]));
assert_eq!(RemotingMessage::parse(&input), Ok(output));
}