Beispiel #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.
     """
     values = enum_values_fixture()
     enum = Enum('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))
Beispiel #2
0
 def test_extra(self):
     """
     Extra parameters are retrieved by `EnumItem.get` if they exist
     otherwise a default value is returned instead.
     """
     enum = Enum('doc', enum_values_fixture())
     self.assertThat(
         enum.get(u'foo').get('quux'),
         Equals(u'hello'))
     self.assertThat(
         enum.get(u'foo').get('frob'),
         Equals(u'world'))
     self.assertThat(
         enum.get(u'bar').get('quux'),
         Equals(u'goodbye'))
     self.assertThat(
         enum.get(u'bar').get('boop'),
         Is(None))
     self.assertThat(
         enum.get(u'bar').get('beep', 42),
         Equals(42))
Beispiel #3
0
 def test_hidden(self):
     """
     Enumeration items that have their ``hidden`` flag set are not listed in
     the result of `Enum.as_pairs`.
     """
     values = [
         EnumItem(u'foo', u'Foo', hidden=True),
         EnumItem(u'bar', u'Bar'),
         EnumItem(u'pop', u'Pop')]
     enum = Enum('doc', values)
     enum.get(u'pop').hidden = True
     pairs = enum.as_pairs()
     self.assertThat(pairs, Equals([(u'bar', u'Bar')]))