Ejemplo n.º 1
0
    def testLength(self):
        p = Path()
        p.addPoint(self.p0)
        p.addPoint(self.p1)

        l0 = Line(self.p0, self.p1)
        l1 = Line(self.p1, self.p2)
        self.assertEquals(p.length(), l0.length())
        p.addPoint(self.p2)
        self.assertEquals(p.length(), l0.length() + l1.length())
Ejemplo n.º 2
0
class LineTestCase(unittest.TestCase):
    def setUp(self):
        p0 = Point(0,0)
        p1 = Point(3,0)
        p2 = Point(3,4)
 
        self.l1 = Line(p0, p1)
        self.l2 = Line(p1, p2)
        self.l3 = Line(p2, p0)
    
    def testLengths(self):
        self.assertAlmostEqual(self.l1.length(), 3.0)
        self.assertAlmostEqual(self.l2.length(), 4.0)
        self.assertAlmostEqual(self.l3.length(), 5.0)

    def testDot(self):
        a0 = self.l2.angle(Point(1,1))
        a1 = self.l2.angle(Point(5, 1))
        a2 = self.l1.angle(Point(1,2))
        a3 = self.l1.angle(Point(1,-2))
        self.assertTrue(a0 > 0)
        self.assertTrue(a1 < 0)
        self.assertTrue(a2 > 0)
        self.assertTrue(a3 < 0)
Ejemplo n.º 3
0
 def length(self):
     result = 0
     for i in range(0, len(self.points) - 1):
         line = Line(self.points[i], self.points[i+1])
         result = result + line.length()
     return result