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_1_add_del(self): od = OrderedDict() key1 = 'key1' val1 = 'val1' # Add elements def add_one(): od[key1] = val1 self.assertEqual(od.get_first(), val1) self.assertEquals(od.get_last(), val1) self.assertEqual(od.get(key1), val1) self.assertTrue(od) self.assertTrue(key1 in od) self.assertEqual(len(od), 1) add_one() del od[key1] self.assertFalse(od) self.assertFalse(key1 in od) self.assertEqual(len(od), 0) self.assertRaises(IndexError, od.get_first) self.assertRaises(IndexError, od.get_last) add_one() self.assertEqual(od.pop_first(), val1) self.assertFalse(od) self.assertFalse(key1 in od) self.assertEqual(len(od), 0) self.assertRaises(IndexError, od.get_first) self.assertRaises(IndexError, od.get_last) add_one() self.assertEqual(od.pop_last(), val1) self.assertFalse(od) self.assertFalse(key1 in od) self.assertEqual(len(od), 0) self.assertRaises(IndexError, od.get_first) self.assertRaises(IndexError, od.get_last)
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)