def test_approximate_curves(): path = Path() path.curve_to((2, 0), (0, 1), (2, 1)) vertices = list(path.approximate(10)) assert len(vertices) == 11 assert vertices[0] == (0, 0) assert vertices[-1] == (2, 0)
def test_has_clockwise_orientation(): # basic has_clockwise_orientation() function is tested in: # test_617_clockwise_orientation path = Path.from_vertices([(0, 0), (1, 0), (1, 1), (0, 1)]) assert path.has_clockwise_orientation() is True path = Path() path.line_to((2, 0)) path.curve_to((4, 0), (2, 1), (4, 1)) # end, ctrl1, ctrl2 assert path.has_clockwise_orientation() is False
def test_transform(): path = Path() path.line_to((2, 0)) path.curve_to((4, 0), (2, 1), (4, 1)) p2 = path.transform(Matrix44.translate(1, 1, 0)) assert p2.start == (1, 1) assert p2[0][1] == (3, 1) # line to location assert p2[1][1] == (5, 1) # cubic to location assert p2[1][2] == (3, 2) # cubic ctrl1 assert p2[1][3] == (5, 2) # cubic ctrl2 assert p2.end == (5, 1)
def test_reversing_one_curve(): p = Path() p.curve_to((3, 0), (1, 1), (2, 1)) p2 = list(p.reversed().control_vertices()) assert p2 == [(3, 0), (2, 1), (1, 1), (0, 0)]
def p1(): path = Path() path.line_to((2, 0)) path.curve_to((4, 0), (2, 1), (4, 1)) # end, ctrl1, ctrl2 return path
def test_curve_to(): path = Path() path.curve_to((1, 2, 3), (0, 1, 0), (0, 2, 0)) assert path[0] == ((1, 2, 3), (0, 1, 0), (0, 2, 0)) assert path.end == (1, 2, 3)
def test_curve_to(): path = Path() path.curve_to((1, 2, 3), (0, 1, 0), (0, 2, 0)) assert path[0] == (Command.CURVE_TO, (1, 2, 3), (0, 1, 0), (0, 2, 0)) assert path.end == (1, 2, 3)