### Question:
FxResetCalculation implements ImmutableBean, Serializable { public static FxResetCalculation.Builder builder() { return new FxResetCalculation.Builder(); } private  FxResetCalculation(
      FxIndex index,
      Currency referenceCurrency,
      FxResetFixingRelativeTo fixingRelativeTo,
      DaysAdjustment fixingDateOffset,
      Double initialNotionalValue); static FxResetCalculation.Meta meta(); static FxResetCalculation.Builder builder(); @Override FxResetCalculation.Meta metaBean(); FxIndex getIndex(); Currency getReferenceCurrency(); FxResetFixingRelativeTo getFixingRelativeTo(); DaysAdjustment getFixingDateOffset(); OptionalDouble getInitialNotionalValue(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_invalidCurrency() { assertThatIllegalArgumentException() .isThrownBy(() -> FxResetCalculation.builder() .index(EUR_USD_ECB) .referenceCurrency(GBP) .fixingDateOffset(MINUS_TWO_DAYS) .build()); }
@Test public void coverage() { FxResetCalculation test = FxResetCalculation.builder() .index(EUR_GBP_ECB) .referenceCurrency(GBP) .fixingDateOffset(MINUS_TWO_DAYS) .build(); coverImmutableBean(test); FxResetCalculation test2 = FxResetCalculation.builder() .index(EUR_USD_ECB) .referenceCurrency(Currency.EUR) .fixingDateOffset(MINUS_THREE_DAYS) .fixingRelativeTo(FxResetFixingRelativeTo.PERIOD_END) .build(); coverBeanEquals(test, test2); }
@Test public void test_serialization() { FxResetCalculation test = FxResetCalculation.builder() .index(EUR_GBP_ECB) .referenceCurrency(GBP) .fixingDateOffset(MINUS_TWO_DAYS) .build(); assertSerialization(test); }