1 use super::*; 2 3 #[test] 4 fn test_opus_unmarshal() -> Result<()> { 5 let mut pck = OpusPacket::default(); 6 7 // Empty packet 8 let empty_bytes = Bytes::from_static(&[]); 9 let result = pck.depacketize(&empty_bytes); 10 assert!(result.is_err(), "Result should be err in case of error"); 11 12 // Normal packet 13 let raw_bytes = Bytes::from_static(&[0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x90]); 14 let payload = pck.depacketize(&raw_bytes)?; 15 assert_eq!(&raw_bytes, &payload, "Payload must be same"); 16 17 Ok(()) 18 } 19 20 #[test] 21 fn test_opus_payload() -> Result<()> { 22 let mut pck = OpusPayloader::default(); 23 let empty = Bytes::from_static(&[]); 24 let payload = Bytes::from_static(&[0x90, 0x90, 0x90]); 25 26 // Positive MTU, empty payload 27 let result = pck.payload(1, &empty)?; 28 assert!(result.is_empty(), "Generated payload should be empty"); 29 30 // Positive MTU, small payload 31 let result = pck.payload(1, &payload)?; 32 assert_eq!(result.len(), 1, "Generated payload should be the 1"); 33 34 // Positive MTU, small payload 35 let result = pck.payload(2, &payload)?; 36 assert_eq!(result.len(), 1, "Generated payload should be the 1"); 37 38 Ok(()) 39 } 40 41 #[test] 42 fn test_opus_is_partition_head() -> Result<()> { 43 let opus = OpusPacket::default(); 44 //"NormalPacket" 45 assert!( 46 opus.is_partition_head(&Bytes::from_static(&[0x00, 0x00])), 47 "All OPUS RTP packet should be the head of a new partition" 48 ); 49 50 Ok(()) 51 } 52