63 lines
1.6 KiB
Go
63 lines
1.6 KiB
Go
package common
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestCurrencyRatesTicker_ConvertToken(t *testing.T) {
|
|
ticker := &CurrencyRatesTicker{
|
|
Rates: map[string]float32{
|
|
"usd": 2129.987654321,
|
|
"eur": 1332.12345678,
|
|
},
|
|
TokenRates: map[string]float32{
|
|
"0x82df128257a7d7556262e1ab7f1f639d9775b85e": 0.4092341123,
|
|
"0x6b175474e89094c44da98b954eedeac495271d0f": 12.32323232323232,
|
|
"0xdac17f958d2ee523a2206206994597c13d831ec7": 1332421341235.51234,
|
|
},
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
value float64
|
|
token string
|
|
toCurrency string
|
|
want float64
|
|
}{
|
|
{
|
|
name: "usd 0x82df128257a7d7556262e1ab7f1f639d9775b85e",
|
|
value: 10,
|
|
token: "0x82df128257a7d7556262e1ab7f1f639d9775b85e",
|
|
toCurrency: "usd",
|
|
want: 8716.635514874506,
|
|
},
|
|
{
|
|
name: "eur 0xdac17f958d2ee523a2206206994597c13d831ec7",
|
|
value: 23.123,
|
|
token: "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
|
toCurrency: "eur",
|
|
want: 4.104216071804417e+16,
|
|
},
|
|
{
|
|
name: "eur 0xdac17f958d2ee523a2206206994597c13d831ec8",
|
|
value: 23.123,
|
|
token: "0xdac17f958d2ee523a2206206994597c13d831ec8",
|
|
toCurrency: "eur",
|
|
want: 0,
|
|
},
|
|
{
|
|
name: "eur 0xdac17f958d2ee523a2206206994597c13d831ec7",
|
|
value: 23.123,
|
|
token: "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
|
toCurrency: "czk",
|
|
want: 0,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if got := ticker.ConvertToken(tt.value, tt.token, tt.toCurrency); got != tt.want {
|
|
t.Errorf("CurrencyRatesTicker.ConvertToken() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|