Example #1
0
        public void EqualsTest()
        {
            var eq = FuncEqualityComparer.Make <int>();

            Assert.Equal(50.GetHashCode(), eq.GetHashCode(50));
            Assert.NotEqual(50.GetHashCode(), eq.GetHashCode(60));
            Assert.True(eq.Equals(5, 5));
            Assert.False(eq.Equals(8, 5));

            eq = FuncEqualityComparer.Make <int>((x, y) => x.Equals(y));

            Assert.Equal(50.GetHashCode(), eq.GetHashCode(50));
            Assert.NotEqual(50.GetHashCode(), eq.GetHashCode(60));
            Assert.True(eq.Equals(5, 5));
            Assert.False(eq.Equals(8, 5));

            eq = FuncEqualityComparer.Make <int>((x, y) => x.Equals(y), x => 2 * x);

            Assert.Equal(100, eq.GetHashCode(50));
            Assert.NotEqual(eq.GetHashCode(50), eq.GetHashCode(60));
            Assert.True(eq.Equals(5, 5));
            Assert.False(eq.Equals(8, 5));
        }