use crate::{ connection::stream::{self, uudl::*, Chunk}, enc::Random, }; #[::tracing_test::traced_test] #[test] fn test_stream_uudl_sequential() { let rand = Random::new(); let mut uudl = UnreliableUnorderedDatagramLimited::new(); let mut data = Vec::with_capacity(1024); data.resize(data.capacity(), 0); rand.fill(&mut data[..]); //let start = uudl.window_start.0; let start = Sequence( ::core::num::Wrapping(0) ); let chunk = Chunk { id: stream::ID(42), flag_start: true, flag_end: true, sequence: start, data: &data[..512], }; let got = uudl.get().1; assert!(&got[..] == &[], "uudl: got data?"); let _ = uudl.recv(chunk); let got = uudl.get().1; assert!( &data[..512] == &got[..], "UUDL1: DIFF: {:?} {:?}", &data[..512].len(), &got[..].len() ); let chunk = Chunk { id: stream::ID(42), flag_start: true, flag_end: true, sequence: start + 512, data: &data[512..], }; let _ = uudl.recv(chunk); let got = uudl.get().1; assert!( &data[512..] == &got[..], "UUDL2: DIFF: {:?} {:?}", &data[512..].len(), &got[..].len() ); let got = uudl.get().1; assert!(&got[..] == &[], "uudl: got data?"); }