public void DelayConnectingHttpSocketAdapter_SetResponseHandler_DoesNotConnect()
        {
            // Arrange
            IHttpSocketAdapter delayAdapter = new DelayConnectingHttpSocketAdapter(DoNotConnect);

            // Act
            delayAdapter.SetResponseHandler(HandleAsciiResponse);

            // Assert
            //   If we got here, the connection was not created
        }
        public void DelayConnectingHttpSocketAdapter_CompleteRequest_CompletesIfThereIsAResponseHandler()
        {
            // Arrange
            IHttpSocketAdapter delayAdapter = new DelayConnectingHttpSocketAdapter(ConnectOnlyOnce);

            delayAdapter.SetResponseHandler(HandleAsciiResponse);

            // Act
            Task result = delayAdapter.CompleteRequest();

            // Assert
            Assert.True(_createdAdapter != null, "Adapter should have been created");
            Assert.True(_createdAdapter.IsCompleted, "Adapter should be completed");
        }
        public void DelayConnectingHttpSocketAdapter_SetResponseHandler_SetsHandlerOnExistingConnection()
        {
            // Arrange
            IHttpSocketAdapter delayAdapter = new DelayConnectingHttpSocketAdapter(ConnectOnlyOnce);

            delayAdapter.GetResponseStatusCode();

            // Act
            delayAdapter.SetResponseHandler(HandleAsciiResponse);

            // Assert
            Assert.True(_createdAdapter.HasResponseHandler, "Response handler was not set.");

            // Act
            _createdAdapter.SendResponseBodyContent("This is a test", Encoding.ASCII);

            // Assert
            Assert.Equal("This is a test", _responseContent);
        }