public async Task FileWithBlankLine_NoIgnoreSpecialLines_ThrowsException()
        {
            TestDataHelper dataHelper  = new TestDataHelper();
            var            description = dataHelper.GetTestFileDescription(true, true, true, false);
            TabularDataReader <TestData> weatherDataReader = new TabularDataReader <TestData>(description);

            using (var stream = CreateMemoryReader(dataHelper.TestData))
            {
                Should.Throw <ArgumentOutOfRangeException>(() => weatherDataReader.ProcessFile(stream));
            }
        }
        public async Task ReadSummaryLine()
        {
            TestDataHelper dataHelper = new TestDataHelper();
            TabularDataReader <TestData> weatherDataReader = new TabularDataReader <TestData>(dataHelper.GetTestFileDescription());

            using (var stream = CreateMemoryReader(dataHelper.TestData))
            {
                var result = await weatherDataReader.ProcessFile(stream);

                result.SummaryText.ShouldBe(dataHelper.Summary);
            }
        }
Пример #3
0
        public async Task <MinSpreadResponse> Handle(MinSpreadCommand request, CancellationToken cancellationToken)
        {
            var fileDesc = BuildFileDescription(_kata04Config.WeatherFilePath);

            TabularDataReader <WeatherData> reader = new TabularDataReader <WeatherData>(fileDesc);

            using (var stream = new StreamReader(_kata04Config.WeatherFilePath))
            {
                var result = await reader.ProcessFile(stream);

                return(new MinSpreadResponse
                {
                    MinRangeDayNumber = result.FileData
                                        .Select(w => new { Day = w.Day, Departure = w.MxT - w.MnT })
                                        .OrderBy(m => m.Departure)
                                        .First().Day
                });
            }
        }
        public async Task <MinGoalDifferentialResponse> Handle(MinGoalDifferentialCommand request, CancellationToken cancellationToken)
        {
            var fileDesc = BuildFileDescription(kata04Config.FootballFilePath);

            TabularDataReader <FootballData> reader = new TabularDataReader <FootballData>(fileDesc);

            using (var stream = new StreamReader(kata04Config.FootballFilePath))
            {
                var result = await reader.ProcessFile(stream);

                return(new MinGoalDifferentialResponse
                {
                    TeamName = result.FileData
                               .Select(f => new { Team = f.Team, Differntial = f.For - f.Against })
                               .OrderBy(m => m.Differntial)
                               .First().Team
                });
            }
        }