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="capFloorLegPricer">  the pricer for <seealso cref="IborCapFloorLeg"/> </param>
 /// <param name="payLegPricer">  the pricer for <seealso cref="SwapLeg"/> </param>
 public SabrIborCapFloorProductPricer(SabrIborCapFloorLegPricer capFloorLegPricer, DiscountingSwapLegPricer payLegPricer) : base(capFloorLegPricer, payLegPricer)
 {
     this.capFloorLegPricer = capFloorLegPricer;
 }
 /// <summary>
 /// Creates an instance.
 /// </summary>
 /// <param name="capFloorLegPricer">  the pricer for <seealso cref="IborCapFloorLeg"/> </param>
 /// <param name="payLegPricer">  the pricer for <seealso cref="SwapLeg"/> </param>
 public VolatilityIborCapFloorProductPricer(VolatilityIborCapFloorLegPricer capFloorLegPricer, DiscountingSwapLegPricer payLegPricer)
 {
     this.capFloorLegPricer = ArgChecker.notNull(capFloorLegPricer, "capFloorLegPricer");
     this.payLegPricer      = ArgChecker.notNull(payLegPricer, "payLegPricer");
 }
 /// <summary>
 /// Creates an instance.
 /// </summary>
 /// <param name="capFloorLegPricer">  the pricer for <seealso cref="IborCapFloorLeg"/> </param>
 /// <param name="payLegPricer">  the pricer for <seealso cref="SwapLeg"/> </param>
 public BlackIborCapFloorProductPricer(BlackIborCapFloorLegPricer capFloorLegPricer, DiscountingSwapLegPricer payLegPricer) : base(capFloorLegPricer, payLegPricer)
 {
 }
 /// <summary>
 /// Creates an instance.
 /// </summary>
 /// <param name="capFloorLegPricer">  the pricer for <seealso cref="IborCapFloorLeg"/> </param>
 /// <param name="payLegPricer">  the pricer for <seealso cref="SwapLeg"/> </param>
 public NormalIborCapFloorProductPricer(NormalIborCapFloorLegPricer capFloorLegPricer, DiscountingSwapLegPricer payLegPricer) : base(capFloorLegPricer, payLegPricer)
 {
 }