package market import "testing" func TestSelectCanonicalSymbolByQuotePriority(t *testing.T) { pairs := []string{"DOGEFDUSD", "DOGEUSDC", "DOGEUSDT"} got := selectCanonicalSymbolByQuotePriority("DOGE", pairs) if got != "DOGEUSDT" { t.Fatalf("expected DOGEUSDT, got %q", got) } } func TestSelectCanonicalSymbolByQuotePriority_FallbackOrder(t *testing.T) { pairs := []string{"DOGEFDUSD", "DOGEUSDC"} got := selectCanonicalSymbolByQuotePriority("DOGE", pairs) if got != "DOGEUSDC" { t.Fatalf("expected DOGEUSDC, got %q", got) } } func TestSelectCanonicalSymbolByQuotePriority_NoPreferredQuote(t *testing.T) { pairs := []string{"DOGEBUSD"} got := selectCanonicalSymbolByQuotePriority("DOGE", pairs) if got != "DOGEBUSD" { t.Fatalf("expected DOGEBUSD, got %q", got) } } func TestFutureCacheTokenKey_PreservesRawFutureToken(t *testing.T) { got := futureCacheTokenKey("LUNA2") if got != "LUNA2" { t.Fatalf("expected LUNA2, got %q", got) } } func TestFutureCacheTokenKey_NoOverride(t *testing.T) { got := futureCacheTokenKey("PEPE") if got != "PEPE" { t.Fatalf("expected PEPE, got %q", got) } }