use mockiato::mockable;
use std::fmt::Debug;
#[mockable]
trait Greeter: Debug {
fn greet_person(&self, person: &Person) -> String;
}
#[derive(Debug, PartialEq)]
struct Person {
name: String,
age: u8,
}
fn main() {
let person = Person {
name: String::from("Name"),
age: 30,
};
let mut greeter = GreeterMock::new();
greeter
.expect_greet_person(|arg| arg.partial_eq(&person))
.times(1)
.returns(String::from("Hello Name"));
greeter.greet_person(&person);
println!("{:#?}", greeter);
}