Exemplo n.º 1
0
        public async Task <QuarterWindow> GetNextQuarterWindow(QuarterType q, int year)
        {
            int next = q == QuarterType.Q4 ? 1 : (int)q + 1;

            QuarterWindowTemplate quarterWindowTemplate = await dataAccess.GetByQuarter(next);

            DateTime startDate = new DateTime(year + quarterWindowTemplate.AddStartYears, quarterWindowTemplate.StartMonth, quarterWindowTemplate.StartDay);
            DateTime endDate   = new DateTime(year + quarterWindowTemplate.AddEndYears, quarterWindowTemplate.EndMonth, quarterWindowTemplate.EndDay);

            return(new QuarterWindow(startDate, endDate, (QuarterType)next));
        }
Exemplo n.º 2
0
        public async void GetNextQuarterWindow_CurrentIsQ1_ReturnsQ2()
        {
            Quarter quarter = new Quarter(2019, QuarterType.Q1);
            QuarterWindowTemplate quarterWindowTemplate = QuarterWindowTemplate(7, 1, 0, 1);

            A.CallTo(() => dataAccess.GetByQuarter(((int)quarter.Q) + 1)).Returns(quarterWindowTemplate);

            QuarterWindow result = await quarterWindowFactory.GetNextQuarterWindow(QuarterType.Q1, 2019);

            result.StartDate.Year.Should().Be(2019);
            result.StartDate.Month.Should().Be(07);
            result.StartDate.Day.Should().Be(01);
            result.EndDate.Year.Should().Be(2020);
            result.EndDate.Month.Should().Be(03);
            result.EndDate.Day.Should().Be(16);
            Assert.Equal(QuarterType.Q2, result.QuarterType);
        }