use kf_protocol::derive::Encode;
use kf_protocol::EncoderVarInt;
use kf_protocol::Encoder;
#[derive(Encode,Default,Debug)]
pub struct SimpleRecord {
#[varint]
len: i64,
attributes: i8,
}
#[derive(Encode,Default,Debug)]
pub struct RecordSet {
records: Vec<SimpleRecord>
}
impl RecordSet {
fn add_record(&mut self, record: SimpleRecord) {
(&mut self.records).push(record);
}
}
#[test]
fn test_encode_recordset() {
let mut recordset = RecordSet::default();
let mut record = SimpleRecord::default();
record.attributes = 10;
record.len = 4;
recordset.add_record(record);
let mut src = vec![];
let result = recordset.encode(&mut src,0);
assert!(result.is_ok());
assert_eq!(src.len(),6);
assert_eq!(src[5],0x0a);
assert_eq!(recordset.write_size(0),6);
}