Struct Checker

Source
pub struct Checker<'a> { /* private fields */ }
Expand description

Captures expectations about the execution of a command and validates them.

Implementations§

Source§

impl<'a> Checker<'a>

Source

pub fn expect_ok(self, stop_reason: StopReason) -> Self

Expects the invocation to have successfully terminated with the given stop_reason.

If not called, defaults to expecting that execution terminated due to EOF. This or expect_err can only be called once.

Source

pub fn expect_compilation_err<S: Into<String>>(self, message: S) -> Self

Expects the invocation to have erroneously terminated with the exact message during compilation.

If not called, defaults to expecting that execution terminated due to EOF. This or expect_err can only be called once.

Source

pub fn expect_err<S: Into<String>>(self, message: S) -> Self

Expects the invocation to have erroneously terminated with the exact message.

If not called, defaults to expecting that execution terminated due to EOF. This or expect_err can only be called once.

Source

pub fn expect_array<S: AsRef<str>>( self, name: S, subtype: ExprType, dimensions: &[usize], contents: Vec<(&[i32], Value)>, ) -> Self

Adds the name array as an array to expect in the final state of the machine. The array will be tested to have the same subtype and dimensions, as well as specific contents. The contents are provided as a collection of subscripts/value pairs to assign to the expected array.

Source

pub fn expect_array_simple<S: AsRef<str>>( self, name: S, subtype: ExprType, contents: Vec<Value>, ) -> Self

Adds the name array as an array to expect in the final state of the machine. The array will be tested to have the same subtype and only one dimension with contents.

Source

pub fn expect_clear(self) -> Self

Adds tracking for all the side-effects of a clear operation on the machine.

Source

pub fn expect_file<N: Into<String>, C: Into<String>>( self, name: N, content: C, ) -> Self

Adds a file to expect in the drive with a name and specific content.

name must be the absolute path to the file that is expected, including the drive name.

Source

pub fn expect_output<V: Into<Vec<CapturedOut>>>(self, out: V) -> Self

Adds the out sequence of captured outputs to the expected outputs of the execution.

Source

pub fn expect_prints<S: Into<String>, V: Into<Vec<S>>>(self, out: V) -> Self

Adds the out sequence of strings to the expected outputs of the execution.

This is a convenience function around expect_output that wraps all incoming strings in CapturedOut::Print objects, as these are the most common outputs in tests.

Source

pub fn expect_program<S1: Into<String>, S2: Into<String>>( self, name: Option<S1>, text: S2, ) -> Self

Sets the expected name of the stored program to name and its contents to text. Can only be called once and text must not be empty.

Source

pub fn expect_var<S: AsRef<str>, V: Into<Value>>( self, name: S, value: V, ) -> Self

Adds the name/value pair as a variable to expect in the final state of the machine.

Source

pub fn take_captured_out(&mut self) -> Vec<CapturedOut>

Takes the captured output for separate analysis.

Source

pub fn check(self)

Validates all expectations.

Auto Trait Implementations§

§

impl<'a> Freeze for Checker<'a>

§

impl<'a> !RefUnwindSafe for Checker<'a>

§

impl<'a> !Send for Checker<'a>

§

impl<'a> !Sync for Checker<'a>

§

impl<'a> Unpin for Checker<'a>

§

impl<'a> !UnwindSafe for Checker<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V