use of javax.money.MonetaryOperator in project jsr354-ri by JavaMoney.
the class MonetaryRoundedFactoryBuilderTest method shouldReturnErrorWhenMonetaryOperatorIsNull.
@Test(expectedExceptions = NullPointerException.class)
public void shouldReturnErrorWhenMonetaryOperatorIsNull() {
MonetaryOperator roundingOperator = null;
MonetaryRoundedFactory.of(roundingOperator);
fail();
}
use of javax.money.MonetaryOperator in project jsr354-ri-bp by JavaMoney.
the class MoneyTest method testWithMonetaryOperator.
/**
* Test method for {@link Money#with(javax.money.MonetaryOperator)}.
*/
@Test
public void testWithMonetaryOperator() {
MonetaryOperator adj = new MonetaryOperator() {
@Override
public MonetaryAmount apply(MonetaryAmount amount) {
return Money.of(-100, amount.getCurrency());
}
};
Money m = Money.of(1.23455645d, "XXX");
Money a = m.with(adj);
assertNotNull(a);
assertNotSame(m, a);
assertEquals(m.getCurrency(), a.getCurrency());
assertEquals(Money.of(-100, m.getCurrency()), a);
adj = new MonetaryOperator() {
@Override
public MonetaryAmount apply(MonetaryAmount amount) {
return amount.multiply(2).getFactory().setCurrency(Monetary.getCurrency("CHF")).create();
}
};
a = m.with(adj);
assertNotNull(a);
assertNotSame(m, a);
assertEquals(Monetary.getCurrency("CHF"), a.getCurrency());
assertEquals(Money.of(1.23455645d * 2, a.getCurrency()), a);
}
use of javax.money.MonetaryOperator in project jsr354-ri-bp by JavaMoney.
the class MonetaryOperatorsTest method testPercentToString.
/**
* Test method for
* {@link org.javamoney.moneta.function.MonetaryOperators#percent(java.lang.Number)}
* .
*/
@Test
public void testPercentToString() {
MonetaryOperator p = MonetaryOperators.percent((short) 25);
assertTrue(p.toString().contains("25"));
assertTrue(p.toString().contains("%"));
}
use of javax.money.MonetaryOperator in project jsr354-ri-bp by JavaMoney.
the class MonetaryRoundedFactoryBuilderTest method shouldReturnTheSameMonetaryOperator.
@Test
public void shouldReturnTheSameMonetaryOperator() {
MonetaryOperator monetaryOperator = new MonetaryOperator() {
@Override
public MonetaryAmount apply(MonetaryAmount amount) {
return amount;
}
};
MonetaryRoundedFactory factory = MonetaryRoundedFactory.of(monetaryOperator);
assertNotNull(factory);
assertEquals(monetaryOperator, factory.getRoundingOperator());
}
use of javax.money.MonetaryOperator in project jsr354-ri-bp by JavaMoney.
the class MonetaryRoundedFactoryBuilderTest method shouldReturnMathContextOperator.
@Test
public void shouldReturnMathContextOperator() {
int precision = 6;
RoundingMode roundingMode = RoundingMode.HALF_EVEN;
MonetaryRoundedFactory factory = MonetaryRoundedFactory.withRoundingMode(roundingMode).withPrecision(precision).build();
assertNotNull(factory);
MonetaryOperator roundingOperator = factory.getRoundingOperator();
assertNotNull(roundingOperator);
assertTrue(PrecisionContextRoundedOperator.class.isInstance(roundingOperator));
MathContext result = PrecisionContextRoundedOperator.class.cast(roundingOperator).getMathContext();
assertEquals(precision, result.getPrecision());
assertEquals(roundingMode, result.getRoundingMode());
}
Aggregations