public virtual void test_cashFlowEquivalent_pv()
        {
            ResolvedSwap                 swap       = ResolvedSwap.of(IBOR_LEG, FIXED_LEG);
            ResolvedSwapLeg              cfe        = CashFlowEquivalentCalculator.cashFlowEquivalentSwap(swap, PROVIDER);
            DiscountingSwapLegPricer     pricerLeg  = DiscountingSwapLegPricer.DEFAULT;
            DiscountingSwapProductPricer pricerSwap = DiscountingSwapProductPricer.DEFAULT;
            CurrencyAmount               pvCfe      = pricerLeg.presentValue(cfe, PROVIDER);
            MultiCurrencyAmount          pvSwap     = pricerSwap.presentValue(swap, PROVIDER);

            assertEquals(pvCfe.Amount, pvSwap.getAmount(GBP).Amount, TOLERANCE_PV);
        }
 /// <summary>
 /// Creates an instance.
 /// </summary>
 /// <param name="swapPricer">  the pricer for <seealso cref="Swap"/> </param>
 /// <param name="paymentPricer">  the pricer for <seealso cref="Payment"/> </param>
 public DiscountingCmsTradePricer(DiscountingSwapProductPricer swapPricer, DiscountingPaymentPricer paymentPricer)
 {
     this.paymentPricer = ArgChecker.notNull(paymentPricer, "paymentPricer");
     this.productPricer = new DiscountingCmsProductPricer(swapPricer);
 }
 /// <summary>
 /// Creates an instance.
 /// </summary>
 /// <param name="swapPricer">  the pricer for <seealso cref="Swap"/> </param>
 public BlackSwaptionPhysicalProductPricer(DiscountingSwapProductPricer swapPricer) : base(swapPricer)
 {
 }
 /// <summary>
 /// Creates an instance.
 /// </summary>
 /// <param name="swapPricer">  the pricer for <seealso cref="Swap"/> </param>
 public DiscountingCmsProductPricer(DiscountingSwapProductPricer swapPricer)
 {
     this.swapPricer   = ArgChecker.notNull(swapPricer, "swapPricer");
     this.cmsLegPricer = new DiscountingCmsLegPricer(new DiscountingCmsPeriodPricer(swapPricer));
 }
 /// <summary>
 /// Creates an instance.
 /// </summary>
 /// <param name="swapPricer">  the pricer for <seealso cref="ResolvedSwap"/>. </param>
 public DiscountingDsfProductPricer(DiscountingSwapProductPricer swapPricer)
 {
     this.swapPricer = ArgChecker.notNull(swapPricer, "swapPricer");
 }
 /// <summary>
 /// Creates an instance.
 /// </summary>
 /// <param name="swapPricer">  the pricer for <seealso cref="Swap"/> </param>
 public SabrSwaptionCashParYieldProductPricer(DiscountingSwapProductPricer swapPricer) : base(swapPricer)
 {
 }