Exemplo n.º 1
0
        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");
        }
Exemplo n.º 2
0
        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"));
        }
Exemplo n.º 3
0
        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"));
        }
Exemplo n.º 4
0
        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());
        }
Exemplo n.º 5
0
        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());
        }
Exemplo n.º 6
0
 public SimpleEqualityComparerTests()
 {
     TestObject = new SimpleEqualityComparer <string>((x, y) => string.Equals(x, y), x => x?.GetHashCode() ?? 0);
 }