def test_from_pairs(self): """ Construct an enumeration from an iterable of pairs. """ pairs = [ (u'foo', u'Foo'), (u'bar', u'Bar')] enum = Enum.from_pairs('doc', pairs) self.assertThat(enum.doc, Equals('doc')) self.assertThat(enum.as_pairs(), Equals(pairs))
def test_duplicate_values(self): """ Constructing an enumeration with duplicate values results in `ValueError` being raised. """ values = [ EnumItem(u'foo', u'Foo'), EnumItem(u'bar', u'Bar'), EnumItem(u'foo', u'Not Foo', quux=u'frob')] self.assertThat( lambda: Enum('doc', values), raises(ValueError)) pairs = [(e.value, e.desc) for e in values] self.assertThat( lambda: Enum.from_pairs('doc', pairs), raises(ValueError))