public void GetShowsAsync_InternalServerError_Should_Throw_HttpRequestException()
        {
            // Arrange
            var httpClient    = HttpClientHelper.GetMockHttpClient(HttpStatusCode.InternalServerError, String.Empty);
            var tvMazeService = new TvMazeService(httpClient);

            // Act Assert
            Assert.ThrowsAsync <HttpRequestException>(async() => await tvMazeService.GetShowsAsync(1));
        }
        public async Task GetShowsAsync_PageNotFound_Should_Return_EmptyList()
        {
            // Arrange
            var httpClient    = HttpClientHelper.GetMockHttpClient(HttpStatusCode.NotFound, String.Empty);
            var tvMazeService = new TvMazeService(httpClient);

            // Act
            var shows = await tvMazeService.GetShowsAsync(1);

            // Assert
            Assert.IsEmpty(shows);
        }
        public async Task GetShowsAsync_OkResponse_Should_Return_Rows()
        {
            // Arrange
            var httpClient    = HttpClientHelper.GetMockHttpClient(HttpStatusCode.OK, File.ReadAllText("seed/shows.json"));
            var tvMazeService = new TvMazeService(httpClient);

            // Act
            var shows = await tvMazeService.GetShowsAsync(1);

            // Assert
            Assert.IsNotEmpty(shows);
        }