public void SortTest1()
        {
            LINQMethods LINQMethods = new LINQMethods();

            // исходные данные
            Student[] expected = new Student[] { new Student(1, "Aндриенко", "Александр", "Игоревич", Convert.ToDateTime("01.06.1999"), "525", 95.8, 1300),
                                                 new Student(5, "Брихунцов", "Никита", "Владимирович", Convert.ToDateTime("09.07.1997"), "525б", 68, 800),
                                                 new Student(2, "Великий", "Иван", "Иванович", Convert.ToDateTime("09.08.1999"), "525", 81.6, 1300),
                                                 new Student(3, "Герлиц", "Роман", "Сергеевич", Convert.ToDateTime("02.02.1998"), "525а", 77, 1300),
                                                 new Student(4, "Малый", "Сергей", "Романович", Convert.ToDateTime("01.01.1999"), "525б", 92, 1300) };
            Student[] source = new Student[] { new Student(4, "Сергей", "Малый", "Романович", Convert.ToDateTime("01.01.1999"), "525б", 92, 1300),
                                               new Student(2, "Великий", "Иван", "Иванович", Convert.ToDateTime("09.08.1999"), "525", 81.6, 1300),
                                               new Student(5, "Брихунцов", "Никита", "Владимирович", Convert.ToDateTime("09.07.1997"), "525б", 68, 800),
                                               new Student(3, "Герлиц", "Роман", "Сергеевич", Convert.ToDateTime("02.02.1998"), "525а", 77, 1300),
                                               new Student(1, "Aндриенко", "Александр", "Игоревич", Convert.ToDateTime("01.06.1999"), "525", 95.8, 1300) };
            // получение значения с помощью тестируемого метода
            var actual = LINQMethods.Sort(2, true, expected);
            // сравнение ожидаемого результата с полученным
            int i = 0;

            foreach (Student s in actual)
            {
                Assert.AreEqual(s.second_name, expected[i].second_name);
                i++;
            }
        }
        public void AggregateTest1()
        {
            LINQMethods LINQMethods = new LINQMethods();
            // исходные данные
            double expected = 95.8;

            Student[] source = new Student[] { new Student(4, "Сергей", "Малый", "Романович", Convert.ToDateTime("01.01.1999"), "525б", 92, 1300),
                                               new Student(2, "Иван", "Великий", "Иванович", Convert.ToDateTime("09.08.1999"), "525", 81.6, 1300),
                                               new Student(5, "Никита", "Брихунцов", "Владимирович", Convert.ToDateTime("09.07.1997"), "525б", 68, 1300),
                                               new Student(3, "Роман", "Герлиц", "Сергеевич", Convert.ToDateTime("02.02.1998"), "525а", 77, 900),
                                               new Student(1, "Александр", "Aндриенко", "Игоревич", Convert.ToDateTime("01.06.1999"), "525", 95.8, 800) };
            // получение значения с помощью тестируемого метода
            var actual = LINQMethods.Aggregate(0, source);

            // сравнение ожидаемого результата с полученным
            Assert.AreEqual(actual, expected);
        }
        private void ResultsForm_Shown(object sender, EventArgs e)
        {
            LINQMethods = new LINQMethods();
            int i = 0;

            switch (oper)
            {
            case 0:
                var results1 = LINQMethods.Sort(kind / 2, Convert.ToBoolean(kind % 2), data);
                foreach (Student s in results1)
                {
                    if (s == null)
                    {
                        return;
                    }
                    DGV.RowCount++;
                    DGV["id", i].Value            = s.id;
                    DGV["first_name", i].Value    = s.first_name;
                    DGV["second_name", i].Value   = s.second_name;
                    DGV["patronymic", i].Value    = s.patronymic;
                    DGV["group", i].Value         = s.group;
                    DGV["scholarship", i].Value   = s.scholarship;
                    DGV["average_point", i].Value = s.average_point;
                    DGV["DOB", i].Value           = s.DOB.Date;
                    i++;
                }
                break;

            case 1:
                var results2 = LINQMethods.Filtration(kind, param, data);
                foreach (Student s in results2)
                {
                    DGV.RowCount++;
                    DGV["id", i].Value            = s.id;
                    DGV["first_name", i].Value    = s.first_name;
                    DGV["second_name", i].Value   = s.second_name;
                    DGV["patronymic", i].Value    = s.patronymic;
                    DGV["group", i].Value         = s.group;
                    DGV["scholarship", i].Value   = s.scholarship;
                    DGV["average_point", i].Value = s.average_point;
                    DGV["DOB", i].Value           = s.DOB.Date;
                    i++;
                }
                break;

            case 2:
                var results3 = LINQMethods.Grouping(kind, data);
                foreach (var g in results3)
                {
                    foreach (var s in g)
                    {
                        DGV.RowCount++;
                        DGV["id", i].Value            = s.id;
                        DGV["first_name", i].Value    = s.first_name;
                        DGV["second_name", i].Value   = s.second_name;
                        DGV["patronymic", i].Value    = s.patronymic;
                        DGV["group", i].Value         = s.group;
                        DGV["scholarship", i].Value   = s.scholarship;
                        DGV["average_point", i].Value = s.average_point;
                        DGV["DOB", i].Value           = s.DOB.Date;
                        i++;
                    }
                }
                break;
            }
        }
Example #4
0
        private void execute_Click(object sender, EventArgs e)
        {
            if (OperationsCB.SelectedIndex == -1 || OperationsMCB.SelectedIndex == -1)
            {
                MessageBox.Show("Сперва выберите операцию!", "Error");
                return;
            }

            LINQMethods = new LINQMethods();
            data        = new Student[0];
            try
            {
                int k = 0;
                for (int i = 0; i < DGV.RowCount; i++)
                {
                    if (DGV[1, i].Value == null && DGV[2, i].Value == null && DGV[3, i].Value == null && DGV[4, i].Value == null && DGV[5, i].Value == null && DGV[6, i].Value == null && DGV[7, i].Value == null)
                    {
                        k++;
                        if (k == 2)
                        {
                            break;
                        }
                        else
                        {
                            continue;
                        }
                    }
                    else
                    {
                        if (i + 1 > data.Count())
                        {
                            Array.Resize(ref data, data.Count() + 1);
                        }
                        data[i] = new Student();
                    }
                    data[i].id            = Convert.ToInt32(DGV["id", i].Value.ToString());
                    data[i].first_name    = DGV["first_name", i].Value.ToString();
                    data[i].second_name   = DGV["second_name", i].Value.ToString();
                    data[i].patronymic    = DGV["patronymic", i].Value.ToString();
                    data[i].group         = DGV["group", i].Value.ToString();
                    data[i].scholarship   = Convert.ToInt32(DGV["scholarship", i].Value.ToString());
                    data[i].average_point = Convert.ToDouble(DGV["average_point", i].Value.ToString());
                    data[i].DOB           = Convert.ToDateTime(DGV["DOB", i].Value.ToString());
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Ошибка! Проверьте введенные данные!", "Error");
                return;
            }

            if (data.Count() == 0)
            {
                MessageBox.Show("Сперва заполните таблицу", "Error");
                return;
            }

            string param = null;

            if (OperationsCB.SelectedIndex == 1)
            {
                try
                {
                    switch (OperationsMCB.SelectedIndex)
                    {
                    case 1:
                        Convert.ToDouble(A.Text);
                        break;

                    case 3:
                        Convert.ToDateTime(A.Text);
                        break;

                    case 4:
                        Convert.ToInt32(A.Text);
                        break;

                    default:
                        break;
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Ошибка! Проверьте введенные данные!", "Error");
                    return;
                }
                param = A.Text;
            }
            else if (OperationsCB.SelectedIndex == 3)
            {
                var tmp = LINQMethods.Aggregate(OperationsMCB.SelectedIndex, data);
                resultsTB.Text = tmp.ToString();
                return;
            }

            Results = new ResultsForm(OperationsCB.SelectedIndex, OperationsMCB.SelectedIndex, data, param);
            Results.Show();
        }