From d9357a5f58464d2d7e6ee37ea116830160c61f1f Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 26 Oct 2026 04:56:42 +0900 Subject: [PATCH] =?UTF-8?q?test(536-3):=20=EC=B8=A1=EC=A0=90=20=EA=BC=B4?= =?UTF-8?q?=20=EB=84=A4=EC=9D=BC=20=EA=B8=B8=EC=9D=B4=20=EB=8C=80=20?= =?UTF-8?q?=EC=95=88=EC=A0=84=EC=9C=A8=20=EB=8B=A8=EC=A1=B0=20=C2=B7=20?= =?UTF-8?q?=EB=B3=B4=EA=B0=95=20=EC=97=86=EC=9D=8C=20=EC=9D=B4=EC=83=81=20?= =?UTF-8?q?=EC=8B=9C=ED=97=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 네일 3행 L 3~25 m 임계 F 줄지 않음 · 탐색 한계 그대로 (요구 351 · sub4 0ef659b0d 뒤) - 0+720 우 깎기 우기: 보강 없음 1.027 → L 3 1.049 · 7.5 1.219 · 25 1.487 · 최소 길이 7.5 m Co-Authored-By: Claude Sonnet 5.5 --- resources/tester/test_536_3_stab_supports.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/resources/tester/test_536_3_stab_supports.py b/resources/tester/test_536_3_stab_supports.py index 6b32ecc95..994aca713 100644 --- a/resources/tester/test_536_3_stab_supports.py +++ b/resources/tester/test_536_3_stab_supports.py @@ -316,3 +316,19 @@ def test_station_side_and_result_slot(): if __name__ == "__main__": sys.exit(pytest.main([__file__, "-q"])) + + +def test_station_nail_length_vs_fs_monotonic(): + """측점 꼴 — 네일 3행 길이 3~25 m: 임계 F 가 길이에 따라 줄지 않음(포화 뒤 평평 허용) · 항상 보강 없음 이상 · 탐색 한계 그대로(요구 351).""" + base = {c["side"]: c for c in _station(None)["cases"]}["right"] + f0 = base["min_F"]["bishop"] + heads = [(-4.0, 11.48), (-4.6, 12.98), (-5.2, 14.48)] + prev = f0 + for L in (3.0, 6.0, 7.5, 9.0, 12.0, 25.0): + sups = [nail(x, z, 15, L, 1.5, 121.6, 40 * math.pi * 0.1) for x, z in heads] + right = {c["side"]: c for c in _station(sups)["cases"]}["right"] + assert right["result"]["limits"] == base["result"]["limits"] + f = right["min_F"]["bishop"] + assert f >= f0 - 1e-9 and f >= prev - 0.005, (L, f0, prev, f) + prev = f + assert prev > f0