feat(567-1): E05 보고서 판정 면 — 측점표 판정 방법 · 면 확인 · 모형 끝 면 칸 · 대표단면 조건별 판정 면 · 탐색 한계 한 줄
- 측점표(s4) 오른쪽에 판정 방법 · 면 확인 · 모형 끝 면 칸 셋 + 풀이 한 줄(탐색 한계 포함) - 대표단면(s5) 조건별 방법 · 임계면 그림 · 부록 절편 = E03 판정 면(원호 Bishop · 비원호 Spencer · M-P 중 작은 값) - 입력조건 해석 방법 글 · 탐색 한계 한 줄 갱신 - 시험 534_3 판정 면 경우 덧 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -283,6 +283,53 @@ def test_처음_만듦_측점수_NG_그림(project):
|
||||
assert saved["fingerprint"] == build.analysis_fingerprint(project)
|
||||
|
||||
|
||||
def test_567_판정_면_방법_면확인_모형끝_탐색한계(project):
|
||||
"""567-1 이음 — 비원호(M-P)가 판정한 측점 · 조건별 방법 · 면 확인 · 모형 끝 면 · 탐색 한계."""
|
||||
rows = [_summary(i) for i in range(N)]
|
||||
dry = rows[3]["cases"]["dry"]["left"]
|
||||
dry.update(method="morgenstern_price", fs_circular=1.9, surface_check=True, edge=True)
|
||||
wet = rows[3]["cases"]["wet"]["left"]
|
||||
wet.update(method="bishop", fs_circular=wet["fs"], surface_check=False, edge=False)
|
||||
rows[3]["cases"]["wet"]["right"]["surface_check"] = True # 다른 비탈 면 확인도 조건에 잡힘
|
||||
_write_summary(project, "fp-2", rows)
|
||||
value = json.loads((derived_dir(project, KIND_SUMMARY) / "fp-2.json").read_text("utf-8"))
|
||||
value["value"]["search_reach"] = "2h"
|
||||
(derived_dir(project, KIND_SUMMARY) / "fp-2.json").write_text(json.dumps(value), "utf-8")
|
||||
doc = _station_doc(3)
|
||||
poly = {**_slip(1.31), "kind": "polyline", "entry": [-29.5, 100.0], "exit": [5.0, 99.0]}
|
||||
poly.pop("center"), poly.pop("radius")
|
||||
for case in doc["cases"]:
|
||||
if case["condition"] == "dry" and case["side"] == "left":
|
||||
circ = _slip(1.9)
|
||||
case["result"] = {
|
||||
"model_x": [-30.0, 30.0],
|
||||
"methods": {
|
||||
"bishop": {"circular": circ, "min": circ},
|
||||
"morgenstern_price": {"noncircular": poly, "min": poly},
|
||||
},
|
||||
}
|
||||
write_derived(project, KIND_STATION, "st3", {"out": doc, "error": None}, keep=N)
|
||||
_create(project)
|
||||
book, _ = store.load(project)
|
||||
by = _sheets(book)
|
||||
s4 = by["측점표"]["칸"]
|
||||
r = 9 # 60 m = 4 번째 줄(6 행부터)
|
||||
assert s4[f"D{r}"]["값"] == 1.31 # E03 화면 건기 판정 값과 같음
|
||||
assert s4[f"L{r}"]["값"] == "건기 M-P · 우기 Bishop"
|
||||
assert (s4[f"M{r}"]["값"], s4[f"N{r}"]["값"]) == ("건기 · 우기", "건기")
|
||||
assert (s4["L6"]["값"], s4["M6"]["값"], s4["N6"]["값"]) == ("Bishop", "-", "-") # 옛 꼴
|
||||
assert s4["L4"]["값"] == "판정 방법" and s4["M4"]["값"] == "면 확인"
|
||||
assert "탐색 한계 = 비탈 끝 + 2H" in s4["A3"]["값"] and "15 %" in s4["A3"]["값"]
|
||||
assert "탐색 한계 = 비탈 끝 + 2H" in by["입력조건"]["칸"]["B6"]["값"]
|
||||
s5, s10 = by["대표단면"]["칸"], by["부록_절편"]["칸"]
|
||||
assert (s5["B24"]["값"], s5["B25"]["값"]) == ("Morgenstern-Price", "Bishop")
|
||||
assert s5["E24"]["값"] == "N.G" and s5["C24"]["값"] == 1.31
|
||||
assert s5["F24"]["값"] == "-" and s5["F25"]["값"] == 12.5 # 비원호 = 반경 없음
|
||||
assert "면 확인 건기" in s5["B27"]["값"] and "모형 끝 면 건기" in s5["B27"]["값"]
|
||||
assert "Morgenstern-Price" in s10["A1"]["값"] and "Fs 1.310" in s10["A1"]["값"]
|
||||
assert "비원호" in s10["A2"]["값"]
|
||||
|
||||
|
||||
def test_광역요약_E07_저장본(project):
|
||||
"""E07 저장본 없음 = 「광역 해석 전」 · 생김 = 지문 바뀜 → 갱신 뒤 등급 면적 · 위험 측점 줄."""
|
||||
_create(project)
|
||||
|
||||
Reference in New Issue
Block a user