Beispiel #1
0
def test_find_name_complex_tree():
    """Picture 4 to picture 5 in the handout"""
    '''QuadTree'''
    q1 = trees.QuadTree((100, 100))
    q1.insert('Parinita', (50, 50))
    q1.insert('Grace', (120, 80))
    q1.insert('Rohan', (150, 150))
    q1.insert('Parimal', (120, 180))

    assert q1._find_name('Parinita') == (50, 50)
    assert q1._find_name('Grace') == (120, 80)
    assert q1._find_name('Rohan') == (150, 150)
    assert q1._find_name('Parimal') == (120, 180)
    assert q1._find_name('Emily') is None
    '''TwoDTree'''
    d1 = trees.TwoDTree((0, 0), (200, 200))
    d1.insert('Parinita', (40, 40))
    d1.insert('Rohan', (40, 50))
    d1.insert('Grace', (30, 60))
    d1.insert('Parimal', (120, 180))

    assert d1._find_name('Parinita') == (40, 40)
    assert d1._find_name('Grace') == (30, 60)
    assert d1._find_name('Rohan') == (40, 50)
    assert d1._find_name('Parimal') == (120, 180)
    assert d1._find_name('Emily') is None
Beispiel #2
0
def test_contains_complex_tree():
    """Picture 4 to picture 5 in the handout"""
    q1 = trees.QuadTree((100, 100))
    q1.insert('Parinita', (50, 50))
    q1.insert('Grace', (120, 80))
    q1.insert('Rohan', (150, 150))
    q1.insert('Parimal', (120, 180))

    assert q1.__contains__('Parinita') is True
    assert q1.__contains__('Grace') is True
    assert q1.__contains__('Rohan') is True
    assert q1.__contains__('Parimal') is True
    assert q1.__contains__('Emily') is False

    d1 = trees.TwoDTree((0, 0), (200, 200))
    d1.insert('Parinita', (40, 40))
    d1.insert('Rohan', (40, 50))
    d1.insert('Grace', (30, 60))
    d1.insert('Parimal', (120, 180))

    assert d1.__contains__('Parinita') is True
    assert d1.__contains__('Grace') is True
    assert d1.__contains__('Rohan') is True
    assert d1.__contains__('Parimal') is True
    assert d1.__contains__('Emily') is False
Beispiel #3
0
def test_balance_2Dtree_compicated():
    tree = trees.TwoDTree((0, 0), (500, 500))
    tree.insert('a', (250, 250))
    tree.insert('b', (300, 250))
    tree.insert('c', (300, 200))
    tree.insert('d', (300, 300))
    tree.insert('e', (275, 300))
    tree.insert('f', (275, 350))
    tree.insert('g', (290, 350))

    tree.balance()

    assert tree._point == (290, 350)
    assert tree._name == 'g'

    assert tree._lt._point == (275, 300)
    assert tree._lt._name == 'e'

    assert tree._lt._lt._point == (250, 250)
    assert tree._lt._lt._name == 'a'

    assert tree._lt._gt._point == (275, 350)
    assert tree._lt._gt._name == 'f'

    assert tree._gt._point == (300, 250)
    assert tree._gt._name == 'b'

    assert tree._gt._lt._point == (300, 200)
    assert tree._gt._lt._name == 'c'

    assert tree._gt._gt._point == (300, 300)
    assert tree._gt._gt._name == 'd'
Beispiel #4
0
def test_balance_2Dtree_empty_tree():
    tree = trees.TwoDTree((0, 0), (500, 500))
    tree.balance()
    assert tree._name == None
    assert tree._point == None
    assert tree._nw == (0, 0)
    assert tree._se == (500, 500)
    assert tree._lt == None
    assert tree._gt == None
    assert tree._split_type == 'x'
Beispiel #5
0
def test_insert_handout_3_to_4_twoDtree():
    d1 = trees.TwoDTree((0, 0), (200, 200))
    d1.insert('Parinita', (30, 100))
    d1.insert('Rohan', (150, 80))
    d1.insert('Grace', (150, 20))

    assert d1._gt._lt._point == (150, 20)
    assert d1._gt._lt._name == 'Grace'
    assert d1._gt._lt._nw is None
    assert d1._gt._lt._se is None
Beispiel #6
0
def test_balance_2Dtree_only_root():
    tree = trees.TwoDTree((0, 0), (500, 500))
    tree.insert('a', (250, 250))
    tree.balance()
    assert tree._name == 'a'
    assert tree._point == (250, 250)
    assert tree._nw == (0, 0)
    assert tree._se == (500, 500)
    assert tree._lt == None
    assert tree._gt == None
    assert tree._split_type == 'x'
Beispiel #7
0
def test_find_name_no_name_in_tree():
    '''QuadTree'''
    q1 = trees.QuadTree((100, 100))
    q1.insert('Parinita', (50, 50))
    q1.insert('Grace', (120, 80))
    q1.insert('Rohan', (150, 150))

    assert q1._find_name('Tony') is None
    '''TwoDTree'''
    d1 = trees.TwoDTree((0, 0), (200, 200))
    d1.insert('Parinita', (50, 50))
    d1.insert('Grace', (120, 80))
    d1.insert('Rohan', (150, 150))
    assert d1._find_name('Tony') is None
Beispiel #8
0
def test_contains_no_player_in_tree():
    """No player in the tree with that name"""
    q1 = trees.QuadTree((100, 100))
    q1.insert('Parinita', (50, 50))
    q1.insert('Grace', (120, 80))
    q1.insert('Rohan', (150, 150))

    assert q1.__contains__('Tony') is False

    d1 = trees.TwoDTree((0, 0), (200, 200))
    d1.insert('Parinita', (50, 50))
    d1.insert('Grace', (120, 80))
    d1.insert('Rohan', (150, 150))
    assert d1.__contains__('Tony') is False
Beispiel #9
0
def test_simple_2D_tree():
    d1 = trees.TwoDTree((0, 0), (500, 500))
    d1.insert('a', (100, 100))
    d1.insert('b', (50, 100))

    d1.insert('c', (4, 200))
    d1.insert('d', (1, 150))
    d1.insert('e', (20, 210))

    d1.insert('f', (70, 75))
    d1.insert('g', (5, 80))
    d1.insert('h', (75, 20))

    assert d1._lt._find_largest_node_value(0) == ('h', (75, 20))
    assert d1._lt._find_largest_node_value(1) == ('e', (20, 210))
Beispiel #10
0
def test_contains_simple_tree():
    q1 = trees.QuadTree((100, 100))
    q1.insert('Parinita', (50, 50))
    q1.insert('Grace', (120, 80))
    q1.insert('Rohan', (150, 150))

    assert q1.__contains__('Parinita') is True
    assert q1.__contains__('Grace') is True
    assert q1.__contains__('Rohan') is True

    d1 = trees.TwoDTree((0, 0), (200, 200))
    d1.insert('Parinita', (50, 50))
    d1.insert('Grace', (120, 80))
    d1.insert('Rohan', (150, 150))
    assert d1.__contains__('Parinita') is True
    assert d1.__contains__('Grace') is True
    assert d1.__contains__('Rohan') is True
Beispiel #11
0
def test_balance_2Dtree_left_skewed():
    tree = trees.TwoDTree((0, 0), (500, 500))
    tree.insert('a', (450, 450))
    tree.insert('b', (350, 350))
    tree.insert('c', (250, 250))
    tree.insert('d', (150, 150))

    assert tree.height() == 4
    tree.balance()

    assert tree._name == 'c'
    assert tree._point == (250, 250)
    assert tree._nw == (0, 0)
    assert tree._se == (500, 500)
    assert tree._lt is not None
    assert tree._gt is not None
    assert tree._split_type == 'x'

    assert tree._lt._name == 'd'
    assert tree._lt._point == (150, 150)
    assert tree._lt._nw is None
    assert tree._lt._se is None
    assert tree._lt._lt is None
    assert tree._lt._gt is None
    assert tree._lt._split_type == 'y'

    assert tree._gt._name == 'b'
    assert tree._gt._point == (350, 350)
    assert tree._gt._nw is None
    assert tree._gt._se is None
    assert tree._gt._lt is None
    assert tree._gt._gt is not None
    assert tree._gt._split_type == 'y'

    assert tree._gt._gt._name == 'a'
    assert tree._gt._gt._point == (450, 450)
    assert tree._gt._gt._nw is None
    assert tree._gt._gt._se is None
    assert tree._gt._gt._lt is None
    assert tree._gt._gt._gt is None
    assert tree._gt._gt._split_type == 'x'

    assert tree.height() == 3
Beispiel #12
0
def test_find_name_duplicate():
    """ Testing how the tree handles duplicates"""
    '''QuadTree'''
    q1 = trees.QuadTree((100, 100))
    q1.insert('Rohan', (50, 50))
    q1.insert('Parinita', (40, 40))
    q1.insert('Grace', (75, 89))
    q1.insert('Parimal', (50, 51))

    q1.insert('Rohan', (120, 30))

    assert q1._find_name('Rohan') == (50, 50)

    d1 = trees.TwoDTree((0, 0), (200, 200))
    d1.insert('Parinita', (40, 40))
    d1.insert('Rohan', (40, 50))
    d1.insert('Rohan', (41, 40))
    d1.insert('Grace', (30, 60))
    d1.insert('Rohan', (120, 180))

    assert d1._find_name('Rohan') == (40, 50)
Beispiel #13
0
def test_find_name_simple_tree():
    '''QuadTree'''
    q1 = trees.QuadTree((100, 100))
    q1.insert('Parinita', (50, 50))
    #ne insert
    q1.insert('Grace', (120, 80))
    #se insert
    q1.insert('Rohan', (150, 150))

    assert q1._find_name('Parinita') == (50, 50)
    assert q1._find_name('Grace') == (120, 80)
    assert q1._find_name('Rohan') == (150, 150)
    '''TwoDTree'''
    d1 = trees.TwoDTree((0, 0), (200, 200))
    d1.insert('Parinita', (50, 50))
    #gt insert
    d1.insert('Grace', (120, 80))
    #gt gt insert
    d1.insert('Rohan', (150, 150))

    assert d1._find_name('Parinita') == (50, 50)
    assert d1._find_name('Grace') == (120, 80)
    assert d1._find_name('Rohan') == (150, 150)
Beispiel #14
0
 def setup_method(self):
     self.tree = trees.TwoDTree((0, 0), (500, 500))
Beispiel #15
0
 def setup_method(self):
     self.game = games.Tag(5, trees.TwoDTree((0, 0), (500, 500)), 5, 3, 4)
Beispiel #16
0
def test_insert_simple_twoDtree():
    d1 = trees.TwoDTree((0, 0), (200, 200))
    d1.insert('Parinita', (30, 40))

    assert d1._point == (30, 40)
    assert d1._name == 'Parinita'