### Question:
IsdaHomogenousCdsIndexTradePricer { public double price( ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, PriceType priceType, ReferenceData refData) { LocalDate settlementDate = calculateSettlementDate(trade, ratesProvider, refData); return productPricer.price(trade.getProduct(), ratesProvider, settlementDate, priceType, refData); } IsdaHomogenousCdsIndexTradePricer();  IsdaHomogenousCdsIndexTradePricer(AccrualOnDefaultFormula formula); AccrualOnDefaultFormula getAccrualOnDefaultFormula(); double price(
      ResolvedCdsIndexTrade trade,
      CreditRatesProvider ratesProvider,
      PriceType priceType,
      ReferenceData refData); PointSensitivities priceSensitivity(
      ResolvedCdsIndexTrade trade,
      CreditRatesProvider ratesProvider,
      ReferenceData refData); double parSpread(
      ResolvedCdsIndexTrade trade,
      CreditRatesProvider ratesProvider,
      ReferenceData refData); PointSensitivities parSpreadSensitivity(
      ResolvedCdsIndexTrade trade,
      CreditRatesProvider ratesProvider,
      ReferenceData refData); CurrencyAmount presentValue(
      ResolvedCdsIndexTrade trade,
      CreditRatesProvider ratesProvider,
      PriceType priceType,
      ReferenceData refData); PointSensitivities presentValueSensitivity(
      ResolvedCdsIndexTrade trade,
      CreditRatesProvider ratesProvider,
      ReferenceData refData); CurrencyAmount presentValueOnSettle(
      ResolvedCdsIndexTrade trade,
      CreditRatesProvider ratesProvider,
      PriceType priceType,
      ReferenceData refData); PointSensitivities presentValueOnSettleSensitivity(
      ResolvedCdsIndexTrade trade,
      CreditRatesProvider ratesProvider,
      ReferenceData refData); CurrencyAmount rpv01OnSettle(
      ResolvedCdsIndexTrade trade,
      CreditRatesProvider ratesProvider,
      PriceType priceType,
      ReferenceData refData); CurrencyAmount recovery01OnSettle(
      ResolvedCdsIndexTrade trade,
      CreditRatesProvider ratesProvider,
      ReferenceData refData); JumpToDefault jumpToDefault(
      ResolvedCdsIndexTrade trade,
      CreditRatesProvider ratesProvider,
      ReferenceData refData); CurrencyAmount expectedLoss(
      ResolvedCdsIndexTrade trade,
      CreditRatesProvider ratesProvider); static final IsdaHomogenousCdsIndexTradePricer DEFAULT; }### Answer:
@Test public void test_price() { double computed = PRICER.price(TRADE, RATES_PROVIDER, PriceType.CLEAN, REF_DATA); double expected = PRICER_PRODUCT.price(PRODUCT, RATES_PROVIDER, SETTLEMENT_DATE, PriceType.CLEAN, REF_DATA); double computedMf = PRICER_MF.price(TRADE_NO_SETTLE_DATE, RATES_PROVIDER, PriceType.CLEAN, REF_DATA); double expectedMf = PRICER_PRODUCT_MF.price(PRODUCT, RATES_PROVIDER, SETTLEMENT_DATE, PriceType.CLEAN, REF_DATA); assertThat(computed).isCloseTo(expected, offset(TOL)); assertThat(computedMf).isCloseTo(expectedMf, offset(TOL)); }