mockiato 0.9.6

A strict, yet friendly mocking library for Rust 2018
Documentation
use mockiato::mockable;

#[mockable]
trait Foo {
    fn bar(&self) -> bool;
}

#[test]
fn sequential_calls() {
    let mut mock = FooMock::new();

    mock.expect_bar().returns(true);
    mock.expect_bar().returns(false);
    mock.expect_bar().returns(true);
    mock.expect_bar_calls_in_order();

    assert!(mock.bar());
    assert!(!mock.bar());
    assert!(mock.bar());
}

#[test]
fn sequential_calls_work_with_expected_call_amount_with_no_upper_limit() {
    let mut mock = FooMock::new();

    mock.expect_bar_calls_in_order();
    mock.expect_bar().returns(true).times(3..);

    for _ in 0..3 {
        assert!(mock.bar());
    }
}