use ach_spsc::heapless::Spsc;
use on_drop::OnDrop;
#[test]
fn test() {
let spsc: Spsc<_, 3> = Spsc::new();
let mut sender = spsc.take_sender().unwrap();
let mut receiver = spsc.take_recver().unwrap();
let (item, token) = OnDrop::token(1);
assert!(sender.try_send(item).is_ok());
drop(receiver.try_recv().unwrap());
assert!(token.is_droped());
let (item, token) = OnDrop::token(1);
assert!(sender.try_send(item).is_ok());
drop(sender);
drop(receiver);
drop(spsc);
assert!(token.is_droped());
}