Exemplo n.º 1
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.º 2
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.º 3
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());
        }