Exemplo n.º 1
0
        public void TestGroupBy()
        {
            var students = Student.GetSudents();

            Func <Student, string> elementSelector = x => x.Name;
            Func <Student, string> keySelector     = x => x.Class;
            Func <string, IEnumerable <string>, KeyValuePair <string, IEnumerable <string> > > resultSelector = (Class, NameList) =>
            {
                {
                    return(new KeyValuePair <string, IEnumerable <string> >(Class, NameList));
                }
            };

            var result = LINQFunctions.GroupBy(students,
                                               x => keySelector(x),
                                               y => elementSelector(y),
                                               (ClassName, NamesList) => resultSelector(ClassName, NamesList),
                                               new EqualityComparer <string>()
                                               );


            Assert.Equal(2, result.Count());
        }