pub trait IteratorSatisfiesAssertion<T> {
// Required method
fn satisfies_respectively(&self, asserter: Vec<Box<dyn Fn(&T)>>);
}Required Methods§
Sourcefn satisfies_respectively(&self, asserter: Vec<Box<dyn Fn(&T)>>)
fn satisfies_respectively(&self, asserter: Vec<Box<dyn Fn(&T)>>)
Checks if the elements of the iterators satisfies the specified assertions
§Examples
#[derive(Clone)]
struct Person {
name: String,
age: i32,
}
#[test]
fn iterator_assertion_for_struct() {
let people: Vec<Person> = vec![
Person {
name: String::from("Daniel"),
age: 32,
},
Person {
name: String::from("Jimmy"),
age: 45,
},
];
assert_that!(people).satisfies_respectively(with_asserters!(
|person1: &Person| {
assert_that!(&person1.name).is_equal_to(&String::from("Daniel"));
assert_that!(&person1.age).is_equal_to(&32);
},
|person2: &Person| {
assert_that!(&person2.name).is_equal_to(&String::from("Jimmy"));
assert_that!(&person2.age).is_equal_to(&45);
}
));
}