#![warn(rust_2018_idioms)] use tokio::io::{AsyncReadExt, AsyncWriteExt}; use tokio_test::io::Builder; #[tokio::test] async fn read() { let mut mock = Builder::new().read(b"hello ").read(b"world!").build(); let mut buf = [0; 256]; let n = mock.read(&mut buf).await.expect("read 1"); assert_eq!(&buf[..n], b"hello "); let n = mock.read(&mut buf).await.expect("read 2"); assert_eq!(&buf[..n], b"world!"); } #[tokio::test] async fn write() { let mut mock = Builder::new().write(b"hello ").write(b"world!").build(); mock.write_all(b"hello ").await.expect("write 1"); mock.write_all(b"world!").await.expect("write 2"); }