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)
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)