Example #1
0
    def test_btree(self):
        ''' Test BTree insert, traverse and find '''

        bt = BTree(27)
        bt.insert(1)
        bt.insert(15)
        bt.insert(5)
        bt.insert(5)
        bt.insert(50)

        self.assertEqual(bt.traverse(), [1, 5, 15, 27, 50])
        self.assertTrue(bt.find(5))
        self.assertTrue(bt.find(50))
        self.assertFalse(bt.find(55))
Example #2
0
    def test_btree(self):
        from btree import BTree
        r = 500
        array = range(r)
        random.shuffle(array)
        t = BTree(8, array)
        self.assertTrue(t.sanity())
        self.assertListEqual(t.as_list(), range(r))
        self.assertTrue(t.find(100))

        keys = t.as_list()
        random.shuffle(keys)
        length = len(keys)
        for key in keys:
            t.delete(key)
            length -= 1
            self.assertTrue(t.sanity())
            self.assertEqual(length, len(t.as_list()))
            self.assertFalse(t.find(key))  # key should gone
Example #3
0
tree.add(20)
assert (tree.__str__() == "20")
tree.add(10)
assert (tree.__str__() == "20L10")
tree.add(25)
assert (tree.__str__() == "20L10R25")
tree.add(2)
assert (tree.__str__() == "20L10L2R25")
tree.add(15)
assert (tree.__str__() == "20L10L2R15R25")
tree.add(30)
assert (tree.__str__() == "20L10L2R15R25R30")
tree.add(23)
assert (tree.__str__() == "20L10L2R15R25L23R30")

n = tree.find(-9)
assert (n is None)

n = tree.find(20)
assert (n is not None)
assert (n.__str__() == "20L10L2R15R25L23R30")

n = tree.find(10)
assert (n is not None)
assert (n.__str__() == "10L2R15")

n = tree.find(25)
assert (n is not None)
assert (n.__str__() == "25L23R30")

n = tree.find(23)