47 lines
1.1 KiB
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{}{}
|
|
}
|
|
}
|
|
|
|
|