class TestMeta(unittest.TestCase): def setUp(self): self.m1 = Meta() self.m2 = Meta( id='meta1', type='metatype', attributes={'one': 1}, text='metatext', children=[MetaChild('child1'), MetaChild('child2')] ) def test_init(self): self.assertRaises(ValueError, Meta, id='1') # invalid id def test_id(self): self.assertIs(self.m1.id, None) self.assertEqual(self.m2.id, 'meta1') def test_type(self): self.assertIs(self.m1.type, None) self.assertEqual(self.m2.type, 'metatype') def test_attributes(self): self.assertEqual(self.m1.attributes, dict()) self.assertEqual(self.m2.attributes, {'one': 1}) def test_get_attribute(self): self.assertIs(self.m1.get_attribute('attr'), None) self.assertEqual(self.m1.get_attribute('attr', 1), 1) self.assertEqual(self.m2.get_attribute('one'), 1) self.assertIs(self.m2.get_attribute('two'), None) m = Meta(attributes={'one': 1}) md = Metadata( attributes={'two': 2}, metas=[m] ) self.assertEqual(m.get_attribute('two', inherit=True), 2) def test_text(self): self.assertIs(self.m1.text, None) self.assertEqual(self.m2.text, 'metatext') def test_children(self): self.assertEqual(self.m1.children, []) self.assertEqual(len(self.m2.children), 2) self.assertEqual(self.m2.children[0].name, 'child1') self.assertEqual(self.m2.children[1].name, 'child2')
def test_get_attribute(self): self.assertIs(self.m1.get_attribute('attr'), None) self.assertEqual(self.m1.get_attribute('attr', 1), 1) self.assertEqual(self.m2.get_attribute('one'), 1) self.assertIs(self.m2.get_attribute('two'), None) m = Meta(attributes={'one': 1}) md = Metadata( attributes={'two': 2}, metas=[m] ) self.assertEqual(m.get_attribute('two', inherit=True), 2)
def test_get_attribute(self): assert self.m1.get_attribute('attr') is None assert self.m1.get_attribute('attr', 1) == 1 assert self.m2.get_attribute('one') == 1 assert self.m2.get_attribute('two') is None m = Meta(attributes={'one': 1}) md = Metadata( attributes={'two': 2}, metas=[m] ) assert m.get_attribute('two', inherit=True) == 2