def test_clear(self): igt = Igt() igt.extend([Tier(id='t'), Tier(id='x'), Tier(id='y')]) self.assertEqual(len(igt), 3) igt.clear() self.assertEqual(len(igt), 0) self.assertIs(igt.get(0), None) self.assertIs(igt.get('t'), None)
def test_clear(self): igt = Igt() igt.extend([Tier(id='t'), Tier(id='x'), Tier(id='y')]) assert len(igt) == 3 igt.clear() assert len(igt) == 0 assert igt.get(0) is None assert igt.get('t') is None
class TestIgt(unittest.TestCase): def setUp(self): self.i1 = Igt() self.i2 = Igt( id='i1', type='basic', attributes={'attr':'val'}, metadata=[Metadata(type='meta', metas=[Meta(text='meta')])], tiers=[Tier(id='a', items=[Item(id='a1'), Item(id='a2')]), Tier(id='b', items=[Item(id='b1'), Item(id='b2')])] ) def test_init(self): self.assertRaises(ValueError, Igt, id='1') # invalid id # don't allow multiple tiers with the same ID self.assertRaises(XigtError, Igt, tiers=[Tier(id='a'), Tier(id='a')]) def test_id(self): self.assertIs(self.i1.id, None) self.assertEqual(self.i2.id, 'i1') def test_type(self): self.assertIs(self.i1.type, None) self.assertEqual(self.i2.type, 'basic') def test_tiers(self): self.assertEqual(len(self.i1.tiers), 0) self.assertEqual(len(self.i2.tiers), 2) # contained Tiers should now have their igt specified for t in self.i2.tiers: self.assertIs(t.igt, self.i2) def test_parents(self): self.assertIs(self.i1.corpus, None) self.assertIs(self.i2.corpus, None) def test_metadata(self): self.assertEqual(len(self.i1.metadata), 0) self.assertEqual(self.i2.metadata[0].type, 'meta') self.assertEqual(len(self.i2.metadata[0].metas), 1) self.assertEqual(self.i2.metadata[0][0].text, 'meta') def test_attributes(self): self.assertEqual(self.i1.attributes, dict()) self.assertEqual(self.i2.attributes, {'attr':'val'}) def test_get(self): self.assertIs(self.i1.get(0), None) self.assertIs(self.i1.get('t'), None) self.assertEqual(self.i1.get('t', default=1), 1) self.assertEqual(self.i2.get(0).id, 'a') self.assertIs(self.i2.get(3), None) self.assertEqual(self.i2.get('a').id, 'a') self.assertEqual( self.i2.get('a', default=Tier(id='x')).id, 'a' ) def test_get_item(self): self.assertIs(self.i1.get_item('a'), None) self.assertIs(self.i1.get_item('a1'), None) self.assertIs(self.i2.get_item('a'), None) self.assertEqual(self.i2.get_item('a1').id, 'a1') self.assertEqual(self.i2.get_item('b2').id, 'b2') def test_get_any(self): self.assertIs(self.i1.get_any('a'), None) self.assertIs(self.i1.get_any('a1'), None) self.assertIs(self.i2.get_any('a').id, 'a') self.assertEqual(self.i2.get_any('a1').id, 'a1') self.assertEqual(self.i2.get_any('b2').id, 'b2') def test_append(self): igt = Igt() self.assertRaises(XigtStructureError, igt.append, Item()) self.assertRaises(XigtStructureError, igt.append, Igt()) self.assertRaises(XigtStructureError, igt.append, XigtCorpus()) self.assertRaises(XigtStructureError, igt.append, Metadata()) self.assertRaises(XigtStructureError, igt.append, Meta()) self.assertEqual(len(igt), 0) igt.append(Tier(id='t')) self.assertEqual(len(igt), 1) self.assertRaises(XigtError, igt.append, Tier(id='t')) igt.append(Tier(id='x')) self.assertEqual(len(igt), 2) self.assertEqual(igt[0].id, 't') self.assertEqual(igt[1].id, 'x') def test_insert(self): igt = Igt() self.assertEqual(len(igt), 0) igt.insert(0, Tier(id='t')) self.assertEqual(len(igt), 1) self.assertRaises(XigtError, igt.insert, 0, Tier(id='t')) igt.insert(0, Tier(id='x')) igt.insert(100, Tier(id='y')) self.assertEqual(len(igt), 3) self.assertEqual(igt[0].id, 'x') self.assertEqual(igt[1].id, 't') self.assertEqual(igt[2].id, 'y') def test_extend(self): igt = Igt() self.assertEqual(len(igt), 0) igt.extend([Tier(id='t')]) self.assertEqual(len(igt), 1) igt.extend([]) self.assertEqual(len(igt), 1) igt.extend([Tier(id='x'), Tier(id='y')]) self.assertEqual(len(igt), 3) self.assertEqual(igt[0].id, 't') self.assertEqual(igt[1].id, 'x') self.assertEqual(igt[2].id, 'y') def test_clear(self): igt = Igt() igt.extend([Tier(id='t'), Tier(id='x'), Tier(id='y')]) self.assertEqual(len(igt), 3) igt.clear() self.assertEqual(len(igt), 0) self.assertIs(igt.get(0), None) self.assertIs(igt.get('t'), None) def test_get_attribute(self): igt = Igt(id='i1', attributes={'one': 1, 'two': 2}) xc = XigtCorpus(igts=[igt], attributes={'three': 3}) self.assertEqual(igt.get_attribute('one'), 1) self.assertEqual(igt.get_attribute('two'), 2) self.assertIs(igt.get_attribute('three'), None) self.assertEqual(igt.get_attribute('three', inherit=True), 3) self.assertEqual(igt.get_attribute('three', default=4), 4)