예제 #1
0
        public VisaInfo[] Read(VisaInfoFilter filter)
        {
            var fileName    = actualFileNameFinder.FindName(filter.City);
            var visaStrings = File.ReadLines(fileName);

            return(visaStrings
                   .Select(x => new VisaInfo(x))
                   .ToArray());
        }
예제 #2
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));
        }
예제 #3
0
        public void TestRewriteOneInfo()
        {
            var visaDate      = DateTime.Today;
            var expectedInfos = new[]
            {
                new VisaInfo(city, VisaResult.None, "number", visaDate)
            };

            foreach (var visaInfo in expectedInfos)
            {
                WriteToFile(visaInfo);
            }
            var filter      = new VisaInfoFilter(city);
            var actualInfos = VisaRepository.Read(filter);

            Assert.That(actualInfos, Is.EqualTo(expectedInfos));
        }
예제 #4
0
        public void TestWriteOneByOneManyInfos()
        {
            var visaDate      = DateTime.Today;
            var expectedInfos = new[]
            {
                new VisaInfo(city, VisaResult.None, "number", visaDate),
                new VisaInfo(city, VisaResult.Failure, "number2", visaDate),
                new VisaInfo(city, VisaResult.Success, "number3", visaDate),
                new VisaInfo(city, VisaResult.InService, "number4", visaDate)
            };

            foreach (var expectedInfo in expectedInfos)
            {
                WriteToFile(expectedInfo);
            }
            var filter      = new VisaInfoFilter(city);
            var actualInfos = VisaRepository.Read(filter);

            Assert.That(actualInfos, Is.EqualTo(expectedInfos));
        }