### Question:
FutureValueNotional implements ImmutableBean, Serializable { public static FutureValueNotional of(double value, LocalDate valueDate, int dayCountDays) { ArgChecker.isTrue(valueDate != null); return new FutureValueNotional(value, valueDate, dayCountDays); } private  FutureValueNotional(
      Double value,
      LocalDate valueDate,
      Integer dayCountDays); static FutureValueNotional autoCalculate(); static FutureValueNotional of(double value, LocalDate valueDate, int dayCountDays); static FutureValueNotional of(double value); static FutureValueNotional.Meta meta(); static FutureValueNotional.Builder builder(); @Override FutureValueNotional.Meta metaBean(); OptionalDouble getValue(); Optional<LocalDate> getValueDate(); OptionalInt getDayCountDays(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_exceptions() { assertThatIllegalArgumentException() .isThrownBy(() -> FutureValueNotional.of(VALUE, null, NUM_DAYS)); }
@Test public void test_serialization() { FutureValueNotional futureValueNotional = FutureValueNotional.of(VALUE, VAL_DATE, NUM_DAYS); assertSerialization(futureValueNotional); }