public async void GetNonTradingDays(int year, int expectedCount) { var mockRepository = new MockRepository(MockBehavior.Strict); HttpRequestMessage requestMessage = null; var fileName = String.Format("asx-trading-calendar-{0}.htm", year); var messageHandler = mockRepository.CreateFileContentMessageHandler(fileName, "text/html", x => requestMessage = x); var httpClient = new HttpClient(messageHandler.Object); var dataService = new AsxDataService(httpClient); var result = await dataService.GetNonTradingDays(year, CancellationToken.None); requestMessage.Method.Should().Be(HttpMethod.Get); requestMessage.RequestUri.AbsoluteUri.Should().Be("http://www.asx.com.au/about/" + fileName); result.Should().HaveCount(expectedCount); var newYearsDay = new Date(year, 01, 01); while (!newYearsDay.WeekDay()) { newYearsDay = newYearsDay.AddDays(1); } result.First().Should().BeEquivalentTo(new NonTradingDay(newYearsDay, "New Year's Day")); }