public void Equals_UseSameAndDifferentRanges_EqualOrNotEqualNoExceptions()
{
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.False(via1.Equals(null), "x11 host vs. <null>");
Assert.True(via1.Equals(via2), "x11 host vs. x11 HOST");
Assert.True(via1.Equals(via3), "x11 host vs. X11 host");
Assert.False(via1.Equals(via4), "x11 host vs. HTTP/x11 host");
Assert.False(via4.Equals(via1), "HTTP/x11 host vs. x11 host");
Assert.False(via1.Equals(via6), "x11 host vs. HTTP/x11 (comment)");
Assert.False(via6.Equals(via1), "HTTP/x11 (comment) vs. x11 host");
Assert.False(via1.Equals(via7), "x11 host vs. HTTP/x11 host (comment)");
Assert.False(via7.Equals(via1), "HTTP/x11 host (comment) vs. x11 host");
Assert.False(via1.Equals(via9), "x11 host vs. x12 host");
Assert.False(via1.Equals(via10), "x11 host vs. x11 host2");
Assert.False(via4.Equals(via11), "HTTP/x11 host vs. WS/x11 host");
Assert.True(via4.Equals(via5), "HTTP/x11 host vs. http/x11 host");
Assert.False(via4.Equals(via6), "HTTP/x11 host vs. x11 host (comment)");
Assert.False(via6.Equals(via4), "x11 host (comment) vs. HTTP/x11 host");
Assert.False(via6.Equals(via7), "x11 host (comment) vs. HTTP/x11 host (comment)");
Assert.False(via7.Equals(via6), "HTTP/x11 host (comment) vs. x11 host (comment)");
Assert.False(via7.Equals(via8), "HTTP/x11 host (comment) vs. HTTP/x11 host (COMMENT)");
Assert.True(via1.Equals(via12), "x11 host vs. x11 host <empty> <empty>");
}