### Question:
HalfUpRounding implements Rounding, ImmutableBean, Serializable { public static HalfUpRounding.Meta meta() { return HalfUpRounding.Meta.INSTANCE; } @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_builder_invalid() { assertThatIllegalArgumentException().isThrownBy(() -> HalfUpRounding.meta().builder() .set(HalfUpRounding.meta().decimalPlaces(), -1) .build()); assertThatIllegalArgumentException().isThrownBy(() -> HalfUpRounding.meta().builder() .set(HalfUpRounding.meta().decimalPlaces(), 257) .build()); assertThatIllegalArgumentException().isThrownBy(() -> HalfUpRounding.meta().builder() .set(HalfUpRounding.meta().decimalPlaces(), 4) .set(HalfUpRounding.meta().fraction(), -1) .build()); assertThatIllegalArgumentException().isThrownBy(() -> HalfUpRounding.meta().builder() .set(HalfUpRounding.meta().decimalPlaces(), 4) .set(HalfUpRounding.meta().fraction(), 257) .build()); }