コード例 #1
0
ファイル: t1_ordered_dict.py プロジェクト: drewlu/ossql
    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)
コード例 #2
0
ファイル: t1_ordered_dict.py プロジェクト: drewlu/ossql
    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)