package ted import "testing" func TestCurrencyTextAmountAndCurrency(t *testing.T) { t.Run("chardata", func(t *testing.T) { amount, currency := (CurrencyText{CurrencyID: "EUR", Text: "1 234,56"}).AmountAndCurrency() if amount != "1 234,56" { t.Fatalf("unexpected amount %q", amount) } if currency != "EUR" { t.Fatalf("unexpected currency %q", currency) } }) t.Run("value child", func(t *testing.T) { amount, currency := (CurrencyText{CurrencyID: "EUR", Value: "500000"}).AmountAndCurrency() if amount != "500000" { t.Fatalf("unexpected amount %q", amount) } if currency != "EUR" { t.Fatalf("unexpected currency %q", currency) } }) } func TestContractNoticeGetBudgetSumsAllLots(t *testing.T) { cn := ContractNotice{ ProcurementProjectLots: []ProcurementProjectLot{ { ProcurementProject: &ProcurementProject{ RequestedTenderTotal: &RequestedTenderTotal{ EstimatedOverallContractAmount: CurrencyText{CurrencyID: "EUR", Text: "100000"}, }, }, }, { ProcurementProject: &ProcurementProject{ RequestedTenderTotal: &RequestedTenderTotal{ EstimatedOverallContractAmount: CurrencyText{CurrencyID: "EUR", Text: "250000"}, }, }, }, }, } amount, currency := cn.GetBudget() value, ok := ParseEuropeanAmount(amount) if !ok { t.Fatalf("failed to parse budget amount %q", amount) } if value != 350000 { t.Fatalf("expected 350000, got %v", value) } if currency != "EUR" { t.Fatalf("expected EUR, got %q", currency) } }