public void GetHashCode_UseSameAndDifferentRanges_SameOrDifferentHashCodes() { ViaHeaderValue via1 = new ViaHeaderValue("x11", "host"); ViaHeaderValue via2 = new ViaHeaderValue("x11", "HOST"); ViaHeaderValue via3 = new ViaHeaderValue("X11", "host"); ViaHeaderValue via4 = new ViaHeaderValue("x11", "host", "HTTP"); ViaHeaderValue via5 = new ViaHeaderValue("x11", "host", "http"); ViaHeaderValue via6 = new ViaHeaderValue("x11", "host", null, "(comment)"); ViaHeaderValue via7 = new ViaHeaderValue("x11", "host", "HTTP", "(comment)"); ViaHeaderValue via8 = new ViaHeaderValue("x11", "host", "HTTP", "(COMMENT)"); ViaHeaderValue via9 = new ViaHeaderValue("x12", "host"); ViaHeaderValue via10 = new ViaHeaderValue("x11", "host2"); ViaHeaderValue via11 = new ViaHeaderValue("x11", "host", "WS"); ViaHeaderValue via12 = new ViaHeaderValue("x11", "host", string.Empty, string.Empty); Assert.Equal(via1.GetHashCode(), via2.GetHashCode()); Assert.Equal(via1.GetHashCode(), via3.GetHashCode()); Assert.NotEqual(via1.GetHashCode(), via4.GetHashCode()); Assert.NotEqual(via1.GetHashCode(), via6.GetHashCode()); Assert.NotEqual(via1.GetHashCode(), via7.GetHashCode()); Assert.NotEqual(via1.GetHashCode(), via9.GetHashCode()); Assert.NotEqual(via1.GetHashCode(), via10.GetHashCode()); Assert.NotEqual(via4.GetHashCode(), via11.GetHashCode()); Assert.Equal(via4.GetHashCode(), via5.GetHashCode()); Assert.NotEqual(via4.GetHashCode(), via6.GetHashCode()); Assert.NotEqual(via6.GetHashCode(), via7.GetHashCode()); Assert.NotEqual(via7.GetHashCode(), via8.GetHashCode()); Assert.Equal(via1.GetHashCode(), via12.GetHashCode()); }