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