public void DelayConnectingHttpSocketAdapter_AddRequestHeader_AddsHeadersAfterConnection()
        {
            // Arrange
            IHttpSocketAdapter delayAdapter = new DelayConnectingHttpSocketAdapter(ConnectOnlyOnce);

            delayAdapter.AddRequestHeader("Hello", "World");
            delayAdapter.AddRequestHeader("Hello2", "Planet");

            // Act
            delayAdapter.WaitForResponseComplete();

            // Assert
            Assert.True(_createdAdapter.RequestHeaders.ContainsKey("Hello"), "Header 'Hello' should be added.");
            Assert.Equal("World", _createdAdapter.RequestHeaders["Hello"]);
            Assert.True(_createdAdapter.RequestHeaders.ContainsKey("Hello2"), "Header 'Hello2' should be added.");
            Assert.Equal("Planet", _createdAdapter.RequestHeaders["Hello2"]);
        }
        public void DelayConnectingHttpSocketAdapter_AddRequestHeader_DoesNotConnect()
        {
            // Arrange
            IHttpSocketAdapter delayAdapter = new DelayConnectingHttpSocketAdapter(DoNotConnect);

            // Act
            delayAdapter.AddRequestHeader("Hello", "World");

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

            delayAdapter.GetResponseStatusCode();

            // Act
            delayAdapter.AddRequestHeader("Hello", "World");

            // Assert
            Assert.True(_createdAdapter.RequestHeaders.ContainsKey("Hello"), "Header 'Hello' should be added.");
            Assert.Equal("World", _createdAdapter.RequestHeaders["Hello"]);
        }