Esempio n. 1
0
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
Esempio n. 2
0
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', [], []]])
Esempio n. 5
0
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'])
Esempio n. 12
0
 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])
Esempio n. 13
0
        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 ##########
Esempio n. 14
0
 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', [], []], []])
Esempio n. 19
0
    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 ##########
    """