### Question:
CdsIndexIsdaCreditCurveNode implements IsdaCreditCurveNode, ImmutableBean, Serializable { public static CdsIndexIsdaCreditCurveNode.Builder builder() { return new CdsIndexIsdaCreditCurveNode.Builder(); } private  CdsIndexIsdaCreditCurveNode(
      CdsTemplate template,
      String label,
      ObservableId observableId,
      StandardId cdsIndexId,
      List<StandardId> legalEntityIds,
      CdsQuoteConvention quoteConvention,
      Double fixedRate); static CdsIndexIsdaCreditCurveNode ofParSpread(
      CdsTemplate template,
      ObservableId observableId,
      StandardId cdsIndexId,
      List<StandardId> legalEntityIds); static CdsIndexIsdaCreditCurveNode ofPointsUpfront(
      CdsTemplate template,
      ObservableId observableId,
      StandardId cdsIndexId,
      List<StandardId> legalEntityIds,
      Double fixedRate); static CdsIndexIsdaCreditCurveNode ofQuotedSpread(
      CdsTemplate template,
      ObservableId observableId,
      StandardId cdsIndexId,
      List<StandardId> legalEntityIds,
      Double fixedRate); @Override LocalDate date(LocalDate tradeDate, ReferenceData refData); @Override DatedParameterMetadata metadata(LocalDate nodeDate); CdsIndexCalibrationTrade trade(double quantity, MarketData marketData, ReferenceData refData); static CdsIndexIsdaCreditCurveNode.Meta meta(); static CdsIndexIsdaCreditCurveNode.Builder builder(); @Override CdsIndexIsdaCreditCurveNode.Meta metaBean(); CdsTemplate getTemplate(); @Override String getLabel(); @Override ObservableId getObservableId(); StandardId getCdsIndexId(); ImmutableList<StandardId> getLegalEntityIds(); CdsQuoteConvention getQuoteConvention(); OptionalDouble getFixedRate(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_build_fail_noRate() { assertThatIllegalArgumentException().isThrownBy( () -> CdsIndexIsdaCreditCurveNode.builder() .template(TEMPLATE) .observableId(QUOTE_ID) .cdsIndexId(INDEX_ID) .legalEntityIds(LEGAL_ENTITIES) .quoteConvention(CdsQuoteConvention.QUOTED_SPREAD) .build()); }