[][src]Struct mai400_api::mock::WriteStruct

pub struct WriteStruct { /* fields omitted */ }

Structure containing the input data to verify and/or result to return when the MockStream's write function is called

Methods

impl WriteStruct[src]

pub fn set_result(&mut self, result: Result<(), UartError>)[src]

Set the result to be returned for any write() calls

Note: This will be ignored if set_input is also used

Arguments

  • result - The UartResult to return in future write() calls

Examples

use rust_uart::*;
use rust_uart::mock::*;

fn test_write_error() {
    let mut mock = MockStream::default();

    mock.write
        .set_result(Err(UartError::GenericError.into()));

    let connection = Connection {
        stream: Box::new(mock),
    };

    let packet: [u8; 40] = [0; 40];

    assert_eq!(
        connection.write(&packet).unwrap_err(),
        UartError::GenericError
    );
}

pub fn set_input(&mut self, input: Vec<u8>)[src]

Set the input to validate for any write() calls

Arguments

  • input - The input data expected from write() calls

Examples

use rust_uart::*;
use rust_uart::mock::*;

fn test_write_good() {
    let mut mock = MockStream::default();

    mock.write.set_input(vec![0, 1, 2, 3]);

    let connection = Connection {
        stream: Box::new(mock),
    };

    let packet: [u8; 4] = [0, 1, 2, 3];

    assert_eq!(connection.write(&packet), Ok(()));
}

Auto Trait Implementations

impl Send for WriteStruct

impl Unpin for WriteStruct

impl !Sync for WriteStruct

impl UnwindSafe for WriteStruct

impl !RefUnwindSafe for WriteStruct

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]