fix(correctness-bundle): I16 correctness fixes + dead code removal + ruff clean
N1: COM hatch non-associative (AddHatch associativity=False) N2: ezdxf refuses DWG saves with clear error; server.py derives fmt from extension R19: dimension_aligned dist→distance; dimension_angular correct add_angular_dim_2l args (base/line1/line2/location) R9: polar array 360° no-duplicate (divisor=n when fill_angle%360<ε) R13: entity_offset side_x/side_y honored in ezdxf via cross-product (LINE) and distance-to-center (CIRCLE) R18: drawing_new bootstrap failure surfaces status="degraded" instead of swallowing silently Dead code: engineering/section.py, gear.generate_tooth_profile, CommandResult, _ACI_NAMES, set_layer_active, ensure_linetypes, ComBackend._batch_mode instance attr, engineering/__init__ build-seam comment Ruff: 38 auto-fixed + 5 manual → codebase is now ruff-clean; CI lint is now blocking 184 tests pass.
This commit is contained in:
@@ -13,14 +13,12 @@ async def test_dimension_linear(backend):
|
||||
assert info.type == "DIMENSION"
|
||||
|
||||
|
||||
@pytest.mark.xfail(reason="ezdxf API parameter mismatch in add_aligned_dim", strict=False)
|
||||
async def test_dimension_aligned(backend):
|
||||
info = await backend.dimension_aligned(0, 0, 100, 50, 50, 60)
|
||||
assert info.handle
|
||||
assert info.type == "DIMENSION"
|
||||
|
||||
|
||||
@pytest.mark.xfail(reason="ezdxf API parameter mismatch in add_angular_dim_2l", strict=False)
|
||||
async def test_dimension_angular(backend):
|
||||
info = await backend.dimension_angular(0, 0, 100, 0, 0, 100, 50, 50)
|
||||
assert info.handle
|
||||
|
||||
@@ -18,7 +18,6 @@ from engineering.layers import (
|
||||
ensure_standard_linetypes,
|
||||
)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Pure math (sync)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
@@ -4,7 +4,6 @@ Backend coverage: ezdxf only. COM tests need a live AutoCAD instance and are
|
||||
skipped unless explicitly enabled.
|
||||
"""
|
||||
|
||||
import math
|
||||
import pytest
|
||||
|
||||
pytestmark = pytest.mark.asyncio
|
||||
@@ -151,7 +150,7 @@ class TestChamfer:
|
||||
# Tangent points: (96,0) and (100,4) in some order.
|
||||
pts = sorted([tuple(s[:2]), tuple(e[:2])])
|
||||
expected = sorted([(96.0, 0.0), (100.0, 4.0)])
|
||||
for got, exp in zip(pts, expected):
|
||||
for got, exp in zip(pts, expected, strict=True):
|
||||
assert _close(got[0], exp[0]) and _close(got[1], exp[1])
|
||||
|
||||
async def test_chamfer_asymmetric(self, backend):
|
||||
@@ -162,7 +161,7 @@ class TestChamfer:
|
||||
e = cl.properties["end"]
|
||||
pts = sorted([tuple(s[:2]), tuple(e[:2])])
|
||||
expected = sorted([(96.0, 0.0), (100.0, 6.0)])
|
||||
for got, exp in zip(pts, expected):
|
||||
for got, exp in zip(pts, expected, strict=True):
|
||||
assert _close(got[0], exp[0]) and _close(got[1], exp[1])
|
||||
|
||||
async def test_chamfer_trims_source_lines(self, backend):
|
||||
|
||||
@@ -187,9 +187,9 @@ class TestDimensionAuto:
|
||||
assert len(dims) == 2
|
||||
|
||||
async def test_unknown_style_raises(self, backend):
|
||||
l = await backend.entity_create_line(0, 0, 50, 0)
|
||||
ln = await backend.entity_create_line(0, 0, 50, 0)
|
||||
with pytest.raises(RuntimeError, match="unknown style"):
|
||||
await backend.dimension_auto([l.handle], style="diagonal")
|
||||
await backend.dimension_auto([ln.handle], style="diagonal")
|
||||
|
||||
async def test_empty_handles_returns_empty(self, backend):
|
||||
result = await backend.dimension_auto([], style="chain")
|
||||
|
||||
Reference in New Issue
Block a user