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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
# Copyright (c) 2019-2020 Manfred Moitzi
# License: MIT License
import pytest
from ezdxf.entities.polyline import vertex_attribs, DXFVertex
from ezdxf.math import Vec3
from ezdxf.layouts import VirtualLayout
def test_vertext_attribs_xy():
result = vertex_attribs((1, 2), format="xy")
assert result == {"location": Vec3(1, 2)}
def test_vertext_attribs_xyb():
result = vertex_attribs((1, 2, 0.5), format="xyb")
assert result == {"location": Vec3(1, 2), "bulge": 0.5}
def test_vertext_attribs_xyseb():
result = vertex_attribs((1, 2, 3, 4, 0.5), format="xyseb")
assert result == {
"location": Vec3(1, 2),
"bulge": 0.5,
"start_width": 3,
"end_width": 4,
}
def test_vertext_attribs_vseb():
result = vertex_attribs(((1, 2), 3, 4, 0.5), format="vseb")
assert result == {
"location": Vec3(1, 2),
"bulge": 0.5,
"start_width": 3,
"end_width": 4,
}
def test_append_formatted_vertices():
msp = VirtualLayout()
p = msp.add_polyline2d([(1, 2, 0.5), (3, 4, 0.7)], format="xyb")
assert len(p) == 2
v1 = p.vertices[0]
assert v1.dxf.location == (1, 2)
assert v1.dxf.bulge == 0.5
v2 = p.vertices[1]
assert v2.dxf.location == (3, 4)
assert v2.dxf.bulge == 0.7
def test_vertex_format():
v = DXFVertex.new(
dxfattribs={
"location": (1, 2, 3),
"bulge": 5,
"end_width": 7,
"start_width": 6,
}
)
assert v.format("xyz") == (1, 2, 3)
assert v.format("xyb") == (1, 2, 5)
assert v.format("vb") == ((1, 2, 3), 5)
assert v.format("se") == (6, 7)
if __name__ == "__main__":
pytest.main([__file__])
|