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); }