def test_3_order_cmplx(self): od = OrderedDict() no = 10 keys = [ 'key number %d' % i for i in range(no) ] vals = [ 'value number %d' % i for i in range(no) ] for i in range(no): od[keys[i]] = vals[i] keys.reverse() self._compareOrder(od, keys) # Move around different elements for i in [ 0, int((no - 1) / 2), no - 1]: od.to_head(keys[i]) keys = [ keys[i] ] + keys[:i] + keys[i + 1:] self._compareOrder(od, keys) od.to_tail(keys[i]) keys = keys[:i] + keys[i + 1:] + [ keys[i] ] self._compareOrder(od, keys) remove = keys[i] del od[remove] keys = keys[:i] + keys[i + 1:] self._compareOrder(od, keys) od[remove] = 'something new' keys.insert(0, remove) self._compareOrder(od, keys)
def test_2_order_simple(self): od = OrderedDict() key1 = 'key1' val1 = 'val1' key2 = 'key2' val2 = 'val2' od[key1] = val1 od[key2] = val2 self.assertEqual(od.get_first(), val2) self.assertEquals(od.get_last(), val1) od[key1] = val1 self.assertEqual(od.get_first(), val2) self.assertEquals(od.get_last(), val1) od.to_tail(key1) self.assertEqual(od.get_first(), val2) self.assertEquals(od.get_last(), val1) od.to_head(key1) self.assertEqual(od.get_first(), val1) self.assertEquals(od.get_last(), val2)