seekia/resources/currencies/currencies_test.go

47 lines
1.1 KiB
Go

package currencies_test
import "seekia/resources/currencies"
import "testing"
func TestCurrencies(t *testing.T){
currencyObjectsList, err := currencies.GetCurrencyObjectsList()
if (err != nil){
t.Fatalf("GetCurrencyObjectsList failed: " + err.Error())
}
// We make sure there are no collisions of currency names or codes
currencyNamesMap := make(map[string]struct{})
currencyCodesMap := make(map[string]struct{})
for _, currencyObject := range currencyObjectsList{
currencyName := currencyObject.Name
currencyCode := currencyObject.Code
if (currencyName == ""){
t.Fatalf("Empty currency name exists.")
}
if (currencyCode == ""){
t.Fatalf("Empty currency code exists.")
}
_, exists := currencyNamesMap[currencyName]
if (exists == true){
t.Fatalf("Currency name collision exists: " + currencyName)
}
_, exists = currencyCodesMap[currencyCode]
if (exists == true){
t.Fatalf("Currency code collision exists: " + currencyCode)
}
currencyNamesMap[currencyName] = struct{}{}
currencyCodesMap[currencyCode] = struct{}{}
}
}