- tests/fixtures/double_transit_d1_cl_golden.json recaptured with the test's own --capture (PYTHONHASHSEED=0, chart cache TTL 0): 413 of 578 leaf entries and all 36 chart-house stats rows move (double-transit overlaps: D1 0 -> 15, CL 0 -> 6) because aspects are now counted from 1 (42d1582f). - V.P. Jain benchmark: within tolerance 34 -> 36, variants 8 -> 6; Chesta Mars/Jupiter/Saturn now match the published values, Venus no longer does (08376cf0). Original / new / reason recorded in the test. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
43 lines
2.2 KiB
Python
43 lines
2.2 KiB
Python
from scripts.vp_jain_shadbala_benchmark import build_report
|
||
|
||
|
||
def test_vp_jain_published_component_benchmark_is_fully_classified() -> None:
|
||
report = build_report()
|
||
|
||
assert report["case"]["name"] == "VP Jain-attributed Shadbala fixture"
|
||
assert report["source"] == {
|
||
"upstream": "PyJHora V4.8.7 pvr_tests.py::shadbala_VPJainBook_tests",
|
||
"upstream_commit": "ca22995709bd60e371e7820a1a5efc80ce4cf821",
|
||
"upstream_url": "https://github.com/naturalstupid/PyJHora/blob/ca22995709bd60e371e7820a1a5efc80ce4cf821/src/jhora/tests/pvr_tests.py#L6853",
|
||
"upstream_issue": None,
|
||
"license_boundary": "AGPL-3.0 process-isolated numeric expectations only; no implementation copied.",
|
||
"truth_status": "candidate_attributed_fixture_replay_not_independent_arbitration",
|
||
}
|
||
assert report["summary"]["row_count"] == 42
|
||
assert report["summary"]["classified_count"] == 42
|
||
# 原值: within_tolerance 34 / method_variant 8
|
||
# 新值: within_tolerance 36 / method_variant 6
|
||
# 原因: TASK-upstream-sync4-20261002 T3(上游 0afa2780)平运动连续计时、短弧中点后,
|
||
# Chesta 火星 19.25→21.08、木星 11.23→8.86、土星 6.78→4.34 进入 ±1 Virupa;
|
||
# 金星 27.23→30.03 离开(公布值 28.18);水星 18.08→27.14 仍差 1.62。
|
||
assert report["summary"]["within_tolerance_count"] == 36
|
||
assert report["summary"]["method_variant_count"] == 6
|
||
|
||
|
||
def test_vp_jain_benchmark_keeps_known_method_variants_explicit() -> None:
|
||
rows = build_report()["rows"]
|
||
variants = {(row["component"], row["planet"]): row for row in rows if row["status"] != "within_tolerance"}
|
||
|
||
assert set(variants) == {
|
||
("sthana", "Sun"),
|
||
("sthana", "Mercury"),
|
||
("chesta", "Sun"),
|
||
("chesta", "Moon"),
|
||
("chesta", "Mercury"),
|
||
("chesta", "Venus"),
|
||
}
|
||
# 原值: chesta 非匹配集 {Sun, Moon, Mars, Mercury, Jupiter, Saturn}
|
||
# 新值: {Sun, Moon, Mercury, Venus}(原因同上:T3 Chesta 修正后火/木/土落入容差、金星跳出)
|
||
assert variants[("sthana", "Sun")]["variant"] == "moolatrikona_degree_range_vs_whole_sign"
|
||
assert variants[("chesta", "Moon")]["variant"] == "luminary_chesta_policy"
|