public void EqualityComparersIsCorrect() { var equalityComparers = new IEqualityComparer<object>[] { new DelegatingEqualityComparer<object>(), new DelegatingEqualityComparer<object>(), new DelegatingEqualityComparer<object>() }; var sut = new OrEqualityComparer<object>(equalityComparers); var actual = sut.EqualityComparers; Assert.Equal(equalityComparers, actual); }
public void EqualsReturnsFalseWhenAllComparersReturnsFalse() { // Fixture setup var left = new object(); var right = new object(); var verify = new List<int>(); var equalityComparers = new IEqualityComparer<object>[] { new DelegatingEqualityComparer<object> { OnEquals = (x, y) => { Assert.Equal(left, x); Assert.Equal(right, y); verify.Add(0); return false; } }, new DelegatingEqualityComparer<object> { OnEquals = (x, y) => { Assert.Equal(left, x); Assert.Equal(right, y); verify.Add(1); return false; } } }; var sut = new OrEqualityComparer<object>(equalityComparers); // Exercise system var actual = sut.Equals(left, right); // Verify outcome Assert.False(actual); Assert.Equal(new[] { 0, 1 }, verify); }
public void SutIsEqualityComparer() { var sut = new OrEqualityComparer<object>(); Assert.IsAssignableFrom<IEqualityComparer<object>>(sut); }
public void GetHashCodeAlwaysReturnsZero() { var sut = new OrEqualityComparer<object>(); var actual = sut.GetHashCode(null); Assert.Equal(0, actual); }