def test_root_remove2(): tree = None tree = add(tree, 5) tree = add(tree, 7) tree = add(tree, 6) tree = add(tree, 8) tree = add(tree, 2) if find(tree, 5) is False: print("test_delete failed: can't find value 5") tree = remove(tree, 5) if find(tree, 5) is True: print("test_delete failed: 5 must be deleted") elif find(tree, 7) is False: print("test_delete failed: can't find 2") elif find(tree, 6) is False: print("test_delete failed: can't find 2") elif find(tree, 8) is False: print("test_delete failed: can't find 2") elif find(tree, 2) is False: print("test_delete failed: can't find 2") else: return True
def test_add(): tree = None tree = add(tree, 1) tree = add(tree, 2) tree = add(tree, 3) if find(tree, 1) is False: print("test_add failed: can't find value 1") elif find(tree, 2) is False: print("test_add failed: can't find value 2") elif find(tree, 3) is False: print("test_add failed: can't find value 3") else: return True
def test_add_four_values(self): root = [] add(root, 'a') add(root, 'b') add(root, 'c') add(root, 'd') self.assertEqual(root, ['a', ['b', ['d', [], []], []], ['c', [], []]])
def test_add_four_values(self): root = [] add(root, 'a') add(root, 'b') add(root, 'c') add(root, 'd') self.assertEqual(root, ['a', ['b', ['d', [], []], []], ['c', [], []]])
def test_remove(): tree = None tree = add(tree, 4) tree = add(tree, 2) tree = add(tree, 7) if find(tree, 2) is False: print("test_delete failed: can't find value 2") tree = remove(tree, 2) if find(tree, 2) is True: print("test_delete failed: 2 must be deleted") if find(tree, 4) is False: print("test_delete failed: 2 must be deleted") if find(tree, 7) is False: print("test_delete failed: 2 must be deleted") else: return True
def test_traverse_global_var(self): tree = [] add(tree, 'a') add(tree, 'b') add(tree, 'c') result = list(traverse_via_helper(tree)) self.assertEqual(result, ['a', 'b', 'c'])
def test_traverse_global_var(self): tree = [] add(tree, 'a') add(tree, 'b') add(tree, 'c') result = list(traverse_via_helper(tree)) self.assertEqual(result, ['a', 'b', 'c'])
def test_traverse_yield(self): tree = [] add(tree, 'a') add(tree, 'b') add(tree, 'c') result = list(traverse_yield(tree)) self.assertEqual(result, ['a', 'b', 'c'])
def test_traverse_yield(self): tree = [] add(tree, 'a') add(tree, 'b') add(tree, 'c') result = list(traverse_yield(tree)) self.assertEqual(result, ['a', 'b', 'c'])
def test_traverse_print(self): tree = [] add(tree, 'a') add(tree, 'b') add(tree, 'c') with redirect_stdout() as s: traverse_print(tree, 'pre') result = s.getvalue().split('\n')[:-1] self.assertEqual(result, ['a', 'b', 'c'])
def test_traverse_print(self): tree = [] add(tree, 'a') add(tree, 'b') add(tree, 'c') with redirect_stdout() as s: traverse_print(tree, 'pre') result = s.getvalue().split('\n')[:-1] self.assertEqual(result, ['a', 'b', 'c'])
def test_bt_searches(self): """test if the binary tree searchs works for a randomly chosen key/value pair """ f = open("rand.txt", "r") lines = f.readlines() result = [] for x in lines: result.append(x.rstrip().split('\t')) f.close() choice = random.choice(result) Tree = None Tree = bt.add(Tree, result[0], result[1]) search = bt.search(Tree, result[0]) self.assertEqual(search, result[1])
result.append(x.rstrip().split('\t')) f.close() ff = open(nonfile, "r") lines = ff.readlines() non_result = [] for x in lines: non_result.append(x.rstrip().split('\t')) ff.close() """ ########## binary tree ########## """ # initializing binary tree BT_tree = None for num in result: BT_tree = bt.add(BT_tree, num[0], value=num[1]) """ ########## AVL tree ########## """ # initializing avl tree AVL_tree = avl.AVL() for num in result: AVL_tree.insert(num[1]) """ ########## hash table ########## """ Table = ht.ChainedHash(10000, hf.h_rolling) for num in result: Table.add(num[0], num[1]) """ ########## benchmarking ##########
def test_bt_inserts(self): """test if the binary tree insert works""" Tree = None Tree = bt.add(Tree, "keys", 10) self.assertNotEqual(Tree, None)
def test_add_two_values(self): root = [] add(root, 'a') add(root, 'b') self.assertEqual(root, ['a', ['b', [], []], []])
def test_add_to_empty_node(self): root = [] add(root, 'a') self.assertEqual(root, ['a', [], []])
def test_add_to_empty_node(self): root = [] add(root, 'a') self.assertEqual(root, ['a', [], []])
def test_add_two_values(self): root = [] add(root, 'a') add(root, 'b') self.assertEqual(root, ['a', ['b', [], []], []])
if args.N <= 10000: result = result[0:args.N] # subsampling results else: raise ValueError """ ########## binary tree ########## """ if args.struc == 'tree': # initializing binary tree Tree = None t0 = time.time() for num in result: Tree = bt.add(Tree, num[0], value=num[1]) t1 = time.time() for i in range(0, 100): choice = random.choice(result) # choosing rand from file key = choice[0] # extracting key val = bt.search(Tree, key) t2 = time.time() print('Insertion time ' + str(t1-t0)) print('Search time ' + str(t2-t1)) """ ########## AVL tree ########## """