def test_find_all(self): """ Finding all enumeration items by extra value gets an iterable of all matching items. Passing fewer or more than one query raises `ValueError`. """ object1, object2, object3 = object(), object(), object() values = object_enum_values_fixture(object1, object2, object3) enum = ObjectEnum('doc', values) results = list(enum.find_all(frob=u'world')) self.assertThat( results, Equals([values[0], values[2]])) self.assertThat( enum.find_all(asdf=u'qwer'), After(list, Equals([])))