use futures_sink::Sink;
pub use crate::assert_unmoved::AssertUnmoved;
pub use crate::interleave_pending::InterleavePending;
pub use crate::track_closed::TrackClosed;
pub trait SinkTestExt<Item>: Sink<Item> {
fn assert_unmoved_sink(self) -> AssertUnmoved<Self>
where
Self: Sized,
{
AssertUnmoved::new(self)
}
fn interleave_pending_sink(self) -> InterleavePending<Self>
where
Self: Sized,
{
InterleavePending::new(self)
}
fn track_closed(self) -> TrackClosed<Self>
where
Self: Sized,
{
TrackClosed::new(self)
}
}
impl<Item, W> SinkTestExt<Item> for W where W: Sink<Item> {}