public void HttpSocketAdapter_GetResponseHeader_SocketException() { // Arrange MockSocketAdapter serverSocket = new MockSocketAdapter(); serverSocket.SendString("HTTP/1.1 200 OK\r\n", Encoding.ASCII); HttpSocketAdapter clientSocket = new HttpSocketAdapter("GET", new Uri("http://bing.com"), serverSocket); Task <int> responseCodeTask = clientSocket.GetResponseStatusCode(); Task <string> responseHeaderTask = clientSocket.GetResponseHeader("test header"); Task responseCompleteTask = clientSocket.WaitForResponseComplete(); TaskAssert.Completed(responseCodeTask, "GetResponseStatusCode should have failed."); AssertWithMessage.Equal(200, responseCodeTask.Result, "Wrong result for GetResponseStatusCode"); // Act serverSocket.ThrowExceptionFromReceiveAsync(); // Assert TaskAssert.Faulted(responseHeaderTask, "GetResponseHeader should have failed."); TaskAssert.Faulted(responseCompleteTask, "WaitForResponseComplete should have failed."); AssertWithMessage.Equal("An error occurred.", responseHeaderTask.Exception.InnerException.Message, "Wrong exception for GetResponseHeader"); AssertWithMessage.Equal("An error occurred.", responseCompleteTask.Exception.InnerException.Message, "Wrong exception for WaitForResponseComplete"); }