### Question:
MonetaryRoundedFactoryBuilder { public MonetaryRoundedFactoryWithPrecisionBuilder withPrecision(int precision) { return new MonetaryRoundedFactoryWithPrecisionBuilder(roundingMode, precision); } MonetaryRoundedFactoryBuilder(RoundingMode roundingMode); MonetaryRoundedFactoryWithScaleBuilder withScale(int scale); MonetaryRoundedFactoryWithPrecisionBuilder withPrecision(int precision); @Override String toString();  }### Answer:
@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()); }