def test_in_order(): tree = Tree() s = 100 elem = list() for i in range(0, s): tree.insert(i, i) elem.append(i) res = tree.in_order() assert res == elem
def test_remove2(): tree = Tree() l = [38, 13, 51, 10, 25, 40, 84, 12, 37, 66, 89, 95] length = len(l) while len(l) > 0: key = l.pop(0) value = chr(key) tree.insert(key, value) tree.remove(100) tree.remove(50) tree.remove(14) tree.remove(39) assert len(tree.in_order()) == length
def test_in_order_pre_order_level_order(): tree = Tree() l = [38, 13, 51, 10, 25, 40, 84, 12, 37, 66, 89, 95] length = len(l) while len(l) > 0: key = l.pop(0) value = chr(key) tree.insert(key, value) in_order = tree.in_order() pre_order = tree.pre_order() level_order = tree.level_order() assert in_order == [10, 12, 13, 25, 37, 38, 40, 51, 66, 84, 89, 95] assert pre_order == [38, 13, 10, 12, 25, 37, 51, 40, 84, 66, 89, 95] assert level_order == [38, 13, 51, 10, 25, 40, 84, 12, 37, 66, 89, 95]
def test_remove5(): tree = Tree() l = list() s = 100 for i in range(0, s): tree.insert(i, i) for i in range(0, s): l.append(i) random.shuffle(l) size = 100 while len(l) > 1: key = l.pop() tree.remove(key) size -= 1 assert len(tree.in_order()) == size croot = tree.find(key) assert croot.key != key