public void AreDifferentWhenOneAttributedPropertyIsDifferent() { var left = new Target { Property1 = "Test", Property2 = "a string", }; var right = new Target { Property1 = "Test", Property2 = "b string", }; Assert.NotEqual(left, right); Assert.NotEqual(left.GetHashCode(), right.GetHashCode()); }
public void AreDifferentWhenAllPropertiesAreNonCaseEqual() { var left = new Target { Property1 = "Test", Property2 = "a string", }; var right = new Target { Property1 = "test", Property2 = "A string", }; Assert.NotEqual(left, right); Assert.NotEqual(left.GetHashCode(), right.GetHashCode()); }
public void AreEqualWhenAllPropertiesAreCaseEqual() { var left = new Target { Property1 = "Test", Property2 = "a string", }; var right = new Target { Property1 = "test", Property2 = "a string", }; Assert.Equal(left, right); Assert.Equal(left.GetHashCode(), right.GetHashCode()); Assert.Equal(HashCode.Aggregate(0, HashCode.Aggregate(StringComparer.OrdinalIgnoreCase.GetHashCode(left.Property1), left.Property2.GetHashCode())), left.GetHashCode()); }
public void ImplementsIEquatable() { var target = new Target(); Assert.True(target is IEquatable <Target>); }