Пример #1
0
    def testIntersection(self):
        ra = Rect(0, 0, 10, 10)
        rb = Rect(5, 5, 15, 15)
        res = ra.intersect(rb)
        x, y, w, h = res.extent()
        self.assertEquals(x, 5)
        self.assertEquals(y, 5)
        self.assertEquals(w, 5)
        self.assertEquals(h, 5)
        self.assertEquals(res.area(), 25)

        rc = Rect(0, 0, 10, 10)
        rd = Rect(11, 11, 21, 21)
        res2 = rc.intersect(rd)
        self.assertEquals(res2.area(), 0)
        self.assertTrue(res2 is NullRect)

        for i in range(1000):
            a, b = G.intersectingPair()
            self.assertTrue(a.intersect(b).area() > 0.0)
            c, d = G.disjointPair()
            self.assertEquals(c.intersect(d).area(), 0)

        self.assertTrue(ra.intersect(NullRect) is NullRect)
        self.assertTrue(NullRect.intersect(ra) is NullRect)