private SwellData GetSwellData(HtmlDocument htmlDoc) { SwellData swellData = new SwellData(); int forecastDay = 1; IEnumerable <HtmlNode> dayNodes = htmlDoc.DocumentNode.Descendants("tr").Where(tr => tr.GetAttributeValue("data-forecast-day", "-1") == forecastDay.ToString()); do { swellData.Add(forecastDay, GetDailySwellData(dayNodes)); forecastDay++; dayNodes = htmlDoc.DocumentNode.Descendants("tr").Where(tr => tr.GetAttributeValue("data-forecast-day", "-1") == forecastDay.ToString()); } while (dayNodes.Count() != 0); return(swellData); }
public void Test_GetSwellDataFromFile_VieuxBoucau() { // Arrange IDataProvider mswDataProvider = new MswDataProvider(); // Act SwellData swellData = mswDataProvider.GetSwellDataFromFile(MswVieuxBoucauForecast); // Assert swellData.Count.Should().Be(7); for (int day = 1; day <= swellData.Count; day++) { bool hasValueForDay = swellData.TryGetValue(day, out DailySwellData dailySwellData); hasValueForDay.Should().BeTrue(); AssertDailySwellData(day, dailySwellData); } }