def test_clear(self): md = Metadata() md.extend([Meta(id='meta1'), Meta(id='meta2'), Meta(id='meta3')]) self.assertEqual(len(md), 3) md.clear() self.assertEqual(len(md), 0) self.assertIs(md.get(0), None) self.assertIs(md.get('meta1'), None)
def test_clear(self): md = Metadata() md.extend([Meta(id='meta1'), Meta(id='meta2'), Meta(id='meta3')]) assert len(md) == 3 md.clear() assert len(md) == 0 assert md.get(0) is None assert md.get('meta1') is None
class TestMetadata(unittest.TestCase): def setUp(self): self.md1 = Metadata() self.md2 = Metadata( id='md2', type='basic', attributes={'attr':'val'}, metas=[Meta(id='meta1', text='meta')] ) def test_init(self): self.assertRaises(ValueError, Metadata, id='1') # invalid id def test_id(self): self.assertIs(self.md1.id, None) self.assertIs(self.md2.id, 'md2') def test_type(self): self.assertIs(self.md1.type, None) self.assertEqual(self.md2.type, 'basic') def test_metas(self): self.assertEqual(self.md1.metas, []) self.assertEqual(len(self.md2.metas), 1) self.assertEqual(self.md2[0].text, 'meta') def test_attributes(self): self.assertEqual(self.md1.attributes, dict()) self.assertEqual(self.md2.attributes, {'attr':'val'}) def test_get(self): self.assertIs(self.md1.get(0), None) self.assertIs(self.md1.get('meta1'), None) self.assertEqual(self.md1.get('meta1', default=1), 1) self.assertEqual(self.md2.get(0).id, 'meta1') self.assertIs(self.md2.get(1), None) self.assertEqual(self.md2.get('meta1').id, 'meta1') self.assertEqual( self.md2.get('meta1', default=Meta(id='meta2')).id, 'meta1' ) def test_append(self): md = Metadata() self.assertRaises(XigtStructureError, md.append, Item()) self.assertRaises(XigtStructureError, md.append, Tier()) self.assertRaises(XigtStructureError, md.append, Igt()) self.assertRaises(XigtStructureError, md.append, XigtCorpus()) self.assertRaises(XigtStructureError, md.append, Metadata()) self.assertEqual(len(md), 0) md.append(Meta(id='meta1')) self.assertEqual(len(md), 1) self.assertRaises(XigtError, md.append, Meta(id='meta1')) md.append(Meta(id='meta2')) self.assertEqual(len(md), 2) self.assertEqual(md[0].id, 'meta1') self.assertEqual(md[1].id, 'meta2') def test_insert(self): md = Metadata() self.assertEqual(len(md), 0) md.insert(0, Meta(id='meta1')) self.assertEqual(len(md), 1) self.assertRaises(XigtError, md.insert, 0, Meta(id='meta1')) md.insert(0, Meta(id='meta2')) md.insert(100, Meta(id='meta3')) self.assertEqual(len(md), 3) self.assertEqual(md[0].id, 'meta2') self.assertEqual(md[1].id, 'meta1') self.assertEqual(md[2].id, 'meta3') def test_extend(self): md = Metadata() self.assertEqual(len(md), 0) md.extend([Meta(id='meta1')]) self.assertEqual(len(md), 1) md.extend([]) self.assertEqual(len(md), 1) md.extend([Meta(id='meta2'), Meta(id='meta3')]) self.assertEqual(len(md), 3) self.assertEqual(md[0].id, 'meta1') self.assertEqual(md[1].id, 'meta2') self.assertEqual(md[2].id, 'meta3') def test_clear(self): md = Metadata() md.extend([Meta(id='meta1'), Meta(id='meta2'), Meta(id='meta3')]) self.assertEqual(len(md), 3) md.clear() self.assertEqual(len(md), 0) self.assertIs(md.get(0), None) self.assertIs(md.get('meta1'), None) def test_get_attribute(self): md = Metadata( attributes={'one': 1, 'two': 2, '{http://namespace.org}three': 4}, nsmap={'pre': 'http://namespace.org'} ) igt = Igt(metadata=[md], attributes={'three': 3}) self.assertEqual(md.get_attribute('one'), 1) self.assertEqual(md.get_attribute('two'), 2) self.assertIs(md.get_attribute('three'), None) self.assertEqual( md.get_attribute('three', namespace='http://namespace.org'), 4 ) self.assertEqual( md.get_attribute('three', namespace='pre'), 4 ) self.assertEqual(md.get_attribute('three', inherit=True), 3) self.assertEqual( md.get_attribute('three', namespace='pre', inherit=True), 4 ) self.assertEqual(md.get_attribute('three', default=5), 5)