use mockiato::mockable;
#[mockable]
trait Greeter {
fn greet(&self, name: &str) -> String;
}
#[test]
fn cloneable_mocks_work() {
let mut greeter = GreeterMock::new();
greeter
.expect_greet(|arg| arg.partial_eq("Tom"))
.times(2)
.returns(String::from("Hello Tom"));
greeter
.expect_greet(|arg| arg.partial_eq(String::from("Peter")))
.returns(String::from("Hello Peter"));
assert_eq!("Hello Tom", greeter.greet("Tom"));
assert_eq!("Hello Tom", greeter.greet("Tom"));
assert_eq!("Hello Peter", greeter.greet("Peter"));
}