43 lines
1.6 KiB
Python
43 lines
1.6 KiB
Python
import unittest
|
|
|
|
from tradingagents.agents.utils.instrument_resolver import resolve_instrument
|
|
from tradingagents.graph.propagation import Propagator
|
|
|
|
|
|
class InstrumentResolverTests(unittest.TestCase):
|
|
def test_resolves_us_symbol(self):
|
|
profile = resolve_instrument("AAPL")
|
|
self.assertEqual(profile.primary_symbol, "AAPL")
|
|
self.assertEqual(profile.country, "US")
|
|
|
|
def test_resolves_exchange_qualified_krx_symbol(self):
|
|
profile = resolve_instrument("005930.KS")
|
|
self.assertEqual(profile.primary_symbol, "005930.KS")
|
|
self.assertEqual(profile.country, "KR")
|
|
|
|
def test_resolves_numeric_krx_code(self):
|
|
profile = resolve_instrument("005930")
|
|
self.assertEqual(profile.primary_symbol, "005930.KS")
|
|
|
|
def test_resolves_korean_company_name(self):
|
|
profile = resolve_instrument("삼성전자")
|
|
self.assertEqual(profile.primary_symbol, "005930.KS")
|
|
|
|
def test_resolves_known_krx_english_name(self):
|
|
profile = resolve_instrument("NAVER")
|
|
self.assertEqual(profile.primary_symbol, "035420.KS")
|
|
|
|
def test_resolves_known_krx_numeric_code(self):
|
|
profile = resolve_instrument("035420")
|
|
self.assertEqual(profile.primary_symbol, "035420.KS")
|
|
|
|
def test_propagator_normalizes_instrument_into_state(self):
|
|
state = Propagator().create_initial_state("삼성전자", "2026-01-15")
|
|
self.assertEqual(state["company_of_interest"], "005930.KS")
|
|
self.assertEqual(state["input_instrument"], "삼성전자")
|
|
self.assertEqual(state["instrument_profile"]["country"], "KR")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|