示例#1
0
    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)
示例#2
0
    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)