def test_clear(self): xc = XigtCorpus() xc.extend([Igt(id='i1'), Igt(id='i2'), Igt(id='i3')]) self.assertEqual(len(xc), 3) xc.clear() self.assertEqual(len(xc), 0) self.assertIs(xc.get(0), None) self.assertIs(xc.get('i1'), None)
def test_clear(self): xc = XigtCorpus() xc.extend([Igt(id='i1'), Igt(id='i2'), Igt(id='i3')]) assert len(xc) == 3 xc.clear() assert len(xc) == 0 assert xc.get(0) is None assert xc.get('i1') is None
class TestXigtCorpus(unittest.TestCase): def setUp(self): self.c1 = XigtCorpus() self.c2 = XigtCorpus( id='xc1', type='basic', attributes={'attr':'val'}, metadata=[Metadata(type='meta', metas=[Meta(text='meta')])], igts=[Igt(id='i1'), Igt(id='i2')] ) def test_init(self): self.assertRaises(ValueError, XigtCorpus, id='1') # invalid id # don't allow multiple igts with the same ID self.assertRaises(XigtError, XigtCorpus, igts=[Igt(id='i1'), Igt(id='i1')]) def test_id(self): self.assertIs(self.c1.id, None) self.assertEqual(self.c2.id, 'xc1') def test_type(self): self.assertIs(self.c1.type, None) self.assertIs(self.c2.type, 'basic') def test_igts(self): self.assertEqual(len(self.c1.igts), 0) self.assertEqual(len(self.c2.igts), 2) # contained Igts should now have their corpus specified for i in self.c2.igts: self.assertIs(i.corpus, self.c2) def test_attributes(self): self.assertEqual(self.c1.attributes, dict()) self.assertEqual(self.c2.attributes, {'attr':'val'}) def test_metadata(self): self.assertEqual(len(self.c1.metadata), 0) self.assertEqual(self.c2.metadata[0].type, 'meta') self.assertEqual(len(self.c2.metadata[0].metas), 1) self.assertEqual(self.c2.metadata[0][0].text, 'meta') def test_get(self): self.assertIs(self.c1.get(0), None) self.assertIs(self.c1.get('i1'), None) self.assertEqual(self.c1.get('i1', default=1), 1) self.assertEqual(self.c2.get(0).id, 'i1') self.assertIs(self.c2.get(3), None) self.assertEqual(self.c2.get('i1').id, 'i1') self.assertEqual( self.c2.get('i1', default=Igt(id='i3')).id, 'i1' ) def test_append(self): xc = XigtCorpus() self.assertRaises(XigtStructureError, xc.append, Item()) self.assertRaises(XigtStructureError, xc.append, Tier()) self.assertRaises(XigtStructureError, xc.append, XigtCorpus()) self.assertRaises(XigtStructureError, xc.append, Metadata()) self.assertRaises(XigtStructureError, xc.append, Meta()) self.assertEqual(len(xc), 0) xc.append(Igt(id='i1')) self.assertEqual(len(xc), 1) self.assertRaises(XigtError, xc.append, Igt(id='i1')) xc.append(Igt(id='i2')) self.assertEqual(len(xc), 2) self.assertEqual(xc[0].id, 'i1') self.assertEqual(xc[1].id, 'i2') def test_insert(self): xc = XigtCorpus() self.assertEqual(len(xc), 0) xc.insert(0, Igt(id='i1')) self.assertEqual(len(xc), 1) self.assertRaises(XigtError, xc.insert, 0, Igt(id='i1')) xc.insert(0, Igt(id='i2')) xc.insert(100, Igt(id='i3')) self.assertEqual(len(xc), 3) self.assertEqual(xc[0].id, 'i2') self.assertEqual(xc[1].id, 'i1') self.assertEqual(xc[2].id, 'i3') def test_extend(self): xc = XigtCorpus() self.assertEqual(len(xc), 0) xc.extend([Igt(id='i1')]) self.assertEqual(len(xc), 1) xc.extend([]) self.assertEqual(len(xc), 1) xc.extend([Igt(id='i2'), Igt(id='i3')]) self.assertEqual(len(xc), 3) self.assertEqual(xc[0].id, 'i1') self.assertEqual(xc[1].id, 'i2') self.assertEqual(xc[2].id, 'i3') def test_clear(self): xc = XigtCorpus() xc.extend([Igt(id='i1'), Igt(id='i2'), Igt(id='i3')]) self.assertEqual(len(xc), 3) xc.clear() self.assertEqual(len(xc), 0) self.assertIs(xc.get(0), None) self.assertIs(xc.get('i1'), None) def test_get_attribute(self): xc = XigtCorpus(attributes={'one': 1, 'two': 2}) self.assertEqual(xc.get_attribute('one'), 1) self.assertEqual(xc.get_attribute('two'), 2) self.assertIs(xc.get_attribute('three'), None) self.assertEqual(xc.get_attribute('three', inherit=True), None)