public async Task SendAsync_when_response_status_is_false()
        {
            var expectedRequestBody    = "request content";
            var testHttpRequestMessage = new HttpRequestMessage(HttpMethod.Post, "http://www.github.com")
            {
                Content = new StringContent(expectedRequestBody, Encoding.UTF8, "application/text"),
                Headers = { { "header1", "value1" }, { "header2", new List <string> {
                                                           "value2A", "value2B"
                                                       } } }
            };
            var expectedResponseBody    = "response content";
            var testHttpResponseMessage = new HttpResponseMessage(HttpStatusCode.BadRequest)
            {
                RequestMessage = testHttpRequestMessage,
                Content        = new StringContent(expectedResponseBody, Encoding.UTF8, "application/text"),
                Headers        = { { "header1", "value1" }, { "header2", new List <string> {
                                                                  "value2A", "value2B"
                                                              } } }
            };
            var testHandler = new TestHttpClientHandler(() => Task.FromResult(testHttpResponseMessage));
            var httpClient  = new HttpClient(testHandler);

            var httpResultClient = new HttpResultClient(httpClient);
            var httpResult       = await httpResultClient.SendAsync(testHttpRequestMessage);

            httpResult.IsSuccess.ShouldBeFalse();
            var httpStateRequestBody = await httpResult.HttpState.ReadRequestBodyAsStringAsync();

            var httpStateResponseBody = await httpResult.HttpState.ReadResponseBodyAsStringAsync();

            httpStateRequestBody.ShouldBe(expectedRequestBody);
            httpStateResponseBody.ShouldBe(expectedResponseBody);
        }
        public void Dispose_can_be_called_multiple_times()
        {
            var httpResultClient = new HttpResultClient(new HttpClient());

            httpResultClient.Dispose();
            httpResultClient.Dispose();
            httpResultClient.Dispose();
        }