Skip to content

Commit 7a63755

Browse files
author
Otávio Santana
committed
Merge pull request #67 from JavaMoney/add_identical_test
adds IdentityRateProviderTest
2 parents 21b3746 + e523a3b commit 7a63755

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
package org.javamoney.moneta.convert.internal;
2+
3+
import static javax.money.convert.MonetaryConversions.getExchangeRateProvider;
4+
import static org.testng.Assert.assertEquals;
5+
import static org.testng.Assert.assertNotNull;
6+
import static org.testng.Assert.assertTrue;
7+
8+
import java.math.BigDecimal;
9+
import java.util.Objects;
10+
11+
import javax.money.CurrencyUnit;
12+
import javax.money.MonetaryAmount;
13+
import javax.money.MonetaryCurrencies;
14+
import javax.money.convert.CurrencyConversion;
15+
import javax.money.convert.ExchangeRateProvider;
16+
17+
import org.javamoney.moneta.ExchangeRateType;
18+
import org.javamoney.moneta.Money;
19+
import org.testng.annotations.BeforeTest;
20+
import org.testng.annotations.Test;
21+
22+
public class IdentityRateProviderTest {
23+
24+
private static final CurrencyUnit EURO = MonetaryCurrencies
25+
.getCurrency("EUR");
26+
private static final CurrencyUnit DOLLAR = MonetaryCurrencies
27+
.getCurrency("USD");
28+
private static final CurrencyUnit BRAZILIAN_REAL = MonetaryCurrencies
29+
.getCurrency("BRL");
30+
31+
private ExchangeRateProvider provider;
32+
33+
@BeforeTest
34+
public void setup() throws InterruptedException {
35+
provider = getExchangeRateProvider(ExchangeRateType.IDENTITY);
36+
}
37+
38+
@Test
39+
public void shouldReturnsIdentityRateProvider() {
40+
assertTrue(Objects.nonNull(provider));
41+
assertEquals(provider.getClass(), IdentityRateProvider.class);
42+
}
43+
44+
@Test
45+
public void shouldReturnsSameDollarValue() {
46+
CurrencyConversion currencyConversion = provider.getCurrencyConversion(DOLLAR);
47+
assertNotNull(currencyConversion);
48+
MonetaryAmount money = Money.of(BigDecimal.TEN, DOLLAR);
49+
MonetaryAmount result = currencyConversion.apply(money);
50+
51+
assertEquals(result.getCurrency(), DOLLAR);
52+
assertEquals(result.getNumber().numberValue(BigDecimal.class),
53+
BigDecimal.TEN);
54+
55+
}
56+
57+
@Test
58+
public void shouldReturnsSameBrazilianValue() {
59+
CurrencyConversion currencyConversion = provider
60+
.getCurrencyConversion(BRAZILIAN_REAL);
61+
assertNotNull(currencyConversion);
62+
MonetaryAmount money = Money.of(BigDecimal.TEN, BRAZILIAN_REAL);
63+
MonetaryAmount result = currencyConversion.apply(money);
64+
65+
assertEquals(result.getCurrency(), BRAZILIAN_REAL);
66+
assertEquals(result.getNumber().numberValue(BigDecimal.class),
67+
BigDecimal.TEN);
68+
69+
}
70+
71+
@Test
72+
public void shouldReturnsSameEuroValue() {
73+
CurrencyConversion currencyConversion = provider
74+
.getCurrencyConversion(EURO);
75+
assertNotNull(currencyConversion);
76+
MonetaryAmount money = Money.of(BigDecimal.TEN, EURO);
77+
MonetaryAmount result = currencyConversion.apply(money);
78+
79+
assertEquals(result.getCurrency(), EURO);
80+
assertEquals(result.getNumber().numberValue(BigDecimal.class),
81+
BigDecimal.TEN);
82+
83+
}
84+
85+
86+
}

0 commit comments

Comments
 (0)