### Question:
DatesCdsTemplate implements CdsTemplate, ImmutableBean, Serializable { public static DatesCdsTemplate of(LocalDate startDate, LocalDate endDate, CdsConvention convention) { ArgChecker.inOrderNotEqual(startDate, endDate, "startDate", "endDate"); return new DatesCdsTemplate(startDate, endDate, convention); } private  DatesCdsTemplate(
      LocalDate startDate,
      LocalDate endDate,
      CdsConvention convention); static DatesCdsTemplate of(LocalDate startDate, LocalDate endDate, CdsConvention convention); @Override CdsTrade createTrade(
      StandardId legalEntityId,
      LocalDate tradeDate,
      BuySell buySell,
      double notional,
      double fixedRate,
      ReferenceData refData); @Override CdsTrade createTrade(
      StandardId legalEntityId,
      LocalDate tradeDate,
      BuySell buySell,
      double notional,
      double fixedRate,
      AdjustablePayment upFrontFee,
      ReferenceData refData); static DatesCdsTemplate.Meta meta(); @Override DatesCdsTemplate.Meta metaBean(); LocalDate getStartDate(); LocalDate getEndDate(); @Override CdsConvention getConvention(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void coverage() { DatesCdsTemplate test1 = DatesCdsTemplate.of(START, END, CONV1); coverImmutableBean(test1); DatesCdsTemplate test2 = DatesCdsTemplate.of(LocalDate.of(2015, 5, 20), LocalDate.of(2025, 6, 20), CdsConventions.USD_STANDARD); coverBeanEquals(test1, test2); }
@Test public void test_serialization() { DatesCdsTemplate test = DatesCdsTemplate.of(START, END, CONV1); assertSerialization(test); }