| 594 | # (even at 1000x1000 world!) past depth 5 or so. |
| 595 | |
| 596 | def test_think(self): |
| 597 | ent1 = quadtree.QuadTreeEntity(rect2.Rect2(5, 5, vector2.Vector2(15, 15))) |
| 598 | ent2 = quadtree.QuadTreeEntity(rect2.Rect2(5, 5, vector2.Vector2(20, 20))) |
| 599 | ent3 = quadtree.QuadTreeEntity(rect2.Rect2(5, 5, vector2.Vector2(0, 0))) |
| 600 | ent4 = quadtree.QuadTreeEntity(rect2.Rect2(5, 5, vector2.Vector2(5, 0))) |
| 601 | ent5 = quadtree.QuadTreeEntity(rect2.Rect2(5, 5, vector2.Vector2(0, 5))) |
| 602 | _tree = quadtree.QuadTree(2, 2, self.big_rect, entities = [ ent1, ent2, ent3, ent4, ent5 ]) |
| 603 | |
| 604 | _tree.think(True) |
| 605 | |
| 606 | self.assertIsNotNone(_tree.children) # depth 1 |
| 607 | self.assertIsNotNone(_tree.children[0].children) # depth 2 |
| 608 | self.assertIsNone(_tree.children[0].children[0].children) # depth 3 shouldn't happen because |
| 609 | self.assertEqual(5, len(_tree.children[0].children[0].entities)) # max_depth reached |
| 610 | |
| 611 | |
| 612 | _tree2 = quadtree.QuadTree(2, 2, self.big_rect, entities = [ ent1, ent2 ]) |
| 613 | _tree2.think(True) |
| 614 | self.assertIsNone(_tree2.children) |
| 615 | |
| 616 | def test_insert(self): |
| 617 | _tree = quadtree.QuadTree(2, 2, self.big_rect) |