Exemple #1
0
        public void ChartDataHandler_Data46()
        {
            Variables.sportsmens.Clear();

            // create sportsmens for test
            Variables.sportsmens.Add(CreateSportsmen("Country1"));
            Variables.sportsmens.Add(CreateSportsmen("Country1"));
            Variables.sportsmens.Add(CreateSportsmen("Country1"));
            Variables.sportsmens.Add(CreateSportsmen("Country2"));
            Variables.sportsmens.Add(CreateSportsmen("Country2"));
            Variables.sportsmens.Add(CreateSportsmen("Country3"));
            Variables.sportsmens.Add(CreateSportsmen("Country3"));
            Variables.sportsmens.Add(CreateSportsmen("Country4"));

            // set expected dictionary
            Dictionary <string, int> expectedDictionary = new Dictionary <string, int>();

            expectedDictionary.Add("Country1", 3);
            expectedDictionary.Add("Country2", 2);
            expectedDictionary.Add("Country3", 2);
            expectedDictionary.Add("Country4", 1);

            // test
            CollectionAssert.AreEqual(expectedDictionary, dataHandler.Data_46());
        }
Exemple #2
0
        // create panels
        public void CreateElementPanels(string set)
        {
            switch (set)
            {
            case "general":
                // создание панелей на основе прочитанной бд
                ElementsPanel.Width = Variables.sportsmens.Count > 4 ? 306 : 286;

                panelsCreator.CreatePanels_General(ElementsPanel, tab1);
                break;

            case "4.1":
                #region task 4.1
                // Для заданной страны вывести список команды с указанием
                // фамилии спортсмена и вида спорта
                ElementsPanel_Clear();
                panelsCreator.CreatePanels_4_1(ElementsPanel, tab2.Country.Text);
                #endregion
                break;

            case "4.2":
                #region task 4.2
                // Для заданного вида спорта вывести список спортсменов-участников
                // с указанием страны в порядке возрастания результата

                ElementsPanel_Clear();
                List <Sportsmen> rowSportsmens = new List <Sportsmen>();

                // фильтр по спорту
                foreach (Sportsmen item in Variables.sportsmens)
                {
                    if (item.Sport.ToLower() == tab2.Sport.Text.ToLower())
                    {
                        rowSportsmens.Add(item);
                    }
                }

                // сортировка
                var sortedSportsmens = from item in rowSportsmens
                                       orderby(item.Gold + item.Silver + item.Bronze) ascending
                                       select item;

                panelsCreator.CreatePanels_4_2(ElementsPanel, sortedSportsmens.ToList());
                #endregion
                break;

            case "4.3":
                #region task 4.3
                // Вывести таблицу стран-участниц с указанием
                // количества зол., сереб. и бронз. наград (>)
                ElementsPanel_Clear();

                var countries = new Dictionary <string, Dictionary <string, int> >();

                // заполнение словаря
                foreach (Sportsmen item in Variables.sportsmens)
                {
                    if (countries.ContainsKey(item.Country))
                    {
                        countries[item.Country]["Gold"]   += item.Gold;
                        countries[item.Country]["Silver"] += item.Silver;
                        countries[item.Country]["Bronze"] += item.Bronze;
                    }
                    else
                    {
                        countries.Add(item.Country, new Dictionary <string, int>());

                        countries[item.Country].Add("Gold", item.Gold);
                        countries[item.Country].Add("Silver", item.Silver);
                        countries[item.Country].Add("Bronze", item.Bronze);
                    }
                }


                // сортировка
                var sortedCountries = from pair in countries
                                      orderby(pair.Value["Gold"] + pair.Value["Silver"] + pair.Value["Bronze"]) descending
                                      select pair;

                panelsCreator.CreatePanels_4_3(ElementsPanel, sortedCountries.ToDictionary(pair => pair.Key, pair => pair.Value));
                #endregion
                break;

            case "4.4":
                #region task 4.4
                ElementsPanel_Clear();

                var rowData = dataHandler.Data_44(tab3.Sport44.Text.ToLower());

                panelsCreator.CreatePanels_4_4(ElementsPanel, rowData.Item1, rowData.Item2);
                #endregion
                break;

            case "4.5":
                #region task 4.5
                ElementsPanel_Clear();

                panelsCreator.CreatePanels_4_5(ElementsPanel, dataHandler.Data_45(tab3.Sport45.Text.ToLower()));
                #endregion
                break;

            case "4.6":
                #region task 4.6
                ElementsPanel_Clear();

                panelsCreator.CreatePanels_4_6(ElementsPanel, dataHandler.Data_46());
                #endregion
                break;
            }
        }