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"