65 lines
1.8 KiB
Go
65 lines
1.8 KiB
Go
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 TestSelectCanonicalFutureSymbol_PrefersPrefixThenQuote(t *testing.T) {
|
|
pairs := []string{"PEPEUSDC", "PEPEUSDT", "1000PEPEUSDC", "1000PEPEUSDT"}
|
|
got := selectCanonicalFutureSymbol("PEPE", pairs)
|
|
if got != "1000PEPEUSDT" {
|
|
t.Fatalf("expected 1000PEPEUSDT, got %q", got)
|
|
}
|
|
}
|
|
|
|
func TestSelectCanonicalFutureSymbol_UsesQuoteAbbreviation(t *testing.T) {
|
|
pairs := []string{"PEPEUSDC"}
|
|
got := selectCanonicalFutureSymbol("PEPEC", pairs)
|
|
if got != "PEPEUSDC" {
|
|
t.Fatalf("expected PEPEUSDC, got %q", got)
|
|
}
|
|
}
|
|
|
|
func TestTokenKeyFromSymbol_PreservesUnmappedFutureToken(t *testing.T) {
|
|
got := tokenKeyFromSymbol("LUNA2USDT")
|
|
if got != "LUNA2" {
|
|
t.Fatalf("expected LUNA2, got %q", got)
|
|
}
|
|
}
|
|
|
|
func TestTokenKeyFromSymbol_StripsKnownPrefix(t *testing.T) {
|
|
got := tokenKeyFromSymbol("1000PEPEUSDT")
|
|
if got != "PEPE" {
|
|
t.Fatalf("expected PEPE, got %q", got)
|
|
}
|
|
}
|
|
|
|
func TestTokenKeyFromSymbol_UsesQuoteAbbreviation(t *testing.T) {
|
|
got := tokenKeyFromSymbol("PEPEUSDC")
|
|
if got != "PEPEC" {
|
|
t.Fatalf("expected PEPEC, got %q", got)
|
|
}
|
|
}
|