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