Beispiel #1
0
 def test_find(self):
     """
     Finding an enumeration item by extra value gets the first matching item
     or ``None`` if there are no matches.
     """
     values = enum_values_fixture()
     enum = Enum('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))
Beispiel #2
0
 def test_find_invalid_usage(self):
     """
     Passing fewer or more than one query raises `ValueError`.
     """
     enum = Enum('doc', [])
     self.assertThat(enum.find, raises(ValueError))
     self.assertThat(
         lambda: enum.find(foo=u'a', bar=u'b'),
         raises(ValueError))