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); } }
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 }); } }