"""물넘이포장 노면 경사 = 좌측 패널 경사각(°) → %(PLAN 66-2). 경사각이 있으면 그 값 · 없으면 옛 「바닥 경사(%)」 · 둘 다 없으면 기본 3°. """ import math from B06_Section.B06_Section_Engine_Culvert import _ford_pavement_set def test_slope_degree_becomes_percent() -> None: spec = _ford_pavement_set({"ford_height_m": 0.3, "ford_slope_deg": 5}) assert spec["slope_pct"] == round(math.tan(math.radians(5)) * 100, 4) assert not any("경사각" in item for item in spec["defaulted"]) def test_slope_defaults_to_three_degrees() -> None: spec = _ford_pavement_set({"ford_height_m": 0.3}) assert spec["slope_pct"] == round(math.tan(math.radians(3)) * 100, 4) assert "경사각 3" in spec["defaulted"] def test_legacy_percent_kept_without_degree() -> None: spec = _ford_pavement_set({"ford_height_m": 0.3, "ford_slope_pct": 2.0}) assert spec["slope_pct"] == 2.0