def test_eq (self): a = Dictionary('Text', {}) a.append('Key1', 'Value1') a.append('Key2', 'Value2') self.assertEqual(a.name, 'Text') self.assertEqual(a, {'Key1': 'Value1', 'Key2': 'Value2'}) self.assertEqual(dict(a), {'Key1': 'Value1', 'Key2': 'Value2'}) self.assertEqual(a.value, {'Key1': 'Value1', 'Key2': 'Value2'}) self.assertEqual(dict(a.value), {'Key1': 'Value1', 'Key2': 'Value2'}) b = Dictionary('Text', {}) b.append('Key2', 'Value2') b.append('Key1', 'Value1') self.assertEqual(b.name, 'Text') self.assertEqual(b, {'Key2': 'Value2', 'Key1': 'Value1'}) c = Dictionary('Name', a) self.assertEqual(c.name, 'Name') self.assertEqual(c, {'Key1': 'Value1', 'Key2': 'Value2'}) self.assertEqual(c, dict(a)) self.assertEqual(a, c) self.assertNotEqual(a, b) self.assertNotEqual(c, b) self.assertEqual(a, dict(b.value)) self.assertEqual(a, dict(b))
def test_prepend (self): d = Dictionary('Empty', {}) self.assertEqual(d, {}) self.assertEqual(d.keys(), []) self.assertEqual(d.selected, None) d.prepend('Key4', 'Value4', select_new=False) self.assertEqual(d, {'Key4': 'Value4'}) self.assertEqual(d.keys(), ['Key4']) self.assertEqual(d.selected, 'Key4') d.prepend('Key1', 'Value1', select_new=False) self.assertEqual(d, {'Key1': 'Value1', 'Key4': 'Value4'}) self.assertEqual(d.keys(), ['Key1', 'Key4']) self.assertEqual(d.selected, 'Key4') d.prepend('Key2', 'Value2') self.assertEqual(d, {'Key1': 'Value1', 'Key2': 'Value2', 'Key4': 'Value4'}) self.assertEqual(d.keys(), ['Key1', 'Key2', 'Key4']) self.assertEqual(d.selected, 'Key2') d.select('Key4') self.assertEqual(d.selected, 'Key4') d.prepend('Key3', 'Value3') self.assertEqual(d, {'Key1': 'Value1', 'Key2': 'Value2', 'Key3': 'Value3', 'Key4': 'Value4'}) self.assertEqual(d.keys(), ['Key1', 'Key2', 'Key3', 'Key4']) self.assertEqual(d.selected, 'Key3') self.assertRaises(KeyError, d.prepend, 'Key1', 'Value1')
def test_append_nested (self): d = Dictionary('Section1', {}) d.append('Key1', 'Value1') self.assertEqual(d.keys(), ['Key1']) self.assertEqual(d.selected, 'Key1') d.append('Section2', {}, select_new=False) self.assertEqual(d.keys(), ['Key1', 'Section2']) self.assertEqual(d.selected, 'Key1') d.append('Key2', 'Value2') self.assertEqual(d.keys(), ['Key1', 'Key2', 'Section2']) self.assertEqual(d.selected, 'Key2') d.append('Section3', {}) self.assertEqual(d.keys(), ['Key1', 'Key2', 'Section2', 'Section3']) self.assertEqual(d.selected, 'Section3') d.append('Key3', 'Value3') self.assertEqual(d.keys(), ['Key1', 'Key2', 'Key3', 'Section2', 'Section3']) self.assertEqual(d.selected, 'Key3')