예제 #1
0
파일: tests.py 프로젝트: gidj/pyShapes
class CirclesTestCases(unittest.TestCase):
    """Test cases with only circles"""
    def setUp(self):
        self.p = Cartesian(0, 0)
        self.p1 = Cartesian(1, 1)
        self.p2 = Cartesian(10, 20)
        self.circ = Circle(self.p, 5)
        self.circ1 = Circle(self.p1, 1)
        self.circ2 = Circle(self.p2, 1)

    def test_perimeter(self):
        self.assertAlmostEqual(self.circ1.perimeter(), 2*pi)

    def test_edge_of_circle_in_circle(self):
        test_point = Cartesian(5, 0)
        self.assertTrue(self.circ.point_in_circle(test_point))

    def test_point_outside_of_circle(self):
        test_point = Cartesian(10, 10)
        self.assertFalse(self.circ.point_in_circle(test_point))

    def test_two_intersecting_circles_intersect(self):
        self.assertTrue(self.circ.intersect(self.circ1))
        # Make sure it's reflexive
        self.assertTrue(self.circ1.intersect(self.circ))

    def test_two_nonintersecting_circles_not_intersect(self):
        self.assertFalse(self.circ.intersect(self.circ2))
        # make sure it's relfexive
        self.assertFalse(self.circ2.intersect(self.circ))
예제 #2
0
파일: tests.py 프로젝트: gidj/pyShapes
class DifferentObjectsTests(unittest.TestCase):
    def setUp(self):
        self.p = Cartesian(0, 0)
        self.p1 = Cartesian(1, 1)
        self.p2 = Cartesian(10, 20)
        self.circ = Circle(self.p, 5)
        self.circ1 = Circle(self.p1, 1)
        self.circ2 = Circle(self.p2, 1)

        self.p5 = Cartesian(1, 3)
        self.p6 = Cartesian(2, 4)
        self.p7 = Cartesian(4, 2)
        self.p8 = Cartesian(3, 1)
        self.poly2 = Polygon(self.p5,
                        self.p6,
                        self.p7,
                        self.p8)
        self.p9 = Cartesian(-1, 1)
        self.p10 = Cartesian(2, 1)
        self.p11 = Cartesian(2, -1)
        self.p12 = Cartesian(-1, -1)
        self.poly3 = Polygon(self.p9,
                        self.p10,
                        self.p11,
                        self.p12)

    def test_circle_overlapping_polygon_intersect(self):
        self.assertTrue(self.poly2.intersect(self.circ1))
        self.assertTrue(self.circ1.intersect(self.poly2))

    def test_circle_not_overlapping_polygon_dont_intersect(self):
        self.assertFalse(self.poly2.intersect(self.circ2))
        self.assertFalse(self.circ2.intersect(self.poly2))