use hacspec_lib::{buf::ByteBuffer, *};
#[test]
fn create() {
let s1 = Bytes::from_hex("deadbeef");
let s2 = Bytes::from_hex("02deadbeef");
let s3 = Bytes::from_hex("03deadbeef");
let s4 = Bytes::from_hex("04deadbeef");
let buffer = ByteBuffer::from_seq(s1);
let buffer = buffer.concat_owned(s2);
let buffer = buffer.concat_owned(s3);
let buffer = buffer.concat_owned(s4);
assert_secret_seq_eq!(
Bytes::from_hex("deadbeef02deadbeef03deadbeef04deadbeef"),
buffer.to_bytes(),
Byte
);
}
#[test]
fn split() {
let s1 = Bytes::from_hex("deadbeef");
let s2 = Bytes::from_hex("02deadbeef");
let s3 = Bytes::from_hex("03deadbeef");
let s4 = Bytes::from_hex("04deadbeef");
let buffer = ByteBuffer::from_seq(s1);
let buffer = buffer.concat_owned(s2);
let buffer = buffer.concat_owned(s3);
let buffer = buffer.concat_owned(s4);
let (l3_bytes, remainder) = buffer.clone().split_off(3);
assert_secret_seq_eq!(
Bytes::from_hex("ef02deadbeef03deadbeef04deadbeef"),
remainder.to_bytes(),
Byte
);
assert_secret_seq_eq!(Bytes::from_hex("deadbe"), l3_bytes, Byte);
let (l4_bytes, remainder) = buffer.clone().split_off(4);
assert_secret_seq_eq!(
Bytes::from_hex("02deadbeef03deadbeef04deadbeef"),
remainder.to_bytes(),
Byte
);
assert_secret_seq_eq!(Bytes::from_hex("deadbeef"), l4_bytes, Byte);
let (l7_bytes, remainder) = buffer.clone().split_off(7);
assert_secret_seq_eq!(
Bytes::from_hex("beef03deadbeef04deadbeef"),
remainder.to_bytes(),
Byte
);
assert_secret_seq_eq!(Bytes::from_hex("deadbeef02dead"), l7_bytes, Byte);
let (l9_bytes, remainder) = buffer.clone().split_off(9);
assert_secret_seq_eq!(
Bytes::from_hex("03deadbeef04deadbeef"),
remainder.to_bytes(),
Byte
);
assert_secret_seq_eq!(Bytes::from_hex("deadbeef02deadbeef"), l9_bytes, Byte);
}