Пример #1
0
        public void TestJoinWhenThrowingExeptions()
        {
            List <Employee> employees      = null;
            var             departmentList = new List <Department>
            {
                new Department {
                    DepartmentID = 1, Name = "HR"
                },
                new Department {
                    DepartmentID = 2, Name = "Marketing"
                },
                new Department {
                    DepartmentID = 4, Name = "Sales"
                }
            };

            Func <Employee, int>   outerFunc = (employee) => employee.ID;
            Func <Department, int> innerFunc = (department) => department.DepartmentID;

            Func <Employee, Department, KeyValuePair <string, string> > selector = (employee, department) =>
            {
                {
                    return(new KeyValuePair <string, string>(employee.FirstName, department.Name));
                }
            };

            var result = LINQFunctions.Join(employees, departmentList,
                                            employee => outerFunc(employee), department => innerFunc(department),
                                            (employee, department) =>
                                            selector(employee, department));

            Assert.Throws <ArgumentNullException>(() => result.Count());
        }