/// <summary> /// Creates an instance. /// </summary> /// <param name="iborRateComputationFn"> the rate provider for <seealso cref="IborRateComputation"/> </param> /// <param name="iborInterpolatedRateComputationFn"> the rate computation for <seealso cref="IborInterpolatedRateComputation"/> </param> /// <param name="iborAveragedRateComputationFn"> the rate computation for <seealso cref="IborAveragedRateComputation"/> </param> /// <param name="overnightCompoundedRateComputationFn"> the rate computation for <seealso cref="OvernightCompoundedRateComputation"/> </param> /// <param name="overnightAveragedRateComputationFn"> the rate computation for <seealso cref="OvernightAveragedRateComputation"/> </param> /// <param name="overnightAveragedDailyRateComputationFn"> the rate computation for <seealso cref="OvernightAveragedDailyRateComputation"/> </param> /// <param name="inflationMonthlyRateComputationFn"> the rate computation for <seealso cref="InflationMonthlyRateComputation"/> </param> /// <param name="inflationInterpolatedRateComputationFn"> the rate computation for <seealso cref="InflationInterpolatedRateComputation"/> </param> /// <param name="inflationEndMonthRateComputationFn"> the rate computation for <seealso cref="InflationEndMonthRateComputation"/> </param> /// <param name="inflationEndInterpolatedRateComputationFn"> the rate computation for <seealso cref="InflationEndInterpolatedRateComputation"/> </param> public DispatchingRateComputationFn(RateComputationFn <IborRateComputation> iborRateComputationFn, RateComputationFn <IborInterpolatedRateComputation> iborInterpolatedRateComputationFn, RateComputationFn <IborAveragedRateComputation> iborAveragedRateComputationFn, RateComputationFn <OvernightCompoundedRateComputation> overnightCompoundedRateComputationFn, RateComputationFn <OvernightAveragedRateComputation> overnightAveragedRateComputationFn, RateComputationFn <OvernightAveragedDailyRateComputation> overnightAveragedDailyRateComputationFn, RateComputationFn <InflationMonthlyRateComputation> inflationMonthlyRateComputationFn, RateComputationFn <InflationInterpolatedRateComputation> inflationInterpolatedRateComputationFn, RateComputationFn <InflationEndMonthRateComputation> inflationEndMonthRateComputationFn, RateComputationFn <InflationEndInterpolatedRateComputation> inflationEndInterpolatedRateComputationFn) { this.iborRateComputationFn = ArgChecker.notNull(iborRateComputationFn, "iborRateComputationFn"); this.iborInterpolatedRateComputationFn = ArgChecker.notNull(iborInterpolatedRateComputationFn, "iborInterpolatedRateComputationFn"); this.iborAveragedRateComputationFn = ArgChecker.notNull(iborAveragedRateComputationFn, "iborAverageRateComputationFn"); this.overnightCompoundedRateComputationFn = ArgChecker.notNull(overnightCompoundedRateComputationFn, "overnightCompoundedRateComputationFn"); this.overnightAveragedRateComputationFn = ArgChecker.notNull(overnightAveragedRateComputationFn, "overnightAveragedRateComputationFn"); this.overnightAveragedDailyRateComputationFn = ArgChecker.notNull(overnightAveragedDailyRateComputationFn, "overnightAveragedDailyRateComputationFn"); this.inflationMonthlyRateComputationFn = ArgChecker.notNull(inflationMonthlyRateComputationFn, "inflationMonthlyRateComputationFn"); this.inflationInterpolatedRateComputationFn = ArgChecker.notNull(inflationInterpolatedRateComputationFn, "inflationInterpolatedRateComputationFn"); this.inflationEndMonthRateComputationFn = ArgChecker.notNull(inflationEndMonthRateComputationFn, "inflationEndMonthRateComputationFn"); this.inflationEndInterpolatedRateComputationFn = ArgChecker.notNull(inflationEndInterpolatedRateComputationFn, "inflationEndInterpolatedRateComputationFn"); }
/// <summary> /// Creates an instance. /// </summary> /// <param name="rateComputationFn"> the rate computation function </param> public DiscountingFraProductPricer(RateComputationFn <RateComputation> rateComputationFn) { this.rateComputationFn = ArgChecker.notNull(rateComputationFn, "rateComputationFn"); }
/// <summary> /// Creates an instance. /// </summary> /// <param name="rateComputationFn"> the rate computation function </param> public DiscountingRatePaymentPeriodPricer(RateComputationFn <RateComputation> rateComputationFn) { this.rateComputationFn = ArgChecker.notNull(rateComputationFn, "rateComputationFn"); }
//------------------------------------------------------------------------- public virtual void test_getter() { assertEquals(PRICER.RateComputationFn, RateComputationFn.standard()); }