def testReadOnly(self): #{{{ '''Cannot write to enum''' a = enum('abcdefg') self.assertRaisesEx(AttributeError, setattr, a, 'a', 200) self.assertRaisesEx(AttributeError, setattr, a.n, 'a', 200)
def testHashable(self): #{{{ '''Enums are hashable''' a = enum('abcdefg') self.assertTrue(hash(a))
def testStartValue(self): #{{{ '''Can change default start value''' a = enum('abcdefg', start=10) self.assertEqual(set(a.values()), set(xrange(10, 17)))
def testManualValue(self): #{{{ '''Explicitly setting a value will increment from there''' a = enum(['a', 'b', 'c', ('d', 100), 'e', 'f', 'g']) self.assertEquals(set(a.iteritems()), set([('a', 0), ('b', 1), ('c', 2), ('d', 100), ('e', 101), ('f', 102), ('g', 103)]))
def testIntLong(self): #{{{ '''Any integer or long type is accepted for a value''' enum([('red',1), ('blue', 2)]) enum([('red',1L), ('blue', 2L)]) self.assertTrue(True)