### Question:
ValueStep implements ImmutableBean, Serializable { public static ValueStep.Builder builder() { return new ValueStep.Builder(); } private  ValueStep(
      Integer periodIndex,
      LocalDate date,
      ValueAdjustment value); static ValueStep of(int periodIndex, ValueAdjustment value); static ValueStep of(LocalDate date, ValueAdjustment value); static ValueStep.Meta meta(); static ValueStep.Builder builder(); @Override ValueStep.Meta metaBean(); OptionalInt getPeriodIndex(); Optional<LocalDate> getDate(); ValueAdjustment getValue(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_builder_invalid() { assertThatIllegalArgumentException() .isThrownBy(() -> ValueStep.builder().value(DELTA_MINUS_2000).build()); assertThatIllegalArgumentException() .isThrownBy(() -> ValueStep.builder().date(date(2014, 6, 30)).periodIndex(1).value(DELTA_MINUS_2000).build()); assertThatIllegalArgumentException() .isThrownBy(() -> ValueStep.builder().periodIndex(0).value(DELTA_MINUS_2000).build()); assertThatIllegalArgumentException() .isThrownBy(() -> ValueStep.builder().periodIndex(-1).value(DELTA_MINUS_2000).build()); }