def test_metadata_enums(self) -> None: meta = gen_metadata(testing.metadata) enumName = "testing.Perm" self.assertIsNotNone(meta) permEnum = meta.enums[enumName] self.assertEqual(permEnum.name, enumName) self.assertEqual(permEnum.elements[1], "execute") self.assertEqual(permEnum.elements[4], "read") self.assertEqual(len(permEnum.elements), 3) self.assertEqual(permEnum, gen_metadata(Perm)) self.assertEqual(permEnum, gen_metadata(Perm(1)))
def test_combo_repr(self) -> None: x = Perm(7) self.assertEqual("<Perm.read|write|execute: 7>", repr(x))
def test_combo_in_call(self) -> None: x = Perm(7) self.assertIs(x, Perm.read | Perm.write | Perm.execute)
def test_invert(self) -> None: x = Perm(-2) self.assertIs(x, Perm.read | Perm.write)
def test_is(self) -> None: allp = Perm(7) self.assertIs(allp, Perm(7))
def test_combination(self) -> None: combo = Perm(Perm.read.value | Perm.execute.value) self.assertNotIn(combo, Perm) self.assertIsInstance(combo, Perm) self.assertIs(combo, Perm.read | Perm.execute)
def test_zero(self) -> None: zero = Perm(0) self.assertNotIn(zero, Perm) self.assertIsInstance(zero, Perm)