From b3f8d8908f4c172eb00964ff39d12e47915ca5b1 Mon Sep 17 00:00:00 2001 From: 69049ed6x <69049ed6x@users.noreply.github.com> Date: Sat, 7 Mar 2026 14:14:13 +0800 Subject: [PATCH] test: cover factor rule signal casing --- tests/test_factor_rules.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/test_factor_rules.py b/tests/test_factor_rules.py index 08d869c4..bacbda3a 100644 --- a/tests/test_factor_rules.py +++ b/tests/test_factor_rules.py @@ -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()