Пример #1
0
        private static bool JoeyContains(IEnumerable <Employee> employees, Employee value)
        {
            var sourceEnumerator = employees.GetEnumerator();
            var comparer         = new JoeyEmployeeWithPhoneEqualityComparer();

            while (sourceEnumerator.MoveNext())
            {
                var item = sourceEnumerator.Current;
                if (comparer.Equals(item, value))
                {
                    return(true);
                }
            }

            return(false);
        }
        public void two_employees_sequence_equal()
        {
            var first = new List <Employee>
            {
                new Employee()
                {
                    FirstName = "Joey", LastName = "Chen", Phone = "123"
                },
                new Employee()
                {
                    FirstName = "Tom", LastName = "Li", Phone = "456"
                },
                new Employee()
                {
                    FirstName = "David", LastName = "Wang", Phone = "789"
                },
            };

            var second = new List <Employee>
            {
                new Employee()
                {
                    FirstName = "Joey", LastName = "Chen", Phone = "123"
                },
                new Employee()
                {
                    FirstName = "Tom", LastName = "Li", Phone = "123"
                },
                new Employee()
                {
                    FirstName = "David", LastName = "Wang", Phone = "123"
                },
            };

            IEqualityComparer <Employee> equalityComparer = new JoeyEmployeeWithPhoneEqualityComparer();
            var actual = first.JoeySequenceEqual(second,
                                                 equalityComparer);

            Assert.IsTrue(actual);
        }