pub struct ReadStruct { /* fields omitted */ }
Structure containing the output data or result to return
when the MockStream's read function is called
Set the result to be returned for any read() calls
Note: This will be ignored if set_output is also used
- result - The UartResult to return in future read() calls
use rust_uart::*;
use rust_uart::mock::*;
use std::time::Duration;
fn test_read_error_io() {
let mut mock = MockStream::default();
mock.read
.set_result(Err(UartError::GenericError.into()));
let connection = Connection {
stream: Box::new(mock),
};
assert_eq!(
connection.read(5, Duration::new(0, 0)).unwrap_err(),
UartError::GenericError
);
}
Set the output data
- output - The output buffer which future read() calls should
retrieve data from
use rust_uart::*;
use rust_uart::mock::*;
use std::time::Duration;
fn test_read_good_multi() {
let mut mock = MockStream::default();
let expected = vec![0, 1, 2, 3, 4, 5];
mock.read.set_output(expected.clone());
let connection = Connection {
stream: Box::new(mock),
};
assert_eq!(
connection.read(3, Duration::new(0, 0)).unwrap(),
vec![0, 1, 2]
);
assert_eq!(
connection.read(3, Duration::new(0, 0)).unwrap(),
vec![3, 4, 5]
);
}