def test_approximate_lines(): path = Path() path.line_to((1, 1)) path.line_to((2, 0)) vertices = list(path.approximate()) assert len(vertices) == 3 assert vertices[0] == path.start == (0, 0) assert vertices[2] == path.end == (2, 0)
def test_approximate_curves(): path = Path() path.curve3_to((2, 0), (1, 1)) path.curve4_to((3, 0), (2, 1), (3, 1)) vertices = list(path.approximate(20)) assert len(vertices) == 41 assert vertices[0] == (0, 0) assert vertices[-1] == (3, 0)
def test_control_vertices(p1): vertices = list(p1.control_vertices()) assert close_vectors(vertices, [(0, 0), (2, 0), (2, 1), (4, 1), (4, 0), (5, -1), (6, 0)]) path = Path() assert len(list(path.control_vertices())) == 0 assert list(path.control_vertices()) == list(path.approximate(2)) path = converter.from_vertices([(0, 0), (1, 0)]) assert len(list(path.control_vertices())) == 2