### Question:
KnownAmountSwapPaymentPeriod implements SwapPaymentPeriod, ImmutableBean, Serializable { public static KnownAmountSwapPaymentPeriod.Builder builder() { return new KnownAmountSwapPaymentPeriod.Builder(); } private  KnownAmountSwapPaymentPeriod(
      Payment payment,
      LocalDate startDate,
      LocalDate endDate,
      LocalDate unadjustedStartDate,
      LocalDate unadjustedEndDate); static KnownAmountSwapPaymentPeriod of(Payment payment, SchedulePeriod period); @Override LocalDate getPaymentDate(); @Override Currency getCurrency(); @Override KnownAmountSwapPaymentPeriod adjustPaymentDate(TemporalAdjuster adjuster); @Override void collectIndices(ImmutableSet.Builder<Index> builder); static KnownAmountSwapPaymentPeriod.Meta meta(); static KnownAmountSwapPaymentPeriod.Builder builder(); @Override KnownAmountSwapPaymentPeriod.Meta metaBean(); Payment getPayment(); @Override LocalDate getStartDate(); @Override LocalDate getEndDate(); LocalDate getUnadjustedStartDate(); LocalDate getUnadjustedEndDate(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_builder_invalid() { assertThatIllegalArgumentException() .isThrownBy(() -> KnownAmountSwapPaymentPeriod.builder() .payment(PAYMENT_2014_10_03) .endDate(DATE_2014_10_01) .build()); assertThatIllegalArgumentException() .isThrownBy(() -> KnownAmountSwapPaymentPeriod.builder() .payment(PAYMENT_2014_10_03) .startDate(DATE_2014_10_01) .build()); assertThatIllegalArgumentException() .isThrownBy(() -> KnownAmountSwapPaymentPeriod.builder() .payment(PAYMENT_2014_10_03) .startDate(DATE_2014_10_01) .endDate(DATE_2014_10_01) .build()); }
@Test public void coverage() { KnownAmountSwapPaymentPeriod test = KnownAmountSwapPaymentPeriod.builder() .payment(PAYMENT_2014_10_03) .startDate(DATE_2014_03_30) .unadjustedStartDate(DATE_2014_03_30) .endDate(DATE_2014_10_01) .unadjustedEndDate(DATE_2014_09_30) .build(); coverImmutableBean(test); KnownAmountSwapPaymentPeriod test2 = KnownAmountSwapPaymentPeriod.builder() .payment(PAYMENT_2014_10_03.negated()) .startDate(DATE_2014_06_30) .endDate(DATE_2014_09_30) .build(); coverBeanEquals(test, test2); }
@Test public void test_serialization() { KnownAmountSwapPaymentPeriod test = KnownAmountSwapPaymentPeriod.builder() .payment(PAYMENT_2014_10_03) .startDate(DATE_2014_03_30) .unadjustedStartDate(DATE_2014_03_30) .endDate(DATE_2014_10_01) .unadjustedEndDate(DATE_2014_09_30) .build(); assertSerialization(test); }