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))
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
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)