add unit tests

This commit is contained in:
MaysWind
2024-11-16 15:07:32 +08:00
parent 3a7ad429c2
commit 3ee1683349
4 changed files with 132 additions and 0 deletions
@@ -330,4 +330,59 @@ func TestSwissNationalBankDataSource_InvalidRate(t *testing.T) {
"</rss>"))
assert.Equal(t, nil, err)
assert.Len(t, actualLatestExchangeRateResponse.ExchangeRates, 0)
actualLatestExchangeRateResponse, err = dataSource.Parse(context, []byte("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
"<rss xmlns:atom=\"http://www.w3.org/2005/Atom\" xmlns:cb=\"http://www.cbwiki.net/wiki/index.php/Specification_1.2/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dcterms=\"http://purl.org/dc/terms/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" version=\"2.0\">\n"+
" <channel>\n"+
" <pubDate>Tue, 12 Nov 2024 11:00:50 GMT</pubDate>\n"+
" <item>\n"+
" <cb:statistics rdf:parseType=\"Resource\">\n"+
" <cb:exchangeRate rdf:parseType=\"Resource\">\n"+
" <cb:observation rdf:parseType=\"Resource\">\n"+
" <cb:value>0</cb:value>\n"+
" <cb:unit>CHF</cb:unit>\n"+
" <cb:unit_mult>1</cb:unit_mult>\n"+
" </cb:observation>\n"+
" <cb:baseCurrency>CHF</cb:baseCurrency>\n"+
" <cb:targetCurrency>EUR</cb:targetCurrency>\n"+
" <cb:observationPeriod rdf:parseType=\"Resource\">\n"+
" <cb:period>2024-11-12</cb:period>\n"+
" </cb:observationPeriod>\n"+
" </cb:exchangeRate>\n"+
" </cb:statistics>\n"+
" </item>\n"+
" </channel>\n"+
"</rss>"))
assert.Equal(t, nil, err)
assert.Len(t, actualLatestExchangeRateResponse.ExchangeRates, 0)
}
func TestSwissNationalBankDataSource_InvalidUnit(t *testing.T) {
dataSource := &SwissNationalBankDataSource{}
context := core.NewNullContext()
actualLatestExchangeRateResponse, err := dataSource.Parse(context, []byte("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
"<rss xmlns:atom=\"http://www.w3.org/2005/Atom\" xmlns:cb=\"http://www.cbwiki.net/wiki/index.php/Specification_1.2/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dcterms=\"http://purl.org/dc/terms/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" version=\"2.0\">\n"+
" <channel>\n"+
" <pubDate>Tue, 12 Nov 2024 11:00:50 GMT</pubDate>\n"+
" <item>\n"+
" <cb:statistics rdf:parseType=\"Resource\">\n"+
" <cb:exchangeRate rdf:parseType=\"Resource\">\n"+
" <cb:observation rdf:parseType=\"Resource\">\n"+
" <cb:value>0.9378</cb:value>\n"+
" <cb:unit>CHF</cb:unit>\n"+
" <cb:unit_mult>null</cb:unit_mult>\n"+
" </cb:observation>\n"+
" <cb:baseCurrency>CHF</cb:baseCurrency>\n"+
" <cb:targetCurrency>EUR</cb:targetCurrency>\n"+
" <cb:observationPeriod rdf:parseType=\"Resource\">\n"+
" <cb:period>2024-11-12</cb:period>\n"+
" </cb:observationPeriod>\n"+
" </cb:exchangeRate>\n"+
" </cb:statistics>\n"+
" </item>\n"+
" </channel>\n"+
"</rss>"))
assert.Equal(t, nil, err)
assert.Len(t, actualLatestExchangeRateResponse.ExchangeRates, 0)
}