public void Equals_UseSameAndDifferentRanges_EqualOrNotEqualNoExceptions() { ProductHeaderValue product1 = new ProductHeaderValue("custom", "1.0"); ProductHeaderValue product2 = new ProductHeaderValue("custom"); ProductHeaderValue product3 = new ProductHeaderValue("CUSTOM", "1.0"); ProductHeaderValue product4 = new ProductHeaderValue("RTA", "x11"); ProductHeaderValue product5 = new ProductHeaderValue("rta", "X11"); Assert.False(product1.Equals(null), "custom/1.0 vs. <null>"); Assert.False(product1.Equals(product2), "custom/1.0 vs. custom"); Assert.False(product2.Equals(product1), "custom/1.0 vs. custom"); Assert.True(product1.Equals(product3), "custom/1.0 vs. CUSTOM/1.0"); Assert.False(product1.Equals(product4), "custom/1.0 vs. rta/X11"); Assert.True(product4.Equals(product5), "RTA/x11 vs. rta/X11"); }
public override bool Equals(object obj) { ProductInfoHeaderValue other = obj as ProductInfoHeaderValue; if (other == null) { return(false); } if (_product == null) { // We compare comments using case-sensitive comparison. return(string.Equals(_comment, other._comment, StringComparison.Ordinal)); } return(_product.Equals(other._product)); }