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
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
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'
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'
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
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'
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
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
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))
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
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
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)
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)
def setup_method(self): self.tree = trees.TwoDTree((0, 0), (500, 500))
def setup_method(self): self.game = games.Tag(5, trees.TwoDTree((0, 0), (500, 500)), 5, 3, 4)
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'