public void UsesProvidedComparerOfT() { SimpleEqualityComparer <int> comparer = new SimpleEqualityComparer <int>(); Assert.That(2 + 2, Is.EqualTo(4).Using(comparer)); Assert.That(comparer.Called, "Comparer was not called"); }
public void GetHashCodeTest() { var Comparer = new SimpleEqualityComparer <string>((x, y) => string.Equals(x, y), x => x.GetHashCode()); Assert.Equal("A".GetHashCode(), Comparer.GetHashCode("A")); Assert.Equal("B".GetHashCode(), Comparer.GetHashCode("B")); }
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()); }
public SimpleEqualityComparerTests() { TestObject = new SimpleEqualityComparer <string>((x, y) => string.Equals(x, y), x => x?.GetHashCode() ?? 0); }