32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
import unittest
|
|
|
|
from tradingagents.graph.signal_processing import SignalProcessor
|
|
|
|
|
|
class _UnusedLLM:
|
|
def invoke(self, _messages):
|
|
raise AssertionError("LLM fallback should not be used for normalized ratings")
|
|
|
|
|
|
class SignalProcessingLocalizationTests(unittest.TestCase):
|
|
def test_normalizes_chinese_final_proposal_markers(self):
|
|
processor = SignalProcessor(_UnusedLLM())
|
|
|
|
self.assertEqual(processor.process_signal("最终交易建议: **买入**"), "BUY")
|
|
self.assertEqual(processor.process_signal("最终交易建议: **增持**"), "OVERWEIGHT")
|
|
self.assertEqual(processor.process_signal("最终交易建议: **持有**"), "HOLD")
|
|
self.assertEqual(processor.process_signal("最终交易建议: **减持**"), "UNDERWEIGHT")
|
|
self.assertEqual(processor.process_signal("最终交易建议: **卖出**"), "SELL")
|
|
|
|
def test_normalizes_english_internal_markers(self):
|
|
processor = SignalProcessor(_UnusedLLM())
|
|
|
|
self.assertEqual(
|
|
processor.process_signal("FINAL TRANSACTION PROPOSAL: **BUY**"),
|
|
"BUY",
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|