class TestOrderedDict(unittest.TestCase): def setUp(self): self._test_keys = ['a', 'b', 'c'] self._test_vals = [-2, 0, 1] self.d = OrderedDict(zip(self._test_keys, self._test_vals)) def test_order(self): self.assertEquals(self.d.keys(), [key for key in self._test_keys]) def test_index(self): self.assertEquals(self.d.key_index('c'), 2) def test_reorder(self): new_order = ['c', 'a', 'b'] self.d.reorder_keys(new_order) self.assertEquals(self.d.keys(), new_order)
def test_insert(): scenario = [(('a', 'b', 2), 0), (('c', 'd', 2), 1), (('e', 'f', 2), 2), (('g', 'h', 2), 2), (('i', 'j', 2), 2), (('k', 'l', 10), 5), (('m', 'n', 4), 4)] d = OrderedDict() for data, result in scenario: d.insert(*data) assert d[data[0]] == data[1] assert d.keys()[result] == data[0] assert_against_list(d, [('a', 'b'), ('c', 'd'), ('i', 'j'), ('g', 'h'), ('m', 'n'), ('e', 'f'), ('k', 'l')])