コード例 #1
0
        public VisaStatisticResult Get(string city)
        {
            var actualDate = actualityDateProvider.GetActualityDate(city);
            var filter     = new VisaInfoFilter(city);
            var infos      = repository.Read(filter);
            var statistic  = statisticBuilder.BuildStatisticByDays(infos);

            return(new VisaStatisticResult(actualDate, statistic));
        }
コード例 #2
0
        public void TestGetStatisticByDays()
        {
            var date1 = new DateTime(2018, 04, 05);
            var date2 = new DateTime(2018, 04, 06);

            var visaInfos = new[]
            {
                new VisaInfo(City, VisaResult.None, "1", date1),
                new VisaInfo(City, VisaResult.Failure, "2", date1),
                new VisaInfo(City, VisaResult.None, "3", date1),
                new VisaInfo(City, VisaResult.Success, "4", date1),
                new VisaInfo(City, VisaResult.InService, "5", date1),
                new VisaInfo(City, VisaResult.InService, "6", date1),

                new VisaInfo(City, VisaResult.Success, "1", date2),
                new VisaInfo(City, VisaResult.InService, "2", date2),
                new VisaInfo(City, VisaResult.InService, "3", date2),
                new VisaInfo(City, VisaResult.InService, "4", date2),
                new VisaInfo(City, VisaResult.Success, "5", date2),
                new VisaInfo(City, VisaResult.Success, "6", date2),
                new VisaInfo(City, VisaResult.InService, "7", date2),
            };

            Repository.Setup(x => x.Read(It.IsAny <VisaInfoFilter>()))
            .Returns(visaInfos);

            var expectedStatistic = new[]
            {
                new VisaStatisticItem(date1, 2, 1, 1),
                new VisaStatisticItem(date2, 4, 0, 3),
            };

            var actualStatistic = StatisticBuilder.BuildStatisticByDays(visaInfos);

            Assert.That(actualStatistic, Is.EqualTo(expectedStatistic));
        }