40 lines
1.5 KiB
Rust
40 lines
1.5 KiB
Rust
|
#[cfg(feature = "async")]
|
||
|
use flume::*;
|
||
|
|
||
|
#[cfg(feature = "async")]
|
||
|
#[async_std::test]
|
||
|
async fn sender() {
|
||
|
let (sender, receiver) = bounded(1);
|
||
|
|
||
|
let sender_fut = sender.send_async(());
|
||
|
assert_eq!(sender.is_disconnected(), sender_fut.is_disconnected());
|
||
|
assert_eq!(sender.is_empty(), sender_fut.is_empty());
|
||
|
assert_eq!(sender.is_full(), sender_fut.is_full());
|
||
|
assert_eq!(sender.len(), sender_fut.len());
|
||
|
assert_eq!(sender.capacity(), sender_fut.capacity());
|
||
|
|
||
|
let sender_sink = sender.sink();
|
||
|
assert_eq!(sender.is_disconnected(), sender_sink.is_disconnected());
|
||
|
assert_eq!(sender.is_empty(), sender_sink.is_empty());
|
||
|
assert_eq!(sender.is_full(), sender_sink.is_full());
|
||
|
assert_eq!(sender.len(), sender_sink.len());
|
||
|
assert_eq!(sender.capacity(), sender_sink.capacity());
|
||
|
|
||
|
let receiver_fut = receiver.recv_async();
|
||
|
assert_eq!(receiver.is_disconnected(), receiver_fut.is_disconnected());
|
||
|
assert_eq!(receiver.is_empty(), receiver_fut.is_empty());
|
||
|
assert_eq!(receiver.is_full(), receiver_fut.is_full());
|
||
|
assert_eq!(receiver.len(), receiver_fut.len());
|
||
|
assert_eq!(receiver.capacity(), receiver_fut.capacity());
|
||
|
|
||
|
let receiver_stream = receiver.stream();
|
||
|
assert_eq!(
|
||
|
receiver.is_disconnected(),
|
||
|
receiver_stream.is_disconnected()
|
||
|
);
|
||
|
assert_eq!(receiver.is_empty(), receiver_stream.is_empty());
|
||
|
assert_eq!(receiver.is_full(), receiver_stream.is_full());
|
||
|
assert_eq!(receiver.len(), receiver_stream.len());
|
||
|
assert_eq!(receiver.capacity(), receiver_stream.capacity());
|
||
|
}
|