### Question:
ResolvedFxNdf implements ResolvedProduct, ImmutableBean, Serializable { public static ResolvedFxNdf.Builder builder() { return new ResolvedFxNdf.Builder(); } private  ResolvedFxNdf(
      CurrencyAmount settlementCurrencyNotional,
      FxRate agreedFxRate,
      FxIndexObservation observation,
      LocalDate paymentDate); FxIndex getIndex(); Currency getSettlementCurrency(); double getSettlementNotional(); Currency getNonDeliverableCurrency(); static ResolvedFxNdf.Meta meta(); static ResolvedFxNdf.Builder builder(); @Override ResolvedFxNdf.Meta metaBean(); CurrencyAmount getSettlementCurrencyNotional(); FxRate getAgreedFxRate(); FxIndexObservation getObservation(); LocalDate getPaymentDate(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_builder_wrongCurrency() { CurrencyAmount currencyNotional = CurrencyAmount.of(EUR, NOTIONAL); assertThatIllegalArgumentException() .isThrownBy(() -> ResolvedFxNdf.builder() .agreedFxRate(FX_RATE) .observation(FxIndexObservation.of(GBP_USD_WM, FIXING_DATE, REF_DATA)) .paymentDate(PAYMENT_DATE) .settlementCurrencyNotional(currencyNotional) .build()); }
@Test public void test_builder_wrongRate() { FxRate fxRate = FxRate.of(GBP, EUR, 1.1d); assertThatIllegalArgumentException() .isThrownBy(() -> ResolvedFxNdf.builder() .agreedFxRate(fxRate) .observation(FxIndexObservation.of(GBP_USD_WM, FIXING_DATE, REF_DATA)) .paymentDate(PAYMENT_DATE) .settlementCurrencyNotional(CURRENCY_NOTIONAL) .build()); }