public virtual void test_expectedLoss()
        {
            CurrencyAmount computed = PRICER.expectedLoss(TRADE, RATES_PROVIDER);
            CurrencyAmount expected = PRICER_PRODUCT.expectedLoss(PRODUCT, RATES_PROVIDER);

            assertEquals(computed.Amount, expected.Amount, TOL);
        }
 //-------------------------------------------------------------------------
 /// <summary>
 /// Calculates the expected loss of the underlying product.
 /// <para>
 /// The expected loss is the (undiscounted) expected default settlement value paid by the protection seller.
 /// The resulting value is always positive.
 ///
 /// </para>
 /// </summary>
 /// <param name="trade">  the trade </param>
 /// <param name="ratesProvider">  the rates provider </param>
 /// <returns> the expected loss </returns>
 public virtual CurrencyAmount expectedLoss(ResolvedCdsTrade trade, CreditRatesProvider ratesProvider)
 {
     return(productPricer.expectedLoss(trade.Product, ratesProvider));
 }