use super::Rb; use crate::{ storage::{Array, Slice}, traits::*, }; #[cfg(feature = "alloc")] use alloc::boxed::Box; #[test] fn capacity() { const CAP: usize = 13; let mut rb = Rb::>::default(); let urb = &mut rb as &mut Rb>; assert_eq!(urb.capacity().get(), CAP); } #[test] fn push_pop() { let mut rb = Rb::>::default(); let urb = &mut rb as &mut Rb>; let (mut prod, mut cons) = urb.split_ref(); assert_eq!(prod.try_push(123), Ok(())); assert_eq!(prod.try_push(321), Err(321)); assert_eq!(cons.try_pop(), Some(123)); assert_eq!(cons.try_pop(), None); } #[cfg(feature = "alloc")] #[test] fn split() { let rb = Rb::>::default(); let urb = Box::new(rb) as Box>>; let (mut prod, mut cons) = urb.split(); assert_eq!(prod.try_push(123), Ok(())); assert_eq!(prod.try_push(321), Err(321)); assert_eq!(cons.try_pop(), Some(123)); assert_eq!(cons.try_pop(), None); }