### Question:
OvernightIndexObservation implements IndexObservation, ImmutableBean, Serializable { public static OvernightIndexObservation of(OvernightIndex index, LocalDate fixingDate, ReferenceData refData) { LocalDate publicationDate = index.calculatePublicationFromFixing(fixingDate, refData); LocalDate effectiveDate = index.calculateEffectiveFromFixing(fixingDate, refData); LocalDate maturityDate = index.calculateMaturityFromEffective(effectiveDate, refData); return OvernightIndexObservation.builder() .index(index) .fixingDate(fixingDate) .publicationDate(publicationDate) .effectiveDate(effectiveDate) .maturityDate(maturityDate) .yearFraction(index.getDayCount().yearFraction(effectiveDate, maturityDate)) .build(); } private  OvernightIndexObservation(
      OvernightIndex index,
      LocalDate fixingDate,
      LocalDate publicationDate,
      LocalDate effectiveDate,
      LocalDate maturityDate,
      double yearFraction); static OvernightIndexObservation of(OvernightIndex index, LocalDate fixingDate, ReferenceData refData); Currency getCurrency(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); static OvernightIndexObservation.Meta meta(); static OvernightIndexObservation.Builder builder(); @Override OvernightIndexObservation.Meta metaBean(); @Override OvernightIndex getIndex(); LocalDate getFixingDate(); LocalDate getPublicationDate(); LocalDate getEffectiveDate(); LocalDate getMaturityDate(); double getYearFraction(); Builder toBuilder();  }### Answer:
@Test public void coverage() { OvernightIndexObservation test = OvernightIndexObservation.of(GBP_SONIA, FIXING_DATE, REF_DATA); coverImmutableBean(test); OvernightIndexObservation test2 = OvernightIndexObservation.of(EUR_EONIA, FIXING_DATE.plusDays(1), REF_DATA); coverBeanEquals(test, test2); }
@Test public void test_serialization() { OvernightIndexObservation test = OvernightIndexObservation.of(GBP_SONIA, FIXING_DATE, REF_DATA); assertSerialization(test); }