Exemplo n.º 1
0
    def test_rect(self):
        
        P = Rect(0.298, 2, 4, 5)

        self.interval_basic(P[0], P[1])
        G = Rect(sqrt(2), sqrt(2), sqrt(3), sqrt(3))
        H = Rect.from_xywh(3.43232, 9.23214, 21.523, -0.31232)
        
        self.rect_basic(P, G)
        self.rect_basic(G, H)
        
        lst = [Point(randint(-100, 100), randint(-100, 100)) for i in range(10)]
   
        R = Rect.from_list(lst)
        
        for p in lst:
            self.assertTrue(R.contains(p))
            
        self.assertAlmostEqual(min(lst).y, R.min().y)
        self.assertAlmostEqual(max(lst).y, R.max().y)
Exemplo n.º 2
0
    def test_optRect(self):
        
        P = OptRect(0.298, 2, 4, 5)
        self.interval_basic(P.Rect[0], P.Rect[1])
        
        
        G = Rect(sqrt(2), sqrt(2), sqrt(3), sqrt(3))
        H = OptRect.from_rect(G)

        self.rect_basic(P.Rect, G)
        
        lst = [Point(randint(-100, 100), randint(-100, 100)) for i in range(10)]

        R = OptRect.from_list(lst)

        for p in lst:
            self.assertTrue(R.Rect.contains(p))
            
        self.assertAlmostEqual(min(lst).y, R.Rect.min().y)
        self.assertAlmostEqual(max(lst).y, R.Rect.max().y)
        
        Q = OptRect()
        self.assertFalse(Q)
        self.assertTrue(P)

        self.assertTrue(Q.is_empty())
        self.assertFalse(P.is_empty())

        self.assertTrue(P.contains_rect( P ))
        self.assertTrue(P.contains_rect(Q))
        self.assertFalse(Q.contains_rect(P))
        self.assertFalse(P.intersects(Q))
        self.assertTrue(P.contains_rect(P.Rect))
        self.assertTrue(P.contains(P.Rect.midpoint())) 
        
        self.assertEqual(P, OptRect.from_rect(P))
        
        P.union_with(G)
        P.union_with(H)
        self.assertTrue(P.contains_rect(H))
        
        P.intersect_with(G)
        self.assertEqual(P, G)
        
        self.assertEqual( P|H, G )
        self.assertEqual( (P|R).Rect.min().x , min( P.Rect.min().x, R.Rect.min().x ))
        
        self.assertFalse(P & Q)
        self.assertEqual(P, P&P)
        
        self.assertEqual( P & (R | H), (P & R) | (P & H)  )