use of javax.money.MonetaryAmount in project jsr354-ri-bp by JavaMoney.
the class PrecisionScaleRoundedOperatorTest method shouldRoundedMonetaryOperatorWhenTheImplementationIsMoney.
@Test
public void shouldRoundedMonetaryOperatorWhenTheImplementationIsMoney() {
int scale = 3;
int precision = 5;
CurrencyUnit real = Monetary.getCurrency("BRL");
BigDecimal valueOf = BigDecimal.valueOf(35.34567);
MonetaryAmount money = Money.of(valueOf, real);
MathContext mathContext = new MathContext(precision, RoundingMode.HALF_EVEN);
PrecisionScaleRoundedOperator monetaryOperator = PrecisionScaleRoundedOperator.of(scale, mathContext);
MonetaryAmount result = monetaryOperator.apply(money);
assertTrue(RoundedMoney.class.isInstance(result));
assertEquals(result.getCurrency(), real);
assertEquals(result.getNumber().getScale(), scale);
assertEquals(result.getNumber().getPrecision(), precision);
assertEquals(BigDecimal.valueOf(35.346), result.getNumber().numberValue(BigDecimal.class));
}
use of javax.money.MonetaryAmount in project jsr354-ri-bp by JavaMoney.
the class ReciprocalOperatorTest method shouldReturnPositiveValue.
@Test
public void shouldReturnPositiveValue() {
CurrencyUnit currency = Monetary.getCurrency("EUR");
MonetaryAmount money = Money.parse("EUR 2.0");
MonetaryAmount result = operator.apply(money);
assertEquals(result.getCurrency(), currency);
assertEquals(result.getNumber().doubleValue(), 0.5);
}
use of javax.money.MonetaryAmount in project jsr354-ri-bp by JavaMoney.
the class RoudingMonetaryAmountOperatorTest method shouldReturnPositiveValue.
@Test
public void shouldReturnPositiveValue() {
CurrencyUnit currency = Monetary.getCurrency("EUR");
MonetaryAmount money = Money.parse("EUR 2.3523");
MonetaryAmount result = operator.apply(money);
assertEquals(result.getCurrency(), currency);
assertEquals(result.getNumber().doubleValue(), 2.35);
}
use of javax.money.MonetaryAmount in project jsr354-ri-bp by JavaMoney.
the class RoudingMonetaryAmountOperatorTest method shouldReturnNegativeValue.
@Test
public void shouldReturnNegativeValue() {
CurrencyUnit currency = Monetary.getCurrency("BHD");
MonetaryAmount money = Money.parse("BHD -1.34534432");
MonetaryAmount result = operator.apply(money);
assertEquals(result.getCurrency(), currency);
assertEquals(result.getNumber().doubleValue(), -1.345);
}
use of javax.money.MonetaryAmount in project jsr354-ri-bp by JavaMoney.
the class RoudingMonetaryAmountOperatorTest method shouldReturnPositiveValueUsingRoudingType.
@Test
public void shouldReturnPositiveValueUsingRoudingType() {
operator = new RoudingMonetaryAmountOperator(RoundingMode.HALF_EVEN);
CurrencyUnit currency = Monetary.getCurrency("EUR");
MonetaryAmount money = Money.parse("EUR 2.3523");
MonetaryAmount result = operator.apply(money);
assertEquals(result.getCurrency(), currency);
assertEquals(result.getNumber().doubleValue(), 2.35);
}
Aggregations