public void LongInitialStubSpecified() { DateTime startDate = new DateTime(2007, 01, 5); DateTime endDate = new DateTime(2012, 01, 5); RollConventionEnum rollConvention = RollConventionEnum.Item26; CalculationPeriodFrequency periodFrequency = CalculationPeriodFrequencyHelper.Parse("3M", rollConvention.ToString()); DateTime firstRegularPeriodDate = new DateTime(2007, 4, 26); CalculationPeriodSchedule cps = new CalculationPeriodSchedule(); List <CalculationPeriod> unadjustedCalcPeriods = cps.GetUnadjustedCalculationDateSchedule(startDate, endDate, firstRegularPeriodDate, periodFrequency, StubPeriodTypeEnum.LongInitial); Assert.AreEqual(unadjustedCalcPeriods.Count, 20); Assert.IsTrue(cps.HasFinalStub); Assert.IsTrue(cps.HasInitialStub); Assert.IsTrue(CalculationPeriodHelper.IsLongStub(unadjustedCalcPeriods[0], cps.PeriodInterval)); }
public void LongFinalStubSpecifiedFromTermination() { DateTime startDate = new DateTime(2007, 01, 5); DateTime endDate = new DateTime(2010, 01, 5); RollConventionEnum rollConvention = RollConventionEnum.Item12; CalculationPeriodFrequency periodFrequency = CalculationPeriodFrequencyHelper.Parse("3M", rollConvention.ToString()); Period periodInterval = CalculationPeriodHelper.CalculationPeriodFrequencyToInterval(periodFrequency); CalculationPeriodSchedule cps = new CalculationPeriodSchedule(); DateTime lastRegularPeriodEndDate = new DateTime(2009, 8, 12); List <CalculationPeriod> unadjustedCalcPeriods = cps.GetUnadjustedCalculationDateScheduleFromTermDate(startDate, endDate, periodInterval, lastRegularPeriodEndDate, rollConvention, StubPeriodTypeEnum.LongFinal); Assert.AreEqual(unadjustedCalcPeriods.Count, 12); Assert.IsTrue(cps.HasFinalStub); Assert.IsTrue(cps.HasInitialStub); Assert.IsTrue(CalculationPeriodHelper.IsLongStub(unadjustedCalcPeriods[unadjustedCalcPeriods.Count - 1], cps.PeriodInterval)); }