def _invariants(self, node, seen): idx = node.index self.assertTrue(idx not in seen) seen[idx] = True if node.holds_leaves(): #print("node: %d, children: %r" % (node.index, [c.index for c in node.children()])) self.assertTrue(node.nchildren() == 0 or node.get_first_child().is_leaf()) for c in node.children(): #print(c.index) self.assertTrue(c.is_leaf()) self.assertTrue(isinstance(c.leaf_obj(), TstO)) else: for c in node.children(): self.assertTrue(not c.is_leaf()) self.assertEquals(idx, node.index) r = Rect(node.rect.x, node.rect.y, node.rect.xx, node.rect.yy) for c in node.children(): assert r.does_contain(c.rect) self.assertEquals(idx, node.index) for c in node.children(): if not c.is_leaf(): self._invariants(c, seen) self.assertEquals(idx, node.index)
def _invariants(self,node, seen): idx = node.index self.assertTrue(idx not in seen) seen[idx] = True if node.holds_leaves(): #print("node: %d, children: %r" % (node.index, [c.index for c in node.children()])) self.assertTrue(node.nchildren() == 0 or node.get_first_child().is_leaf()) for c in node.children(): #print(c.index) self.assertTrue(c.is_leaf()) self.assertTrue(isinstance(c.leaf_obj(),TstO)) else: for c in node.children(): self.assertTrue(not c.is_leaf()) self.assertEquals(idx,node.index) r = Rect(node.rect.x, node.rect.y, node.rect.xx, node.rect.yy) for c in node.children(): assert r.does_contain(c.rect) self.assertEquals(idx,node.index) for c in node.children(): if not c.is_leaf(): self._invariants(c, seen) self.assertEquals(idx,node.index)