示例#1
0
    def testUnion(self):
        ra = Rect(0, 0, 10, 10)
        rb = Rect(-10, -10, 1, 1)
        x, y, w, h = ra.union(rb).extent()
        self.assertEquals(x, -10)
        self.assertEquals(y, -10)
        self.assertEquals(w, 20)
        self.assertEquals(h, 20)

        for i in range(1000):
            a, b = G.rect(), G.rect()
            u = a.union(b)
            self.assertTrue(a.intersect(u).area() > 0)
            self.assertTrue(u.intersect(a).area() > 0)
            self.assertTrue(b.intersect(u).area() > 0)
            self.assertTrue(u.intersect(b).area() > 0)
            self.assertTrue(
                u.area() >= (max(a.area(), b.area())),
                "union area (iter %d) fail %f >= %f" %
                (i, u.area(), (max(a.area(), b.area()))))

            c, d = G.disjointPair()
            u2 = c.union(d)
            self.assertTrue(c.intersect(u2).area() > 0)
            self.assertTrue(u2.intersect(c).area() > 0)
            self.assertTrue(d.intersect(u2).area() > 0)
            self.assertTrue(u2.intersect(d).area() > 0)
            self.assertTrue(u2.area() > c.area())
            self.assertTrue(u2.area() > d.area())
            self.assertTrue(u2.area() >= (c.area() + d.area()))
示例#2
0
    def testUnion(self):
        ra = Rect(0,0,10,10)
        rb = Rect(-10,-10,1,1)
        x,y,w,h = ra.union(rb).extent()
        self.assertEquals(x,-10)
        self.assertEquals(y,-10)
        self.assertEquals(w,20)
        self.assertEquals(h,20)

        for i in range(1000):
            a,b = G.rect(),G.rect()
            u = a.union(b)
            self.assertTrue(a.intersect(u).area() > 0)
            self.assertTrue(u.intersect(a).area() > 0)
            self.assertTrue(b.intersect(u).area() > 0)
            self.assertTrue(u.intersect(b).area() > 0)
            self.assertTrue(u.area() >= (max(a.area(),b.area())), 
                            "union area (iter %d) fail %f >= %f" % (i,u.area(),(max(a.area(),b.area()))))

            c,d = G.disjointPair()
            u2 = c.union(d)
            self.assertTrue(c.intersect(u2).area() > 0)
            self.assertTrue(u2.intersect(c).area() > 0)
            self.assertTrue(d.intersect(u2).area() > 0)
            self.assertTrue(u2.intersect(d).area() > 0)
            self.assertTrue(u2.area() > c.area())
            self.assertTrue(u2.area() > d.area())
            self.assertTrue(u2.area() >= (c.area() + d.area()))