/// <summary> /// Asserts that the expected <see cref="HttpHeaders"/> instance is equal to the actual <see cref="actualHeaders"/> instance. /// </summary> /// <param name="expectedHeaders">The expected <see cref="HttpHeaders"/> instance. Should not be <c>null</c>.</param> /// <param name="actualHeaders">The actual <see cref="HttpHeaders"/> instance. Should not be <c>null</c>.</param> public void Equal(HttpHeaders expectedHeaders, HttpHeaders actualHeaders) { Assert.NotNull(expectedHeaders); Assert.NotNull(actualHeaders); Assert.Equal(expectedHeaders.Count(), actualHeaders.Count()); foreach (KeyValuePair <string, IEnumerable <string> > expectedHeader in expectedHeaders) { KeyValuePair <string, IEnumerable <string> > actualHeader = actualHeaders.FirstOrDefault(h => h.Key == expectedHeader.Key); if (expectedHeader.Key == "Date") { HandleDateHeader(expectedHeader.Value.ToArray(), actualHeader.Value.ToArray()); } else { string expectedHeaderStr = string.Join(CommaSeperator, expectedHeader.Value); string actualHeaderStr = string.Join(CommaSeperator, actualHeader.Value); Assert.Equal(expectedHeaderStr, actualHeaderStr); } } }
/// <summary> /// Asserts that the expected <see cref="HttpHeaders"/> instance is equal to the actual <see cref="actualHeaders"/> instance. /// </summary> /// <param name="expectedHeaders">The expected <see cref="HttpHeaders"/> instance. Should not be <c>null</c>.</param> /// <param name="actualHeaders">The actual <see cref="HttpHeaders"/> instance. Should not be <c>null</c>.</param> public static void AreEqual(HttpHeaders expectedHeaders, HttpHeaders actualHeaders) { Assert.IsNotNull(expectedHeaders, "The 'expectedHeaders' parameter should not be null."); Assert.IsNotNull(actualHeaders, "The 'actualHeaders' parameter should not be null."); Assert.AreEqual(expectedHeaders.Count(), actualHeaders.Count(), "The number of headers should have been the same."); foreach (KeyValuePair <string, IEnumerable <string> > expectedHeader in expectedHeaders) { KeyValuePair <string, IEnumerable <string> > actualHeader = actualHeaders.FirstOrDefault(h => h.Key == expectedHeader.Key); Assert.IsNotNull(actualHeader, string.Format("The '{0}' header was expected but not found.", expectedHeader.Key)); if (expectedHeader.Key == "Date") { HandleDateHeader(expectedHeader.Value.ToArray(), actualHeader.Value.ToArray()); } else { string expectedHeaderStr = string.Join(CommaSeperator, expectedHeader.Value); string actualHeaderStr = string.Join(CommaSeperator, actualHeader.Value); Assert.AreEqual(expectedHeaderStr, actualHeaderStr, string.Format("The '{0}' header disagreed with the expected header value.", expectedHeader.Key)); } } }
/// <summary> /// Asserts that the expected <see cref="HttpHeaders"/> instance is equal to the actual <see cref="actualHeaders"/> instance. /// </summary> /// <param name="expectedHeaders">The expected <see cref="HttpHeaders"/> instance. Should not be <c>null</c>.</param> /// <param name="actualHeaders">The actual <see cref="HttpHeaders"/> instance. Should not be <c>null</c>.</param> public void Equal(HttpHeaders expectedHeaders, HttpHeaders actualHeaders) { Assert.NotNull(expectedHeaders); Assert.NotNull(actualHeaders); Assert.Equal(expectedHeaders.Count(), actualHeaders.Count()); foreach (KeyValuePair<string, IEnumerable<string>> expectedHeader in expectedHeaders) { KeyValuePair<string, IEnumerable<string>> actualHeader = actualHeaders.FirstOrDefault(h => h.Key == expectedHeader.Key); Assert.NotNull(actualHeader); if (expectedHeader.Key == "Date") { HandleDateHeader(expectedHeader.Value.ToArray(), actualHeader.Value.ToArray()); } else { string expectedHeaderStr = string.Join(CommaSeperator, expectedHeader.Value); string actualHeaderStr = string.Join(CommaSeperator, actualHeader.Value); Assert.Equal(expectedHeaderStr, actualHeaderStr); } } }
/// <summary> /// Asserts that the expected <see cref="HttpHeaders"/> instance is equal to the actual <see cref="actualHeaders"/> instance. /// </summary> /// <param name="expectedHeaders">The expected <see cref="HttpHeaders"/> instance. Should not be <c>null</c>.</param> /// <param name="actualHeaders">The actual <see cref="HttpHeaders"/> instance. Should not be <c>null</c>.</param> public static void AreEqual(HttpHeaders expectedHeaders, HttpHeaders actualHeaders) { Assert.IsNotNull(expectedHeaders, "The 'expectedHeaders' parameter should not be null."); Assert.IsNotNull(actualHeaders, "The 'actualHeaders' parameter should not be null."); Assert.AreEqual(expectedHeaders.Count(), actualHeaders.Count(), "The number of headers should have been the same."); foreach (KeyValuePair<string, IEnumerable<string>> expectedHeader in expectedHeaders) { KeyValuePair<string, IEnumerable<string>> actualHeader = actualHeaders.FirstOrDefault(h => h.Key == expectedHeader.Key); Assert.IsNotNull(actualHeader, string.Format("The '{0}' header was expected but not found.", expectedHeader.Key)); if (expectedHeader.Key == "Date") { HandleDateHeader(expectedHeader.Value.ToArray(), actualHeader.Value.ToArray()); } else { string expectedHeaderStr = string.Join(CommaSeperator, expectedHeader.Value); string actualHeaderStr = string.Join(CommaSeperator, actualHeader.Value); Assert.AreEqual(expectedHeaderStr, actualHeaderStr, string.Format("The '{0}' header disagreed with the expected header value.", expectedHeader.Key)); } } }
public static string?FindFirstValue(this HttpHeaders headers, string key) { return(headers.FirstOrDefault(h => h.Key == key).Value?.FirstOrDefault()); }