public async Task RequestData() { // Integration test checks that we can make an HTTP request var mock = new Mock <IHttpClientFactory>(); mock.Setup((m) => m.CreateClient(It.IsAny <string>())).Returns(new HttpClient()); var dataService = new CovidTrackingDataService(mock.Object); var stateData = await dataService.GetDailyStateRecordsAsync(); var nationData = await dataService.GetDailyNationRecordsAsync(); Assert.Greater((await stateData.ToArrayAsync()).Length, 0); Assert.Greater((await nationData.ToArrayAsync()).Length, 0); }
public async Task ParseCovidData() { var text = await File.ReadAllTextAsync(Path.Join(TestContext.CurrentContext.TestDirectory, "CovidTrackingProject", "all-states-history.csv")); var records = await CovidTrackingDataService.ParseCsvRecords <CovidStateDailyRecord>(new StringReader(text)) .ToArrayAsync(); Assert.AreEqual(14279, records.Length); // records are line # - 2 var nd11122020 = records[31]; Assert.AreEqual("ND", nd11122020.State); Assert.AreEqual(DateTime.Parse("11-12-2020"), nd11122020.Date); Assert.AreEqual("B", nd11122020.DataQualityGrade); Assert.AreEqual(553, nd11122020.Death); Assert.AreEqual(547, nd11122020.DeathConfirmed); Assert.AreEqual(34, nd11122020.DeathIncrease); Assert.AreEqual(6, nd11122020.DeathProbable); // TODO add a few more row examples }