1616package org .javamoney .moneta .convert .ecb ;
1717
1818import static javax .money .convert .MonetaryConversions .getExchangeRateProvider ;
19- import static org .testng .Assert .assertEquals ;
20- import static org .testng .Assert .assertNotNull ;
21- import static org .testng .Assert .assertTrue ;
19+ import static org .testng .Assert .*;
20+
2221import java .math .BigDecimal ;
22+ import java .time .LocalDate ;
2323import java .util .Objects ;
2424
2525import javax .money .CurrencyUnit ;
2626import javax .money .Monetary ;
2727import javax .money .MonetaryAmount ;
28+ import javax .money .convert .ConversionQueryBuilder ;
2829import javax .money .convert .CurrencyConversion ;
2930import javax .money .convert .ExchangeRateProvider ;
31+ import javax .money .convert .MonetaryConversions ;
3032
3133import org .javamoney .moneta .Money ;
3234import org .javamoney .moneta .convert .ExchangeRateType ;
@@ -53,13 +55,13 @@ public void setup() throws InterruptedException {
5355 }
5456
5557 @ Test
56- public void shouldReturnsECBHistoricRateProvider () {
58+ public void shouldReturnECBHistoricRateProvider () {
5759 assertTrue (Objects .nonNull (provider ));
5860 assertEquals (provider .getClass (), ECBHistoricRateProvider .class );
5961 }
6062
6163 @ Test
62- public void shouldReturnsSameDollarValue () {
64+ public void shouldReturnSameDollarValue () {
6365 CurrencyConversion currencyConversion = provider .getCurrencyConversion (DOLLAR );
6466 assertNotNull (currencyConversion );
6567 MonetaryAmount money = Money .of (BigDecimal .TEN , DOLLAR );
@@ -72,7 +74,7 @@ public void shouldReturnsSameDollarValue() {
7274 }
7375
7476 @ Test
75- public void shouldReturnsSameBrazilianValue () {
77+ public void shouldReturnSameBrazilianValue () {
7678 CurrencyConversion currencyConversion = provider
7779 .getCurrencyConversion (BRAZILIAN_REAL );
7880 assertNotNull (currencyConversion );
@@ -86,7 +88,7 @@ public void shouldReturnsSameBrazilianValue() {
8688 }
8789
8890 @ Test
89- public void shouldReturnsSameEuroValue () {
91+ public void shouldReturnSameEuroValue () {
9092 CurrencyConversion currencyConversion = provider
9193 .getCurrencyConversion (EURO );
9294 assertNotNull (currencyConversion );
@@ -100,7 +102,7 @@ public void shouldReturnsSameEuroValue() {
100102 }
101103
102104 @ Test
103- public void shouldConvertsDollarToEuro () {
105+ public void shouldConvertDollarToEuro () {
104106 CurrencyConversion currencyConversion = provider
105107 .getCurrencyConversion (EURO );
106108 assertNotNull (currencyConversion );
@@ -113,7 +115,7 @@ public void shouldConvertsDollarToEuro() {
113115 }
114116
115117 @ Test
116- public void shouldConvertsEuroToDollar () {
118+ public void shouldConvertEuroToDollar () {
117119 CurrencyConversion currencyConversion = provider
118120 .getCurrencyConversion (DOLLAR );
119121 assertNotNull (currencyConversion );
@@ -126,7 +128,7 @@ public void shouldConvertsEuroToDollar() {
126128 }
127129
128130 @ Test
129- public void shouldConvertsBrazilianToDollar () {
131+ public void shouldConvertBrazilianToDollar () {
130132 CurrencyConversion currencyConversion = provider
131133 .getCurrencyConversion (DOLLAR );
132134 assertNotNull (currencyConversion );
@@ -139,7 +141,7 @@ public void shouldConvertsBrazilianToDollar() {
139141 }
140142
141143 @ Test
142- public void shouldConvertsDollarToBrazilian () {
144+ public void shouldConvertDollarToBrazilian () {
143145 CurrencyConversion currencyConversion = provider
144146 .getCurrencyConversion (BRAZILIAN_REAL );
145147 assertNotNull (currencyConversion );
@@ -150,4 +152,36 @@ public void shouldConvertsDollarToBrazilian() {
150152 assertTrue (result .getNumber ().doubleValue () > 0 );
151153
152154 }
155+
156+ @ Test
157+ void selectFromECBWithGivenDate () {
158+ MonetaryAmount inEUR = Money .of (BigDecimal .TEN , "EUR" );
159+
160+ CurrencyConversion conv2 = provider .getCurrencyConversion (ConversionQueryBuilder .of ()
161+ .setTermCurrency ("USD" )
162+ .set (LocalDate .now ())
163+ .build ());
164+ /*CurrencyConversion conv2 = MonetaryConversions.getConversion(ConversionQueryBuilder.of()
165+ .setProviderName("ECB-HIST")
166+ .setTermCurrency("USD")
167+ .set(LocalDate.now())
168+ .build());*/
169+
170+ /*CurrencyConversion conv1 = MonetaryConversions.getConversion(
171+ ConversionQueryBuilder.of()
172+ .setProviderName("ECB-HIST")
173+ .setTermCurrency("USD")
174+ .set(LocalDate.of(2008, 1, 1))
175+ .build());
176+ */
177+ CurrencyConversion conv1 = provider .getCurrencyConversion (ConversionQueryBuilder .of ()
178+ .setTermCurrency ("USD" )
179+ .set (LocalDate .of (2008 , 1 , 1 ))
180+ .build ());
181+
182+ assertEquals (inEUR .with (conv1 ), inEUR .with (conv1 ));
183+ assertEquals (inEUR .with (conv2 ), inEUR .with (conv2 ));
184+ assertNotEquals (inEUR .with (conv1 ), inEUR .with (conv2 )); // <- failing step
185+ }
186+
153187}
0 commit comments