IteratorSatisfiesAssertion

Trait IteratorSatisfiesAssertion 

Source
pub trait IteratorSatisfiesAssertion<T> {
    // Required method
    fn satisfies_respectively(&self, asserter: Vec<Box<dyn Fn(&T)>>);
}

Required Methods§

Source

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);
            }
        ));
}

Implementors§

Source§

impl<T, K> IteratorSatisfiesAssertion<T> for Asserter<K>
where K: IntoIterator<Item = T> + Clone,