def test_find(self): """ Finding an enumeration item by extra value gets the first matching item or ``None`` if there are no matches. """ object1, object2, object3 = object(), object(), object() values = object_enum_values_fixture(object1, object2, object3) enum = ObjectEnum('doc', values) self.assertThat(enum.find(quux=u'hello'), Is(values[0])) self.assertThat(enum.find(frob=u'world'), Is(values[0])) self.assertThat(enum.find(quux=u'goodbye'), Is(values[1])) self.assertThat(enum.find(haha=u'nothanks'), Is(None))