Struct rust_uart::mock::ReadStruct
source · [−]pub struct ReadStruct { /* private fields */ }
Expand description
Structure containing the output data or result to return when the MockStream’s read function is called
Implementations
sourceimpl ReadStruct
impl ReadStruct
sourcepub fn set_result(&mut self, result: UartResult<Vec<u8>>)
pub fn set_result(&mut self, result: UartResult<Vec<u8>>)
Set the result to be returned for any read() calls
Note: This will be ignored if set_output is also used
Arguments
- result - The UartResult to return in future read() calls
Examples
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
);
}
sourcepub fn set_output(&mut self, output: Vec<u8>)
pub fn set_output(&mut self, output: Vec<u8>)
Set the output data
Arguments
- output - The output buffer which future read() calls should retrieve data from
Examples
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]
);
}
Auto Trait Implementations
impl !RefUnwindSafe for ReadStruct
impl Send for ReadStruct
impl !Sync for ReadStruct
impl Unpin for ReadStruct
impl UnwindSafe for ReadStruct
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more