コード例 #1
0
        public (string,List<Obj>) genobj(string co1, string co2, string co3) // функция создает лист псевдо-рандомно раскрашенных объектов
        {
            Random rand = new Random(); // псевдо-рандом
            
            ConsoleReader CReaderNum = new ConsoleReader();
            
            Console.WriteLine("Сколько объектов на входе?");
            int on1 = 0;


            uint i = 0;
            while (on1 == 0)
            {
                con1 = CReaderNum.GetNextStr2(); // пользователь задает количество объектов в листе
                if (UInt32.TryParse(con1, out i))
                {
                    i = Convert.ToUInt32(con1);
                    on1 = 1;
                }
                else
                {
                    Console.WriteLine("Неверный ввод! Количество объектов задается целым положительным числом!");
                }
            }
            List<Obj> objectoList = new List<Obj>(); // функция генерирует новый массив (лист) объектов 
            
            for (int j = 0; j < i; j++) // лист объектов заполняется заданным количеством объектов
            {

                // каждому новому объекту листа присваивается случайный цвет:

                int k = rand.Next(100);
                float p = 100 / 3;
                float p2 = p * 2;
                if (k < p)
                {
                    objectoList.Add(new Cl1 { Colour = co1 }); 
                }
                else if (k > p && k < p2)
                {
                    objectoList.Add(new Cl2 { Colour = co2 });
                }
                else if (k > p2)
                {
                    objectoList.Add(new Cl3 { Colour = co3 });
                }
            }
            Console.WriteLine("Не отсортированный список:");
            foreach (Obj currObj in objectoList)
            {
                Console.WriteLine(currObj.Colour); // выводим массив несортированных объектов
            }
            NumIn = objectoList.Count.ToString();
            return (NumIn, objectoList);
        }
コード例 #2
0
        public static void Main()
        {
            //Тест 1: при выборе правила вводим 0
            try
            {
                Inicial test1 = new Inicial();
                int tu1 = test1.SetVar("0");
            }
            catch
            {
                Console.WriteLine("Тест 1 - Ошибка обработки!");
            }
            finally
            {
                Console.WriteLine("Тест 1 пройден");
            }

            //Тест 2: при выборе правила вводим 7
            try
            {
                Inicial test2 = new Inicial();
                int tu2 = test2.SetVar("7");
            }
            catch
            {
                Console.WriteLine("Тест 2 - Ошибка обработки!");
            }
            finally
            {
                Console.WriteLine("Тест 2 пройден");
            }

            //Тест 3: при выборе правила вводим "test"
            try
            {
                Inicial test3 = new Inicial();
                int tu3 = test3.SetVar("test");
            }
            catch
            {
                Console.WriteLine("Тест 3 - Ошибка обработки!");
            }
            finally
            {
                Console.WriteLine("Тест 3 пройден");
            }

            //Тест 4: при выборе правила вводим "'@#$%#!@#"
            try
            {
                Inicial test4 = new Inicial();
                int tu4 = test4.SetVar("'@#$%#!@#");
            }
            catch
            {
                Console.WriteLine("Тест 4 - Ошибка обработки!");
            }
            finally
            {
                Console.WriteLine("Тест 4 пройден");
            }
           
            
            Console.WriteLine("");

            // ручная проверка: 

            Inicial init1 = new Inicial(); 
            init1.Mess();
            ConsoleReader CReaderCol = new ConsoleReader();
            int uu = 0;

            while (uu == 0)
            {
                string u = CReaderCol.GetNextStr1(); // пользователь вводит данные
                uu = init1.SetVar(u);

            }
            (string oc1, string oc2, string oc3) = init1.SortIni(uu); // выводим последовательность цветов, в зависимости от выбранного правила

            Console.WriteLine(oc1);
            Console.WriteLine(oc2);
            Console.WriteLine(oc3);

        GenObj gen1 = new GenObj(); // создаем массив несоритрованных объектов
        List<Obj> oL1 = gen1.genobj(oc1, oc2, oc3).Item2; 

        SorterMain sort1 = new SorterMain();     // сортируем массив объеков
            sort1.InList(oL1);            
        }