public void Compare() { var Comparer = new SimpleEqualityComparer <string>((x, y) => string.Equals(x, y), x => x.GetHashCode()); Assert.True(Comparer.Equals("A", "A")); Assert.False(Comparer.Equals("A", "B")); Assert.False(Comparer.Equals("B", "A")); }
public void NullElementsArePassedToComparer() { IEqualityComparer <object> comparer = new SimpleEqualityComparer(); Assert.Throws <NullReferenceException>(() => comparer.GetHashCode(null)); Assert.Throws <NullReferenceException>(() => comparer.Equals(null, "xyz")); string[] source = { "xyz", null, "xyz", null, "abc" }; var distinct = source.Distinct(comparer); Assert.Throws <NullReferenceException>(() => distinct.Count()); }
public void NullElementsArePassedToComparer() { IEqualityComparer <object> comparer = new SimpleEqualityComparer(); Assert.AreEqual(0, comparer.GetHashCode(null)); Assert.IsFalse(comparer.Equals(null, "xyz")); string[] source = { "xyz", null, "abc", null }; var distinct = source.Distinct(comparer); Assert.AreEqual(3, distinct.Count()); }