Files
Aislo/resources/tester/test_176_1_seam.py
T
eomsangdonandClaude Opus 5.5 23b5e93b03 fix(b05): 3D 성토 비탈 끝 깨짐 고침 — 잇는 띠 1.5 m · 성토 덩이 끝 3 m 뜸 감쇠(176-1)
- TIN 비탈 끝 둘레 1.5 m 안 지형 정점 뺌(SEAM_M) · 상자도 같은 만큼 넓힘(틈 0)
- 성토 덩이 끝 누가거리 3 m 안 toeOff smoothstep 으로 0 까지
- helper_115_8 공사 밖 판정 · 측점 단면 비교에서 이음 띠 뺌 · 새 시험 test_176_1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QND7Co43B24zK2P937rdxt
2026-10-10 11:49:44 +09:00

46 lines
1.3 KiB
Python

# -*- coding: utf-8 -*-
"""PLAN 176-1 — B05 3D 성토 비탈 끝 깨짐(172 뒤) 고침 검사.
도우미(helper_176_1_seam.cjs) — 직선 80 m · 성토(0~40 m) → 절토(60~80 m) · 지반 사인 물결(진폭 1 m).
비탈 끝 바깥 SEAM_M(1.5 m) 안 지형 점 빼서 잇는 띠 완만 · 성토 덩이 끝 3 m 안 뜸 0 까지 줄임.
"""
import json
import os
import subprocess
import pytest
HERE = os.path.dirname(os.path.abspath(__file__))
@pytest.fixture(scope="module")
def r():
proc = subprocess.run(
["node", os.path.join(HERE, "helper_176_1_seam.cjs")],
capture_output=True,
text=True,
timeout=240,
)
assert proc.returncode == 0, proc.stderr
return json.loads(proc.stdout)
def test_seam_band_gentle(r):
# 성토 비탈 끝을 쓰는 원지반 삼각형 경사 p99 < 45°(1 mm 띠 = 54.7°)
assert r["seam"] == 1.5
assert r["seamTris"] > 100, r
assert r["seamP99"] < 45, r
def test_run_end_lift_tapered(r):
# 성토 덩이 가운데는 한도까지 뜸(물결이 실제로 재어짐) · 절토로 바뀌는 끝은 0 근처
assert r["midOff"] > 0.4, r
assert r["endX"][0] > 45 and r["endX"][1] > 45, r
assert r["endOff"] < 0.02, r
def test_no_gap_no_failed_constraint(r):
assert r["gaps"] == 0, r
assert r["stats"]["failed"] == 0, r