Skip to content

Commit 340dac4

Browse files
author
Otávio Santana
committed
Merge pull request #68 from JavaMoney/fixes_tck_tests
fixes tests from tck
2 parents 1147131 + b05afb3 commit 340dac4

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/main/java/org/javamoney/moneta/convert/internal/AbstractECBCurrentRateProvider.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import javax.money.MonetaryCurrencies;
3232
import javax.money.convert.ConversionContextBuilder;
3333
import javax.money.convert.ConversionQuery;
34+
import javax.money.convert.CurrencyConversionException;
3435
import javax.money.convert.ExchangeRate;
3536
import javax.money.convert.ProviderContext;
3637
import javax.money.convert.RateType;
@@ -98,6 +99,7 @@ public void newDataLoaded(String data, InputStream is){
9899

99100
@Override
100101
public ExchangeRate getExchangeRate(ConversionQuery query){
102+
Objects.requireNonNull(query);
101103
if(historicRates.isEmpty()){
102104
return null;
103105
}
@@ -140,12 +142,13 @@ private ExchangeRate createExchangeRate(ConversionQuery query,
140142
ExchangeRate rate2 = getExchangeRate(
141143
query.toBuilder().setBaseCurrency(MonetaryCurrencies.getCurrency(BASE_CURRENCY_CODE))
142144
.setTermCurrency(query.getCurrency()).build());
143-
if(Objects.nonNull(rate1) || Objects.nonNull(rate2)){
145+
if(Objects.nonNull(rate1) && Objects.nonNull(rate2)){
144146
builder.setFactor(multiply(rate1.getFactor(), rate2.getFactor()));
145147
builder.setRateChain(rate1, rate2);
146148
return builder.build();
147149
}
148-
return null;
150+
throw new CurrencyConversionException(query.getBaseCurrency(),
151+
query.getCurrency(), sourceRate.getConversionContext());
149152
}
150153
}
151154

0 commit comments

Comments
 (0)