test: cover factor rule signal casing

This commit is contained in:
69049ed6x 2026-03-07 14:14:13 +08:00
parent 1f7fd87f97
commit b3f8d8908f
1 changed files with 15 additions and 0 deletions

View File

@ -144,6 +144,21 @@ class FactorRulesPathTests(unittest.TestCase):
self.assertIn("No factor rules were loaded", summary)
self.assertIn("do not fabricate rule-based signals", summary)
def test_summarize_factor_rules_treats_signal_case_insensitively(self):
summary = summarize_factor_rules(
[
{"name": "Value", "signal": "BULLISH"},
{"name": "Quality", "signal": "Negative"},
{"name": "Balance", "signal": "NeUtRaL"},
],
ticker="NVDA",
trade_date="2026-03-07",
)
self.assertIn("- Bullish leaning rules: 1", summary)
self.assertIn("- Bearish leaning rules: 1", summary)
self.assertIn("- Neutral / mixed rules: 1", summary)
if __name__ == "__main__":
unittest.main()