AddQuarters() public method

현 분기에서 count 수만큼 분기를 더한다.
public AddQuarters ( int count ) : QuarterRange
count int
return QuarterRange
Esempio n. 1
0
        public void AddQuartersTest() {
            const int yearStartMonth = April;

            var currentYear = ClockProxy.Clock.Now.Year;
            var timeCalendar = TimeCalendar.New(TimeSpan.Zero, TimeSpan.Zero, yearStartMonth);

            var calendarStartDate = new DateTime(currentYear, 4, 1);
            var calendarQuarter = new QuarterRange(currentYear, QuarterKind.First, timeCalendar);

            Assert.AreEqual(calendarQuarter.AddQuarters(0), calendarQuarter);

            var prevQ1 = calendarQuarter.AddQuarters(-1);
            prevQ1.Quarter.Should().Be(QuarterKind.Fourth);
            prevQ1.BaseYear.Should().Be(currentYear - 1);
            prevQ1.Start.Should().Be(calendarStartDate.AddMonths(-3));
            prevQ1.End.Should().Be(calendarStartDate);

            var prevQ2 = calendarQuarter.AddQuarters(-2);
            prevQ2.Quarter.Should().Be(QuarterKind.Third);
            prevQ2.BaseYear.Should().Be(currentYear - 1);
            prevQ2.Start.Should().Be(calendarStartDate.AddMonths(-6));
            prevQ2.End.Should().Be(calendarStartDate.AddMonths(-3));

            var prevQ3 = calendarQuarter.AddQuarters(-3);
            prevQ3.Quarter.Should().Be(QuarterKind.Second);
            prevQ3.BaseYear.Should().Be(currentYear - 1);
            prevQ3.Start.Should().Be(calendarStartDate.AddMonths(-9));
            prevQ3.End.Should().Be(calendarStartDate.AddMonths(-6));

            var prevQ4 = calendarQuarter.AddQuarters(-4);
            prevQ4.Quarter.Should().Be(QuarterKind.First);
            prevQ4.BaseYear.Should().Be(currentYear - 1);
            prevQ4.Start.Should().Be(calendarStartDate.AddMonths(-12));
            prevQ4.End.Should().Be(calendarStartDate.AddMonths(-9));

            var prevQ5 = calendarQuarter.AddQuarters(-5);
            prevQ5.Quarter.Should().Be(QuarterKind.Fourth);
            prevQ5.BaseYear.Should().Be(currentYear - 2);
            prevQ5.Start.Should().Be(calendarStartDate.AddMonths(-15));
            prevQ5.End.Should().Be(calendarStartDate.AddMonths(-12));

            var futureQ1 = calendarQuarter.AddQuarters(1);
            futureQ1.Quarter.Should().Be(QuarterKind.Second);
            futureQ1.BaseYear.Should().Be(currentYear);
            futureQ1.Start.Should().Be(calendarStartDate.AddMonths(3));
            futureQ1.End.Should().Be(calendarStartDate.AddMonths(6));

            var futureQ2 = calendarQuarter.AddQuarters(2);
            futureQ2.Quarter.Should().Be(QuarterKind.Third);
            futureQ2.BaseYear.Should().Be(currentYear);
            futureQ2.Start.Should().Be(calendarStartDate.AddMonths(6));
            futureQ2.End.Should().Be(calendarStartDate.AddMonths(9));

            var futureQ3 = calendarQuarter.AddQuarters(3);
            futureQ3.Quarter.Should().Be(QuarterKind.Fourth);
            futureQ3.BaseYear.Should().Be(currentYear);
            futureQ3.Start.Should().Be(calendarStartDate.AddMonths(9));
            futureQ3.End.Should().Be(calendarStartDate.AddMonths(12));

            var futureQ4 = calendarQuarter.AddQuarters(4);
            futureQ4.Quarter.Should().Be(QuarterKind.First);
            futureQ4.BaseYear.Should().Be(currentYear + 1);
            futureQ4.Start.Should().Be(calendarStartDate.AddMonths(12));
            futureQ4.End.Should().Be(calendarStartDate.AddMonths(15));

            var futureQ5 = calendarQuarter.AddQuarters(5);
            futureQ5.Quarter.Should().Be(QuarterKind.Second);
            futureQ5.BaseYear.Should().Be(currentYear + 1);
            futureQ5.Start.Should().Be(calendarStartDate.AddMonths(15));
            futureQ5.End.Should().Be(calendarStartDate.AddMonths(18));
        }
Esempio n. 2
0
        public void AddQuartersTest()
        {
            const int yearStartMonth = April;

            var currentYear  = ClockProxy.Clock.Now.Year;
            var timeCalendar = TimeCalendar.New(TimeSpan.Zero, TimeSpan.Zero, yearStartMonth);

            var calendarStartDate = new DateTime(currentYear, 4, 1);
            var calendarQuarter   = new QuarterRange(currentYear, QuarterKind.First, timeCalendar);

            Assert.AreEqual(calendarQuarter.AddQuarters(0), calendarQuarter);

            var prevQ1 = calendarQuarter.AddQuarters(-1);

            prevQ1.Quarter.Should().Be(QuarterKind.Fourth);
            prevQ1.BaseYear.Should().Be(currentYear - 1);
            prevQ1.Start.Should().Be(calendarStartDate.AddMonths(-3));
            prevQ1.End.Should().Be(calendarStartDate);

            var prevQ2 = calendarQuarter.AddQuarters(-2);

            prevQ2.Quarter.Should().Be(QuarterKind.Third);
            prevQ2.BaseYear.Should().Be(currentYear - 1);
            prevQ2.Start.Should().Be(calendarStartDate.AddMonths(-6));
            prevQ2.End.Should().Be(calendarStartDate.AddMonths(-3));

            var prevQ3 = calendarQuarter.AddQuarters(-3);

            prevQ3.Quarter.Should().Be(QuarterKind.Second);
            prevQ3.BaseYear.Should().Be(currentYear - 1);
            prevQ3.Start.Should().Be(calendarStartDate.AddMonths(-9));
            prevQ3.End.Should().Be(calendarStartDate.AddMonths(-6));

            var prevQ4 = calendarQuarter.AddQuarters(-4);

            prevQ4.Quarter.Should().Be(QuarterKind.First);
            prevQ4.BaseYear.Should().Be(currentYear - 1);
            prevQ4.Start.Should().Be(calendarStartDate.AddMonths(-12));
            prevQ4.End.Should().Be(calendarStartDate.AddMonths(-9));

            var prevQ5 = calendarQuarter.AddQuarters(-5);

            prevQ5.Quarter.Should().Be(QuarterKind.Fourth);
            prevQ5.BaseYear.Should().Be(currentYear - 2);
            prevQ5.Start.Should().Be(calendarStartDate.AddMonths(-15));
            prevQ5.End.Should().Be(calendarStartDate.AddMonths(-12));

            var futureQ1 = calendarQuarter.AddQuarters(1);

            futureQ1.Quarter.Should().Be(QuarterKind.Second);
            futureQ1.BaseYear.Should().Be(currentYear);
            futureQ1.Start.Should().Be(calendarStartDate.AddMonths(3));
            futureQ1.End.Should().Be(calendarStartDate.AddMonths(6));

            var futureQ2 = calendarQuarter.AddQuarters(2);

            futureQ2.Quarter.Should().Be(QuarterKind.Third);
            futureQ2.BaseYear.Should().Be(currentYear);
            futureQ2.Start.Should().Be(calendarStartDate.AddMonths(6));
            futureQ2.End.Should().Be(calendarStartDate.AddMonths(9));

            var futureQ3 = calendarQuarter.AddQuarters(3);

            futureQ3.Quarter.Should().Be(QuarterKind.Fourth);
            futureQ3.BaseYear.Should().Be(currentYear);
            futureQ3.Start.Should().Be(calendarStartDate.AddMonths(9));
            futureQ3.End.Should().Be(calendarStartDate.AddMonths(12));

            var futureQ4 = calendarQuarter.AddQuarters(4);

            futureQ4.Quarter.Should().Be(QuarterKind.First);
            futureQ4.BaseYear.Should().Be(currentYear + 1);
            futureQ4.Start.Should().Be(calendarStartDate.AddMonths(12));
            futureQ4.End.Should().Be(calendarStartDate.AddMonths(15));

            var futureQ5 = calendarQuarter.AddQuarters(5);

            futureQ5.Quarter.Should().Be(QuarterKind.Second);
            futureQ5.BaseYear.Should().Be(currentYear + 1);
            futureQ5.Start.Should().Be(calendarStartDate.AddMonths(15));
            futureQ5.End.Should().Be(calendarStartDate.AddMonths(18));
        }