def test_tag_magic(self): tag = Tag(1, ttype = 'type') self.assertEqual(tag, Tag(1, 'type')) self.assertNotEqual(tag, 1) tag.ttype = None self.assertEqual(tag, 1) self.assertTrue(1 == tag) self.assertFalse(1 != tag) self.assertTrue(2 != tag) self.assertTrue(tag in (1, 2, 3)) self.assertTrue(1 in (tag, 2, 3)) self.assertEqual(str(tag), '1') tag.ttype = 'type' self.assertEqual(str(tag), 'type:1')
def test_tag_property(self): tag = Tag('value', ttype = 'type') self.assertTrue(tag.typed) tag.value = 1 tag.ttype = None self.assertTrue(tag.value == 1 and tag.ttype is None) self.assertFalse(tag.typed) def _assign_type(t): tag.ttype = t self.assertRaises(KeyError, lambda: _assign_type('None'))