File size: 962 Bytes
19faf57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from alphageometry.modules import visualizer


def test_polygon_svg_contains_polygon_tag():
    square = [(0, 0), (1, 0), (1, 1), (0, 1)]
    svg = visualizer.polygon_to_svg(square, label="sq", show_vertex_labels=True)
    assert "<polygon" in svg
    assert "sq" in svg
    # vertex labels 0..3 should appear
    assert "0" in svg and "1" in svg and "2" in svg and "3" in svg


def test_mesh_svg_contains_paths_and_triangle_labels():
    verts = [(0, 0), (1, 0), (0, 1)]
    tris = [(0, 1, 2)]
    svg = visualizer.mesh_to_svg(verts, tris, show_triangle_labels=True)
    assert "<path" in svg
    assert "1" in svg or "0" in svg  # triangle label or indexing


def test_write_svg(tmp_path):
    svg = visualizer.polygon_to_svg([(0, 0), (1, 0), (0, 1)], label="t")
    p = tmp_path / "out" / "test.svg"
    visualizer.write_svg(str(p), svg)
    assert p.exists()
    content = p.read_text(encoding="utf8")
    assert "<svg" in content