public void TestParsingAllFilesTogether() { var trackerFiles = Directory.GetFiles(@"TestData").ToList(); var virusTrackerItems = new List <VirusTrackerItem>(); var csvHeaderMappings = GetCsvHeaderMappings(); trackerFiles.ForEach(trackerFile => { var parser = new VirusTrackerDataParser(trackerFile, csvHeaderMappings); virusTrackerItems.AddRange(parser.GetVirusTrackerItems()); }); using (var writer = new StreamWriter("ConsolidatedReport.csv")) { using (var csv = new CsvHelper.CsvWriter(writer, CultureInfo.InvariantCulture)) { csv.WriteRecords(virusTrackerItems); } } }
public void TestVirusTrackerDataParsingOfAlternateFormat() { var virusTrackerDataFile = @"TestData\03-29-2020-Format2.csv"; var csvHeaderMappings = GetCsvHeaderMappings(); var parser = new VirusTrackerDataParser(virusTrackerDataFile, csvHeaderMappings); var virusTrackerItems = parser.GetVirusTrackerItems(); var numRecords = virusTrackerItems.Count; var numInfectionsUS = virusTrackerItems.Where(item => item.Country == "US").Sum(item => item.Infections); var numDeathsUS = virusTrackerItems.Where(item => item.Country == "US").Sum(item => item.Deaths); var numRecoveryUS = virusTrackerItems.Where(item => item.Country == "US").Sum(item => item.Recovery); Assert.True(numRecords > 0); Assert.True(numInfectionsUS == 140909); Assert.True(numDeathsUS == 2467); Assert.True(numRecoveryUS == 2665); }