from week8.btree import BinaryTree
from week8.btree import bst_contains
from week8.btree import contains
from random import randint
from datetime import datetime


if __name__ == '__main__':
    #create the binary tree
    left1=BinaryTree(2, BinaryTree(1), BinaryTree(3))
    right1=BinaryTree(7, BinaryTree(5), BinaryTree(8))
    leftchild=BinaryTree(4, left1, right1)

    left2 = BinaryTree(13, BinaryTree(11), BinaryTree(14))
    right2 = BinaryTree(17, BinaryTree(16), BinaryTree(23))
    rightchild = BinaryTree(15, left1, right1)

    root = BinaryTree(9, leftchild, rightchild)

    #generate a random number and search a number of times

    start_time = datetime.now()

    for i in range(1000000):
        number=randint(1,23)
        contains(root, number)

    end_time = datetime.now()
    print("Contains took {}".format(end_time-start_time))


    #for bst_contains
    start_time = datetime.now()

    for i in range(1000000):
        number=randint(1,23)
        bst_contains(root, number)

    end_time = datetime.now()
    print("BST Contains took {}".format(end_time - start_time))