### Question:
HalfUpRounding implements Rounding, ImmutableBean, Serializable { @Override public double round(double value) { return Rounding.super.round(value); } @ImmutableConstructor private  HalfUpRounding(
      int decimalPlaces,
      int fraction); static HalfUpRounding ofDecimalPlaces(int decimalPlaces); static HalfUpRounding ofFractionalDecimalPlaces(int decimalPlaces, int fraction); @Override double round(double value); @Override BigDecimal round(BigDecimal value); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); static HalfUpRounding.Meta meta(); @Override HalfUpRounding.Meta metaBean(); int getDecimalPlaces(); int getFraction();  }### Answer:
@Test public void test_of_Currency() { Rounding test = Rounding.of(Currency.USD); assertThat(test.round(63.455d)).isEqualTo(63.46d); assertThat(test.round(63.454d)).isEqualTo(63.45d); }