public void Test_BasicFilter()
        {
            List <Employee> emplist = new List <Employee>();

            List <Employee> empl = new List <Employee>();


            emplist.Add(new Employee {
                EmployeeID = "1000", EmployeeName = "Anushree", EmployeeEmail = "*****@*****.**"
            });
            emplist.Add(new Employee {
                EmployeeID = "1200", EmployeeName = "Name1200", EmployeeEmail = "*****@*****.**"
            });
            emplist.Add(new Employee {
                EmployeeID = "1400", EmployeeName = "Name1400", EmployeeEmail = "*****@*****.**"
            });
            emplist.Add(new Employee {
                EmployeeID = "1500", EmployeeName = "Name1500", EmployeeEmail = "*****@*****.**"
            });
            emplist.Add(new Employee {
                EmployeeID = "1700", EmployeeName = "Anushree", EmployeeEmail = "*****@*****.**"
            });
            emplist.Add(new Employee {
                EmployeeID = "2000", EmployeeName = "Anushree", EmployeeEmail = "*****@*****.**"
            });

            //Expected result list

            empl.Add(new Employee {
                EmployeeID = "1000", EmployeeName = "Anushree", EmployeeEmail = "*****@*****.**"
            });
            empl.Add(new Employee {
                EmployeeID = "1200", EmployeeName = "Name1200", EmployeeEmail = "*****@*****.**"
            });
            empl.Add(new Employee {
                EmployeeID = "1400", EmployeeName = "Name1400", EmployeeEmail = "*****@*****.**"
            });

            //Arrange

            List <Employee> expected = empl;

            //Act
            LinqMethods     methods = new LinqMethods();
            List <Employee> actual  = methods.BasicFilter(emplist);

            //Assert

            Assert.AreEqual(expected.Count, actual.Count);

            Assert.AreEqual(expected[0].EmployeeID, actual[0].EmployeeID);
            Assert.AreEqual(expected[0].EmployeeName, actual[0].EmployeeName);
            Assert.AreEqual(expected[0].EmployeeEmail, actual[0].EmployeeEmail);

            Assert.AreEqual(expected[1].EmployeeID, actual[1].EmployeeID);
            Assert.AreEqual(expected[1].EmployeeName, actual[1].EmployeeName);
            Assert.AreEqual(expected[1].EmployeeEmail, actual[1].EmployeeEmail);

            Assert.AreEqual(expected[2].EmployeeID, actual[2].EmployeeID);
            Assert.AreEqual(expected[2].EmployeeName, actual[2].EmployeeName);
            Assert.AreEqual(expected[2].EmployeeEmail, actual[2].EmployeeEmail);
        }
        public List <Employee> GetDetail()
        {
            List <Employee> list;
            LinqMethods     methods = new LinqMethods();

            if (dropdown2.SelectedItem.ToString() == "Basic Filter")
            {
                list = methods.BasicFilter(empList);
                return(list);
            }
            else if (dropdown2.SelectedItem.ToString() == "Order by")
            {
                list = methods.OrderBy(empList);
                return(list);
            }
            else if (dropdown2.SelectedItem.ToString() == "Join")
            {
                list = methods.Join(empList);
                return(list);
            }
            else if (dropdown2.SelectedItem.ToString() == "Group by")
            {
                list = methods.GroupBy(empList);
                return(list);
            }
            else if (dropdown2.SelectedItem.ToString() == "Quantifiers")
            {
                bool result;
                result = methods.LQuantifiersAny(empList);
                lblAnyResult.Content = result;
                result = methods.LQuantifiersAll(empList);
                lblAllResult1.Content = result;
                result = methods.LQuantifiersContain(empList);
                lblContainResult.Content = result;
            }
            else if (dropdown2.SelectedItem.ToString() == "Aggregate Functions")
            {
                double result;
                result = methods.AggregateAvg(empList);
                lblAvgResult.Content = result;
                result = methods.AggregateMin(empList);
                lblMinResult.Content = result;
                result = methods.AggregateMax(empList);
                lblMaxResult.Content = result;
                result = methods.AggregateCount(empList);
                lblCountResult.Content = result;
                result = methods.AggregateSum(empList);
                lblSumResult.Content = result;
            }
            else if (dropdown2.SelectedItem.ToString() == "Element Operators")
            {
                string result;
                result = methods.ElementAt(empList);
                lblElementAtResult.Content = result;
                result = methods.First(empList);
                lblFirstResult.Content = result;
                result = methods.Last(empList);
                lblLastResult.Content = result;
            }
            else if (dropdown2.SelectedItem.ToString() == "Set Operators")
            {
                //list = methods.Distinct(empList);
                //return list;

                //list = methods.Except(empList);
                //return list;

                //list = methods.Intersect(empList);
                //return list;

                list = methods.Union(empList);
                return(list);
            }
            return(null);
        }