### Question:
ValueStepSequence implements ImmutableBean, Serializable { public static ValueStepSequence of( LocalDate firstStepDate, LocalDate lastStepDate, Frequency frequency, ValueAdjustment adjustment) { return new ValueStepSequence(firstStepDate, lastStepDate, frequency, adjustment); } private  ValueStepSequence(
      LocalDate firstStepDate,
      LocalDate lastStepDate,
      Frequency frequency,
      ValueAdjustment adjustment); static ValueStepSequence of(
      LocalDate firstStepDate,
      LocalDate lastStepDate,
      Frequency frequency,
      ValueAdjustment adjustment); static ValueStepSequence.Meta meta(); @Override ValueStepSequence.Meta metaBean(); LocalDate getFirstStepDate(); LocalDate getLastStepDate(); Frequency getFrequency(); ValueAdjustment getAdjustment(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_of_invalid() { assertThatIllegalArgumentException() .isThrownBy(() -> ValueStepSequence.of(date(2016, 4, 20), date(2016, 4, 19), Frequency.P3M, ADJ)); assertThatIllegalArgumentException() .isThrownBy(() -> ValueStepSequence.of(date(2016, 4, 20), date(2016, 10, 20), Frequency.P3M, ADJ_BAD)); }
@Test public void coverage() { ValueStepSequence test = ValueStepSequence.of(date(2016, 4, 20), date(2016, 10, 20), Frequency.P3M, ADJ); coverImmutableBean(test); ValueStepSequence test2 = ValueStepSequence.of(date(2016, 4, 1), date(2016, 10, 1), Frequency.P1M, ADJ2); coverImmutableBean(test2); }
@Test public void test_serialization() { ValueStepSequence test = ValueStepSequence.of(date(2016, 4, 20), date(2016, 10, 20), Frequency.P3M, ADJ); assertSerialization(test); }