Esempio n. 1
0
    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')
Esempio n. 2
0
    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')