示例#1
0
        public TestCollection(int size = 0, int generation = 1)
        {
            for (int i = 0; i < size; i++)
            {
                string bodyType = bodyTypes[rand.Next(0, 4)];
                int    speed    = rand.Next(3, 10000);
                int    countMen = rand.Next(2, 10000);

                if (generation != 1)
                {
                    Console.WriteLine("Тип кузова: ");
                    bodyType = Console.ReadLine();
                    Console.WriteLine("Скорость: ");
                    speed = Input.IntCheckConsole();
                    Console.WriteLine("Количество пассажиров: ");
                    countMen = Input.IntCheckConsole();
                }
                Avtomobile t = new Avtomobile(bodyType, speed, countMen);

                Transports.AddLast(t.BaseTransport());    //двунаправленный список транспорта
                vs.AddLast(t.BaseTransport().ToString()); //двусвязный список строк
                keyValues.Add(Transports.Last.Value, t);  //словарь транспорт автомобиль
                stringValues.Add(vs.Last.Value, t);       //словарь строка автомобиль
            }
        }
示例#2
0
        static void PushRandomInList(ref List <Transport> ls)
        {
            string[] MasName          = { "Универсал", "Купе", "Лимузин", "Микроавтобус", "Кабиролет" };
            string[] MasNameOfExpress = { "Красная стрела", "Полярная стрела", "Восток", "Арктика", "Белоруссия" };
            int      n = 0;

            Console.WriteLine("Сколько элементов добавить?");

            n = Input.IntCheckConsole();

            for (int i = 0; i < n; i++)
            {
                if (i % 3 == 0)
                {
                    Rain a = new Rain(rand.Next(1, 10), rand.Next(100, 200), rand.Next(50, 2000));
                    ls.Add(a);
                }
                else
                if (i % 2 == 0)
                {
                    Avtomobile a = new Avtomobile(MasName[rand.Next(0, 4)], rand.Next(100, 400), rand.Next(2, 5));
                    ls.Add(a);
                }
                else
                if (i % 1 == 0)
                {
                    Express a = new Express(MasNameOfExpress[rand.Next(0, 4)], rand.Next(1, 10), rand.Next(100, 200), rand.Next(50, 2000));
                    ls.Add(a);
                }
                else
                {
                    Transport a = new Transport(rand.Next(100, 400), rand.Next(2, 5));
                    ls.Add(a);
                }
            }
        }
示例#3
0
        public long[] TCollDictStringAvtomobileValue()
        {
            Output.ShowGreen("Тест метода ConstainsValue для коллкекции с типами <string, Avtomobile>");
            Avtomobile first  = new Avtomobile(),
                       center = new Avtomobile(),
                       last   = new Avtomobile(),
                       empty  = new Avtomobile();

            long[] vs = new long[4];
            int    k  = 0;

            foreach (var i in stringValues)
            {
                if (k == 0)
                {
                    first = i.Value;
                }
                if (k == stringValues.Count / 2 - 1)
                {
                    center = i.Value;
                }
                if (k == stringValues.Count - 1)
                {
                    last = i.Value;
                }
                k++;
            }

            Stopwatch t3 = new Stopwatch();

            t3.Start();
            bool ok = stringValues.ContainsValue(first);

            t3.Stop();
            if (ok)
            {
                Output.ShowGreen(t3.ElapsedTicks + " - Время поиска первого элемента");
                vs[0] = t3.ElapsedTicks;
            }
            else
            {
                Output.ShowRed((t3.ElapsedTicks * (-1)) + " - Время поиска первого элемента");
                vs[0] = t3.ElapsedTicks;
            }

            t3.Restart();
            ok = stringValues.ContainsValue(center);
            t3.Stop();
            if (ok)
            {
                Output.ShowGreen(t3.ElapsedTicks + " - Время поиска центрального элемента");
                vs[1] = t3.ElapsedTicks;
            }
            else
            {
                Output.ShowRed((t3.ElapsedTicks * (-1)) + " - Время поиска центрального элемента");
                vs[1] = t3.ElapsedTicks;
            }

            t3.Restart();
            ok = stringValues.ContainsValue(last);
            t3.Stop();
            if (ok)
            {
                Output.ShowGreen(t3.ElapsedTicks + " - Время поиска последнего элемента");
                vs[2] = t3.ElapsedTicks;
            }
            else
            {
                Output.ShowRed((t3.ElapsedTicks * (-1)) + " - Время поиска последнего элемента");
                vs[2] = t3.ElapsedTicks;
            }

            t3.Restart();
            ok = stringValues.ContainsValue(empty);
            t3.Stop();
            if (ok)
            {
                Output.ShowGreen(t3.ElapsedTicks + " - Время поиска не существующего элемента");
                vs[3] = t3.ElapsedTicks;
            }
            else
            {
                Output.ShowRed((t3.ElapsedTicks * (-1)) + " - Время поиска не существующего элемента");
                vs[3] = t3.ElapsedTicks;
            }
            return(vs);
        }