feat(E06·E07): [해석] = 저장 · E06 [저장] · E07 [다시 해석] 뺌 · E07 엔진 판 해시 · 광역 물성 = E02 (PLAN 564-4)

- E06 — [저장] 단추 뺌 · [해석]이 고친 절리를 먼저 저장 · 안내 글 「[해석] = 저장 + 해석」
- E07 — [다시 해석] 뺌 · 엔진 판 = 엔진 · 길 파일 해시(engine_hash) · 지문에 E02 물성(ground_material)
  → E02 붕적토가 바뀌면 옛 결과 · 캐시 없이 열면 지난 조건 + 지금 E02 물성 값
- 시험 536_2 지문(E02 물성 · 엔진 해시) 함수 하나 덧

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-27 20:03:03 +09:00
co-authored by Claude Opus 5.5
parent 205bc275cd
commit 95e352205d
6 changed files with 99 additions and 63 deletions
+12
View File
@@ -266,3 +266,15 @@ def test_길_띠_측점표_저장본(project):
"s", {**settings, "c": 6}
)
json.dumps(doc) # 그대로 JSON
def test_지문_E02_물성_엔진_해시(project, monkeypatch):
"""광역 물성 = E02 값 — E02 붕적토가 바뀌거나 엔진 파일이 바뀌면 지문이 달라 옛 결과."""
settings = router_mod.defaults(project)
ground = router_mod.ground_material(project, settings["material_id"])
assert ground["id"] == "colluvium" and ground["c"] == settings["c"]
assert router_mod.ground_material(project, "없는것") == ground # 모르는 id = 붕적토
before = router_mod.fingerprint("s", settings, ground)
assert before != router_mod.fingerprint("s", settings, {**ground, "c": ground["c"] + 1})
monkeypatch.setattr(router_mod, "engine_hash", lambda: "바뀜")
assert before != router_mod.fingerprint("s", settings, ground)