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); }
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); }