def test_parse_h(self):
        """ horizontal lineto segments are parsed correctly """

        pp = PathParser(None)

        rest = pp.parse_h('72 144 288 rest', False)

        self.assertEqual(rest, 'rest')
        self.assertEqual(pp.start_point, (0.0, 0.0))
        self.assertEqual(pp.cur_point, (288, 0))
        self.assertEqual(len(pp.shapes), 3)
        self.assertEqual(pp.shapes[0].type, 'line')
        self.assertEqual(pp.shapes[0].p1.x, 0)
        self.assertEqual(pp.shapes[0].p1.y, 0)
        self.assertEqual(pp.shapes[0].p2.x, 90)
        self.assertEqual(pp.shapes[0].p2.y, 0)
        self.assertEqual(pp.shapes[1].type, 'line')
        self.assertEqual(pp.shapes[1].p1.x, 90)
        self.assertEqual(pp.shapes[1].p1.y, 0)
        self.assertEqual(pp.shapes[1].p2.x, 180)
        self.assertEqual(pp.shapes[1].p2.y, 0)
        self.assertEqual(pp.shapes[2].type, 'line')
        self.assertEqual(pp.shapes[2].p1.x, 180)
        self.assertEqual(pp.shapes[2].p1.y, 0)
        self.assertEqual(pp.shapes[2].p2.x, 360)
        self.assertEqual(pp.shapes[2].p2.y, 0)


        pp = PathParser(None)

        rest = pp.parse_h('72 72 72 rest', True)

        self.assertEqual(rest, 'rest')
        self.assertEqual(pp.start_point, (0.0, 0.0))
        self.assertEqual(pp.cur_point, (216.0, 0.0))
        self.assertEqual(len(pp.shapes), 3)
        self.assertEqual(pp.shapes[0].type, 'line')
        self.assertEqual(pp.shapes[0].p1.x, 0)
        self.assertEqual(pp.shapes[0].p1.y, 0)
        self.assertEqual(pp.shapes[0].p2.x, 90)
        self.assertEqual(pp.shapes[0].p2.y, 0)
        self.assertEqual(pp.shapes[1].type, 'line')
        self.assertEqual(pp.shapes[1].p1.x, 90)
        self.assertEqual(pp.shapes[1].p1.y, 0)
        self.assertEqual(pp.shapes[1].p2.x, 180)
        self.assertEqual(pp.shapes[1].p2.y, 0)
        self.assertEqual(pp.shapes[2].type, 'line')
        self.assertEqual(pp.shapes[2].p1.x, 180)
        self.assertEqual(pp.shapes[2].p1.y, 0)
        self.assertEqual(pp.shapes[2].p2.x, 270)
        self.assertEqual(pp.shapes[2].p2.y, 0)
Exemplo n.º 2
0
    def test_parse_h(self):
        """ horizontal lineto segments are parsed correctly """

        pp = PathParser(None)

        rest = pp.parse_h('72 144 288 rest', False)

        self.assertEqual(rest, 'rest')
        self.assertEqual(pp.start_point, (0.0, 0.0))
        self.assertEqual(pp.cur_point, (288, 0))
        self.assertEqual(len(pp.shapes), 3)
        self.assertEqual(pp.shapes[0].type, 'line')
        self.assertEqual(pp.shapes[0].p1.x, 0)
        self.assertEqual(pp.shapes[0].p1.y, 0)
        self.assertEqual(pp.shapes[0].p2.x, 90)
        self.assertEqual(pp.shapes[0].p2.y, 0)
        self.assertEqual(pp.shapes[1].type, 'line')
        self.assertEqual(pp.shapes[1].p1.x, 90)
        self.assertEqual(pp.shapes[1].p1.y, 0)
        self.assertEqual(pp.shapes[1].p2.x, 180)
        self.assertEqual(pp.shapes[1].p2.y, 0)
        self.assertEqual(pp.shapes[2].type, 'line')
        self.assertEqual(pp.shapes[2].p1.x, 180)
        self.assertEqual(pp.shapes[2].p1.y, 0)
        self.assertEqual(pp.shapes[2].p2.x, 360)
        self.assertEqual(pp.shapes[2].p2.y, 0)

        pp = PathParser(None)

        rest = pp.parse_h('72 72 72 rest', True)

        self.assertEqual(rest, 'rest')
        self.assertEqual(pp.start_point, (0.0, 0.0))
        self.assertEqual(pp.cur_point, (216.0, 0.0))
        self.assertEqual(len(pp.shapes), 3)
        self.assertEqual(pp.shapes[0].type, 'line')
        self.assertEqual(pp.shapes[0].p1.x, 0)
        self.assertEqual(pp.shapes[0].p1.y, 0)
        self.assertEqual(pp.shapes[0].p2.x, 90)
        self.assertEqual(pp.shapes[0].p2.y, 0)
        self.assertEqual(pp.shapes[1].type, 'line')
        self.assertEqual(pp.shapes[1].p1.x, 90)
        self.assertEqual(pp.shapes[1].p1.y, 0)
        self.assertEqual(pp.shapes[1].p2.x, 180)
        self.assertEqual(pp.shapes[1].p2.y, 0)
        self.assertEqual(pp.shapes[2].type, 'line')
        self.assertEqual(pp.shapes[2].p1.x, 180)
        self.assertEqual(pp.shapes[2].p1.y, 0)
        self.assertEqual(pp.shapes[2].p2.x, 270)
        self.assertEqual(pp.shapes[2].p2.y, 0)