public void GetHashCode_NameUseDifferentCasing_HashDiffersAccordingToRfc() { var nameValue1 = new NameValueHeaderValue("text"); var nameValue2 = new NameValueHeaderValue("TEXT"); Assert.Equal(nameValue1.GetHashCode(), nameValue2.GetHashCode()); }
public void GetHashCode_ValuesUseDifferentValues_HashDiffersAccordingToRfc() { var nameValue1 = new NameValueHeaderValue("text"); var nameValue2 = new NameValueHeaderValue("text"); nameValue1.Value = null; nameValue2.Value = null; Assert.Equal(nameValue1.GetHashCode(), nameValue2.GetHashCode()); nameValue1.Value = "token"; nameValue2.Value = null; Assert.NotEqual(nameValue1.GetHashCode(), nameValue2.GetHashCode()); nameValue1.Value = "token"; nameValue2.Value = string.Empty; Assert.NotEqual(nameValue1.GetHashCode(), nameValue2.GetHashCode()); nameValue1.Value = null; nameValue2.Value = string.Empty; Assert.Equal(nameValue1.GetHashCode(), nameValue2.GetHashCode()); nameValue1.Value = "token"; nameValue2.Value = "TOKEN"; Assert.Equal(nameValue1.GetHashCode(), nameValue2.GetHashCode()); nameValue1.Value = "token"; nameValue2.Value = "token"; Assert.Equal(nameValue1.GetHashCode(), nameValue2.GetHashCode()); nameValue1.Value = "\"quoted string\""; nameValue2.Value = "\"QUOTED STRING\""; Assert.NotEqual(nameValue1.GetHashCode(), nameValue2.GetHashCode()); nameValue1.Value = "\"quoted string\""; nameValue2.Value = "\"quoted string\""; Assert.Equal(nameValue1.GetHashCode(), nameValue2.GetHashCode()); }
/// <inheritdoc /> public override int GetHashCode() { // The dispositionType string is case-insensitive. return(StringSegmentComparer.OrdinalIgnoreCase.GetHashCode(_dispositionType) ^ NameValueHeaderValue.GetHashCode(_parameters)); }