Exemple #1
0
        public void YearlyBillingIsCorrect()
        {
            var recurringPayment = new RecurringPaymentInfo {
                Interval = Interval.FromIsoDuration("P1Y"),
                Start = new DateTime(2008, 1, 1)
            };

            Assert.AreEqual(TimeUnit.Year,	recurringPayment.GetTimeUnit());
            Assert.AreEqual(1,				recurringPayment.GetTimeUnitFrequency());

            var cycle = BillingCycle.CalculateFirst(
                start:		recurringPayment.Start,
                interval:	recurringPayment.Interval
            );

            Assert.AreEqual(TimeUnit.Year,				cycle.GetTimeUnit());
            Assert.AreEqual(new DateTime(2008, 1, 1),	cycle.Start);
            Assert.AreEqual(new DateTime(2009, 1, 1),	cycle.End);

            var nextCycle = cycle.CalculateNext();

            Assert.AreEqual(TimeUnit.Year,				nextCycle.GetTimeUnit());
            Assert.AreEqual(1,							nextCycle.GetTimeFrequency());
            Assert.AreEqual(new DateTime(2009, 1, 1),	nextCycle.Start);
            Assert.AreEqual(new DateTime(2010, 1, 1),	nextCycle.End);

            nextCycle = nextCycle.CalculateNext();

            Assert.AreEqual(TimeUnit.Year,				nextCycle.GetTimeUnit());
            Assert.AreEqual(1,							nextCycle.GetTimeFrequency());
            Assert.AreEqual(new DateTime(2010, 1, 1),	nextCycle.Start);
            Assert.AreEqual(new DateTime(2011, 1, 1),	nextCycle.End);
        }
Exemple #2
0
        public void YearlyBillingIsCorrect()
        {
            var recurringPayment = new RecurringPaymentInfo {
                Interval = Interval.FromIsoDuration("P1Y"),
                Start    = new DateTime(2008, 1, 1)
            };

            Assert.AreEqual(TimeUnit.Year, recurringPayment.GetTimeUnit());
            Assert.AreEqual(1, recurringPayment.GetTimeUnitFrequency());

            var cycle = BillingCycle.CalculateFirst(
                start:          recurringPayment.Start,
                interval:       recurringPayment.Interval
                );

            Assert.AreEqual(TimeUnit.Year, cycle.GetTimeUnit());
            Assert.AreEqual(new DateTime(2008, 1, 1), cycle.Start);
            Assert.AreEqual(new DateTime(2009, 1, 1), cycle.End);

            var nextCycle = cycle.CalculateNext();

            Assert.AreEqual(TimeUnit.Year, nextCycle.GetTimeUnit());
            Assert.AreEqual(1, nextCycle.GetTimeFrequency());
            Assert.AreEqual(new DateTime(2009, 1, 1), nextCycle.Start);
            Assert.AreEqual(new DateTime(2010, 1, 1), nextCycle.End);

            nextCycle = nextCycle.CalculateNext();

            Assert.AreEqual(TimeUnit.Year, nextCycle.GetTimeUnit());
            Assert.AreEqual(1, nextCycle.GetTimeFrequency());
            Assert.AreEqual(new DateTime(2010, 1, 1), nextCycle.Start);
            Assert.AreEqual(new DateTime(2011, 1, 1), nextCycle.End);
        }