import unittest from swarm_minimal.acceptance_scoring import ScoreItem, current_minimal_swarm_score, score_items class AcceptanceScoringTest(unittest.TestCase): def test_current_minimal_swarm_score_is_numeric_and_highly_compliant(self) -> None: report = current_minimal_swarm_score() self.assertEqual(report.status, "PASS") self.assertEqual(report.swarmness_score, 100.0) self.assertEqual(report.minimal_compliance_score, 100.0) self.assertEqual(report.tier, "极强本地最小蜂群合规") self.assertEqual(report.hard_caps, ()) def test_core_swarm_failure_caps_score_below_acceptance(self) -> None: items = tuple( ScoreItem( id=f"F{index}", name=f"feature-{index}", weight=10, passed=index != 3, actual="test", threshold="test", group="core_swarm", ) for index in range(1, 7) ) + ( ScoreItem("S07", "support", 40, True, "ok", "ok", "support"), ) report = score_items(items) self.assertEqual(report.status, "FAIL") self.assertLessEqual(report.minimal_compliance_score, 59) self.assertIn("core swarm feature failed", report.hard_caps[0]) self.assertEqual(report.tier, "不满足蜂群") if __name__ == "__main__": unittest.main()