public void Coupdaybs_ShouldReturnCorrectResult_Actual_360() { var settlement = new DateTime(2018, 12, 01); var maturity = new DateTime(2019, 3, 15); var func = new CoupdaybsImpl( FinancialDayFactory.Create(settlement, DayCountBasis.Actual_360), FinancialDayFactory.Create(maturity, DayCountBasis.Actual_360), 4, DayCountBasis.Actual_360 ); var result = func.Coupdaybs(); Assert.AreEqual(77, result.Result); settlement = new DateTime(2016, 02, 01); maturity = new DateTime(2019, 05, 31); func = new CoupdaybsImpl( FinancialDayFactory.Create(settlement, DayCountBasis.Actual_360), FinancialDayFactory.Create(maturity, DayCountBasis.Actual_360), 2, DayCountBasis.Actual_360 ); result = func.Coupdaybs(); Assert.AreEqual(63, result.Result); }
protected override FinanceCalcResult <int> ExecuteFunction(FinancialDay settlementDate, FinancialDay maturityDate, int frequency, DayCountBasis basis = DayCountBasis.US_30_360) { var impl = new CoupdaybsImpl(settlementDate, maturityDate, frequency, basis); return(impl.Coupdaybs()); }