from argus_mcp.symbols import canonicalize_symbol, get_symbol_spec def test_canonicalize_legacy_dxy_to_uup(): assert canonicalize_symbol("DXY") == "UUP" def test_symbol_spec_maps_crypto_provider_symbols(): btc = get_symbol_spec("BTCUSD") assert btc.canonical == "BTCUSD" assert btc.finnhub == "BINANCE:BTCUSDT" assert btc.twelve_data == "BTC/USD" def test_symbol_spec_covers_tech_and_energy_proxies(): assert get_symbol_spec("XLK").finnhub == "XLK" assert get_symbol_spec("SMH").twelve_data == "SMH" assert get_symbol_spec("USO").canonical == "USO" def test_symbol_spec_covers_transport_proxies(): assert get_symbol_spec("IYT").finnhub == "IYT" assert get_symbol_spec("JETS").twelve_data == "JETS" assert get_symbol_spec("ZIM").canonical == "ZIM" def test_symbol_spec_covers_metals_mcp_proxies(): assert get_symbol_spec("XAU").metals_mcp == "XAU" assert get_symbol_spec("XAG").metals_mcp == "XAG" assert get_symbol_spec("XPT").metals_mcp == "XPT" assert get_symbol_spec("XPD").metals_mcp == "XPD"