Exemplo n.º 1
0
        public void Equality_comparers_are_useful_when_using_certain_apis_such_as_linq()
        {
            var items = new[]
                            {
                                new ObjectWithoutEqualsOverride(1),
                                new ObjectWithoutEqualsOverride(1),
                                new ObjectWithoutEqualsOverride(2)
                            };

            var comparer = new ObjectWithoutEqualsOverrideComparer();

            var distinctItems = items.Distinct(comparer);

            Assert.AreEqual(2, distinctItems.Count());
        }
Exemplo n.º 2
0
        public void Equals_implementation_can_be_done_through_an_equality_comparer_instead_of_overriding_Equals()
        {
            var a = new ObjectWithoutEqualsOverride(1);
            var b = new ObjectWithoutEqualsOverride(1);
            var c = new ObjectWithoutEqualsOverride(2);

            var comparer = new ObjectWithoutEqualsOverrideComparer();

            Assert.IsTrue(comparer.Equals(a, a));
            Assert.IsTrue(comparer.Equals(a, b));
            Assert.IsFalse(comparer.Equals(a, c));
        }