use bitvec::order::{Lsb0, Msb0};
use crate::protocol::{
prelude::common::{
bits::{BitDecoder, Frame, FrameDecoder, FrameEncoder},
event::EventDecoder,
},
versions::Version,
};
#[test]
fn test() {
let mut encoder: FrameEncoder<Lsb0> = FrameEncoder::<Lsb0>::new(Version::V1.to_u8()).unwrap();
let frame: Vec<u8> = encoder
.encode(Box::new(
crate::client::prelude::versions::v1::c0x0005::InteractionRequest::new(
0,
"test".to_string(),
"Test".to_string(),
None,
None,
None,
),
))
.unwrap();
let mut decoder = BitDecoder::<Msb0>::new(frame);
let mut frame_decoder = FrameDecoder::<Msb0>::new(decoder.clone());
let data: Frame<Msb0> = frame_decoder.decode().unwrap();
decoder = frame_decoder.get_decoder().to_owned();
let mut decoded_data =
crate::server::prelude::versions::v1::r0x0005::InteractionRequest::new(decoder);
decoded_data.decode(data).unwrap();
assert_eq!(decoded_data.request_id, 0);
assert_eq!(decoded_data.function_name, "test".to_string());
assert_eq!(decoded_data.parent_name, "Test".to_string());
assert_eq!(decoded_data.params, None);
assert_eq!(decoded_data.object_id, None);
assert_eq!(decoded_data.token, None);
}