use of javax.money.MonetaryOperator in project jsr354-ri by JavaMoney.
the class FastMoneyTest method testWithMonetaryOperator.
/**
* Test method for {@link org.javamoney.moneta.FastMoney#with(javax.money.MonetaryOperator)} .
*/
@Test
public void testWithMonetaryOperator() {
MonetaryOperator adj = amount -> FastMoney.of(-100, amount.getCurrency());
FastMoney m = FastMoney.of(new BigDecimal("1.2345"), "XXX");
FastMoney a = m.with(adj);
assertNotNull(a);
assertNotSame(m, a);
assertEquals(m.getCurrency(), a.getCurrency());
assertEquals(FastMoney.of(-100, m.getCurrency()), a);
adj = amount -> 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(FastMoney.of(1.2345 * 2, a.getCurrency()), a);
}
use of javax.money.MonetaryOperator in project jsr354-ri 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 by JavaMoney.
the class MonetaryRoundedFactoryBuilderTest method shouldReturnTheSameMonetaryOperator.
@Test
public void shouldReturnTheSameMonetaryOperator() {
MonetaryOperator monetaryOperator = m -> m;
MonetaryRoundedFactory factory = MonetaryRoundedFactory.of(monetaryOperator);
assertNotNull(factory);
assertEquals(monetaryOperator, factory.getRoundingOperator());
}
use of javax.money.MonetaryOperator in project jsr354-ri by JavaMoney.
the class MonetaryRoundedFactoryBuilderTest method shouldReturnScaleMathContextOperator.
@Test
public void shouldReturnScaleMathContextOperator() {
int precision = 6;
int scale = 3;
RoundingMode roundingMode = RoundingMode.HALF_EVEN;
MonetaryRoundedFactory factory = MonetaryRoundedFactory.withRoundingMode(roundingMode).withScale(scale).withPrecision(precision).build();
assertNotNull(factory);
MonetaryOperator roundingOperator = factory.getRoundingOperator();
assertNotNull(roundingOperator);
assertTrue(PrecisionScaleRoundedOperator.class.isInstance(roundingOperator));
PrecisionScaleRoundedOperator result = PrecisionScaleRoundedOperator.class.cast(roundingOperator);
assertEquals(precision, result.getMathContext().getPrecision());
assertEquals(scale, result.getScale());
assertEquals(roundingMode, result.getMathContext().getRoundingMode());
}
use of javax.money.MonetaryOperator in project jsr354-ri by JavaMoney.
the class DefaultMonetaryRoundedFactoryTest method shouldReturnGetRoudingOperator.
@Test
public void shouldReturnGetRoudingOperator() {
MonetaryOperator roundingOperator = factory.getRoundingOperator();
assertEquals(identical, roundingOperator);
}
Aggregations