public void test_trade() {
CdsIsdaCreditCurveNode node = CdsIsdaCreditCurveNode.ofQuotedSpread(TEMPLATE, QUOTE_ID, LEGAL_ENTITY, 0.01);
double rate = 0.0125;
double quantity = -1234.56;
MarketData marketData = ImmutableMarketData.builder(VAL_DATE).addValue(QUOTE_ID, rate).build();
CdsCalibrationTrade trade = node.trade(quantity, marketData, REF_DATA);
CdsTrade expected = TEMPLATE.createTrade(LEGAL_ENTITY, VAL_DATE, SELL, -quantity, 0.01, REF_DATA);
assertEquals(trade.getUnderlyingTrade(), expected);
assertEquals(trade.getQuote(), CdsQuote.of(CdsQuoteConvention.QUOTED_SPREAD, rate));
CdsIsdaCreditCurveNode node1 = CdsIsdaCreditCurveNode.ofParSpread(TEMPLATE, QUOTE_ID, LEGAL_ENTITY);
CdsTrade expected1 = TEMPLATE.createTrade(LEGAL_ENTITY, VAL_DATE, SELL, -quantity, rate, REF_DATA);
CdsCalibrationTrade trade1 = node1.trade(quantity, marketData, REF_DATA);
assertEquals(trade1.getUnderlyingTrade(), expected1);
assertEquals(trade1.getQuote(), CdsQuote.of(CdsQuoteConvention.PAR_SPREAD, rate));
}