예제 #1
0
 def test_get(self):
     """
     Getting an enumeration item by value returns the relevant `EnumItem`
     instance or raises `InvalidEnumItem` in the case where no item is
     represented by the given value.
     """
     object1, object2, object3 = object(), object(), object()
     values = object_enum_values_fixture(object1, object2, object3)
     enum = ObjectEnum('doc', values)
     self.assertThat(
         values,
         Equals([enum.get(e.value) for e in values]))
     self.assertThat(
         lambda: enum.get(u'DOES_NOT_EXIST'),
         raises(InvalidEnumItem))
예제 #2
0
 def test_extra(self):
     """
     Extra parameters are retrieved by `EnumItem.get` if they exist
     otherwise a default value is returned instead.
     """
     object1, object2, object3 = object(), object(), object()
     values = object_enum_values_fixture(object1, object2, object3)
     enum = ObjectEnum('doc', values)
     self.assertThat(
         enum.get(object1).get('quux'),
         Equals(u'hello'))
     self.assertThat(
         enum.get(object1).get('frob'),
         Equals(u'world'))
     self.assertThat(
         enum.get(object2).get('quux'),
         Equals(u'goodbye'))
     self.assertThat(
         enum.get(object2).get('boop'),
         Is(None))
     self.assertThat(
         enum.get(object2).get('beep', 42),
         Equals(42))