mock

Macro mock 

Source
mock!() { /* proc-macro */ }
Expand description

Creates a mock.

ยงExamples

use ridicule::mock;

trait Foo
{
    fn bar<A, B>(&self, a: A) -> B;
}

mock! {
    MockFoo {}

    impl Foo for MockFoo
    {
        fn bar<A, B>(&self, a: A) -> B;
    }
}

fn main()
{
    let mut mock_foo = MockFoo::new();

    unsafe {
        mock_foo
            .expect_bar()
            .returning(|foo, a: u32| format!("Hello {a}"));
    }

    assert_eq!(mock_foo.bar::<u32, String>(123), "Hello 123");
}