コード例 #1
0
        public void IncorrectInput(string input)

        {
            var skaner = new Skaner(input);

            Assert.Throws <Exception>(() => skaner.TokenizeInput());
        }
コード例 #2
0
        public void AgregatorTests(string input, string tokenName)
        {
            var skaner = new Skaner(input);

            var result = skaner.TokenizeInput();

            Assert.IsTrue(result.FirstOrDefault()?.getKeyWordName() == tokenName);
        }
コード例 #3
0
        public void TokenRecognizedCorrectly(string input, string tokenName)
        {
            var skaner = new Skaner(input);

            var result = skaner.TokenizeInput();

            Assert.IsTrue(result.Count == 1);
            Assert.IsTrue(result.FirstOrDefault()?.getKeyWordName() == tokenName);
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: skygrail/OOP
        static void Main(string[] args)
        {
            PrintDevice printObj = new PrintDevice("Canon", 5, "Устройство PIXMA MG2540S «Все в одном» для ежедневной печати, сканирования и копирования.", "Китай");
            Skaner      skanObj  = new Skaner("Canon CanoScan", 4, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", "Китай");
            Computer    compObj  = new Computer("Asus Zenbook", 10, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 5", 1500, "Ультрабук");
            Tablet      tablObj  = new Tablet("Lenovo M10 Plus", 6, "-", 10.3, 990, "Tab M10 (Lenovo)");

            compObj.Available();
            skanObj.Available();
            printObj.priceIncrease();

            Console.WriteLine(new string('=', 35));
            Console.WriteLine("Информация о имеющемся планшете: ");
            Console.WriteLine(tablObj.ToString());

            Console.WriteLine(new string('=', 35));
            Product prodObj = new Computer("Lenovo IdeaPad L3", 3, "Встречайте 15,6-дюймовый ноутбук Lenovo IdeaPad 3. Оснащенный передовым процессором Intel® Core™ 10-го поколения и дискретной видеокартой.", "Intel Core i3", 2200, "Универсальный");

            Console.WriteLine("Информация о новом товаре:");
            Console.WriteLine(prodObj.ToString());

            Console.WriteLine(new string('=', 35));
            Console.WriteLine(prodObj is Product ? "Объект prodObj является элементом класса Product" : "Объект prodObj не является элементом класса Product");
            Console.WriteLine(compObj is Device ? "Объект compObj является элементом класса Device" : "Объект compObj не является элементом класса Device");
            Console.WriteLine(tablObj is Skaner ? "Объект tablObj является элементом класса Device" : "Объект tablObj не является элементом класса Device");

            Console.WriteLine(new string('=', 35));
            var secProd = prodObj as Computer;

            if (secProd != null)
            {
                Console.WriteLine(secProd.ToString());
            }

            Console.WriteLine(new string('=', 35));
            compObj.Producer();
            compObj.GetDiscounts();
            tablObj.InfoAboutDiscounts();

            Console.WriteLine(new string('=', 35));
            Console.WriteLine("Вызываем класс IPrinter и метод IAmPrinting(): ");
            IPrinter printing = new IPrinter();

            Product[] ArrayTech = new Product[] { printObj, skanObj, tablObj };
            foreach (var tech in ArrayTech)
            {
                printing.IAmPrinting(tech);
                Console.WriteLine();
            }
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: skygrail/OOP
        //static void Main(string[] args)
        //{
        //    Console.WriteLine("Введите элементы первого множества (через пробел): ");
        //    string enteredSet = Console.ReadLine();
        //    string[] items = enteredSet.Split(' ');
        //    int[] enteredItems = new int[items.Length];
        //    for (int i = 0; i < items.Length; i++)
        //    {
        //        enteredItems[i] = Convert.ToInt32(items[i]);
        //    }
        //    Set firstSet = new Set(enteredItems);

        //    Console.WriteLine();
        //    Console.WriteLine("Введите элементы второго множества (через пробел): ");
        //    enteredSet = Console.ReadLine();
        //    items = enteredSet.Split(' ');
        //    enteredItems = new int[items.Length];
        //    for (int i = 0; i < items.Length; i++)
        //    {
        //        enteredItems[i] = Convert.ToInt32(items[i]);
        //    }
        //    Set secondSet = new Set(enteredItems);

        //    Console.WriteLine();
        //    bool exit = false;
        //    do
        //    {
        //        Console.Write($"Выберите множество, на основе которого хотите проверить подмножество (0 для пропуска этого условия): ");
        //        int choice = Convert.ToInt32(Console.ReadLine());
        //        switch (choice)
        //        {
        //            case 0:
        //                {
        //                    exit = true;
        //                    break;
        //                }
        //            case 1:
        //                {
        //                    Console.WriteLine($"Первое множество: ");
        //                    firstSet.ShowSet();
        //                    Console.WriteLine($"Проверка на принадлежность подмножества первому множеству\n (Введите элементы подмножества через пробел): ");
        //                    enteredSet = Console.ReadLine();
        //                    items = enteredSet.Split(' ');
        //                    enteredItems = new int[items.Length];
        //                    for (int i = 0; i < items.Length; i++)
        //                    {
        //                        enteredItems[i] = Convert.ToInt32(items[i]);
        //                    }
        //                    Console.WriteLine();
        //                    if (enteredItems > firstSet) Console.WriteLine($"Введённое множество является подмножеством данного множества\n");
        //                    else Console.WriteLine($"Введённое множество не является подмножеством данного множества\n");
        //                    break;
        //                }
        //            case 2:
        //                {
        //                    Console.WriteLine($"Второе множество: ");
        //                    secondSet.ShowSet();
        //                    Console.WriteLine($"Проверка на принадлежность подмножества второму множеству\n (Введите элементы подмножества через пробел): ");
        //                    enteredSet = Console.ReadLine();
        //                    items = enteredSet.Split(' ');
        //                    enteredItems = new int[items.Length];
        //                    for (int i = 0; i < items.Length; i++)
        //                    {
        //                        enteredItems[i] = Convert.ToInt32(items[i]);
        //                    }
        //                    Console.WriteLine();
        //                    if (enteredItems > secondSet) Console.WriteLine($"Введённое множество является подмножеством данного множества\n");
        //                    else Console.WriteLine($"Введённое множество не является подмножеством данного множества\n");
        //                    break;
        //                }
        //        }
        //    } while (!exit);

        //    Console.WriteLine("\nПересечение двух введённых множеств: ");
        //    Set crossedSet = firstSet % secondSet;
        //    crossedSet.ShowSet();

        //    Console.WriteLine("\nРавенство или неравенство двух введённых множеств: : ");
        //    int equalSet = firstSet != secondSet;
        //    if (equalSet == 0)
        //        Console.WriteLine("Множества не равны");
        //    else
        //        Console.WriteLine("Множества равны");

        //    firstSet.SetOwner.ToString();
        //    secondSet.SetDate.ToString();
        //}

        static void Main(string[] args)
        {
            try
            {
                int[]     intArray = new int[] { 2, 4, 6, 8, 10 };
                Set <int> intSet   = new Set <int>(intArray);
                intSet.LookUp();
                intSet.Delete(2);
                intSet.LookUp();
                intSet.Add(9);
                intSet.Sort();
                intSet.LookUp();
                float[]     floatArray = new float[] { 2.8f, 1.9f, 2.2f, 4.2f, 3.3f };
                Set <float> floatSet   = new Set <float>(floatArray);
                floatSet.LookUp();
                floatSet.Delete(2);
                floatSet.LookUp();
                floatSet.Add(10);
                floatSet.Sort();
                floatSet.LookUp();
                PrintDevice   printObj = new PrintDevice("Canon", 5, "Устройство PIXMA MG2540S «Все в одном» для ежедневной печати, сканирования и копирования.", 760, "Китай");
                Skaner        skanObj  = new Skaner("Canon CanoScan", 4, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", 550, "Китай");
                Computer      compObj  = new Computer("Asus Zenbook", 10, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 5", 1500, "Ультрабук");
                Tablet        tablObj  = new Tablet("Lenovo M10 Plus", 6, "-", 10.3, 990, "Tab M10 (Lenovo)");
                Product[]     prArr    = new Product[] { printObj, skanObj, compObj, tablObj };
                Set <Product> prSet    = new Set <Product>(prArr);
                prSet.LookUp();
                prSet.Delete(skanObj);
                prSet.LookUp();
                prSet.Add(printObj);
                prSet.Sort();
                prSet.LookUp();
                prSet.ToFile(@"D:\VisualStudio\OOP\Lab8\Set.txt");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"{ex.Message}\n{ex.StackTrace}");
            }
            finally
            {
                Console.WriteLine("End of program");
            }
        }
コード例 #6
0
        static void Main(string[] args)
        {
            Console.WriteLine(new string('=', 45));
            Console.WriteLine("============ Лабораторная №7 ============");
            Console.WriteLine(new string('=', 45));

            try
            {
                Console.WriteLine(new string('~', 45));
                try
                {
                    Tablet tablObj1 = new Tablet("Lenovo M10 Plus", 6, "-", 10.3, 990, "M");
                }
                catch (IsNotRightModel nam)
                {
                    Console.WriteLine($"{nam.Message}\n {nam.Source} \n {nam.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));

                try
                {
                    Computer compObj1 = new Computer("Asus Zenbook", 10, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 5", 400, "Ультрабук");
                }
                catch (IsNotRightPrice ex)
                {
                    Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));

                Skaner skanObj1 = new Skaner("Canon CanoScan", 4, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", "Китай");
                try
                {
                    skanObj1.WorkingLife = 17;
                }
                catch (WrongWorkingLifeValue ex)
                {
                    Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));


                try
                {
                    Tablet tablObj2 = new Tablet("Lenovo M10 Plus", 6, "-", 1, 990, "Tab M10 (Lenovo)");
                }
                catch (IsNotScreenDiagonal ex)
                {
                    Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));

                PrintDevice printObj = new PrintDevice("Canon", 4, "Устройство PIXMA MG2540S «Все в одном» для ежедневной печати, сканирования и копирования.", "Китай");
                Skaner      skanObj  = new Skaner("CanoScan", 0, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", "Китай");
                Computer    compObj  = new Computer("Asus Vivobook", 8, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 5", 2000, "Ультрабук");
                Tablet      tablObj  = new Tablet("Lenovo E5", 6, "-", 6.7, 1100, "Tab M10 (Lenovo)");

                Product[] Technic = new Product[] { printObj, skanObj, compObj, tablObj };

                try
                {
                    Console.WriteLine(Technic[5].Name);
                }
                catch (IndexOutOfRangeException ex)
                {
                    Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));

                try
                {
                    object obj  = skanObj.Name;
                    int    name = (int)obj;
                }
                catch (InvalidCastException ex)
                {
                    Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));

                try
                {
                    int problem = printObj.WorkingLife / skanObj.WorkingLife;
                }
                catch (DivideByZeroException ex)
                {
                    Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));
            }
            catch (Exception ex)
            {
                Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
            }
            finally
            {
                Console.WriteLine("End of try/catch blocks.");
            }

            Debug.Assert(true, "End of program.");
        }
コード例 #7
0
        static void Main(string[] args)
        {
            PrintDevice printObj = new PrintDevice("Canon", 5, "Устройство PIXMA MG2540S «Все в одном» для ежедневной печати, сканирования и копирования.", 760, "Китай");
            Skaner      skanObj  = new Skaner("Canon CanoScan", 4, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", 550, "Китай");
            Computer    compObj  = new Computer("Asus Zenbook", 10, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 5", 1500, "Ультрабук");
            Tablet      tablObj  = new Tablet("Lenovo M10 Plus", 6, "-", 10.3, 990, "Tab M10 (Lenovo)");

            PrintDevice newPrintObj = new PrintDevice("Canon", 7, "Устройство PIXMA MG2540S «Все в одном» для ежедневной печати, сканирования и копирования.", 1030, "Китай");
            Skaner      newSkanObj  = new Skaner("Canon CanoScan", 6, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", 660, "Китай");
            Computer    newCompObj  = new Computer("Asus Zenbook", 12, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 4", 1500, "Ультрабук");
            Tablet      newTablObj  = new Tablet("Legion", 8, "-", 14.2, 780, "Tab M10");

            Laboratory.Add(printObj);
            Laboratory.Add(skanObj);
            Laboratory.Add(compObj);
            Laboratory.Add(tablObj);
            Laboratory.Add(newPrintObj);
            Laboratory.Add(newSkanObj);
            Laboratory.Add(newCompObj);
            Laboratory.Add(newTablObj);


            compObj.Available();
            skanObj.Available();
            printObj.priceIncrease();

            Console.WriteLine(new string('=', 35));
            Console.WriteLine("Информация о имеющемся планшете: ");
            Console.WriteLine(tablObj.ToString());

            Console.WriteLine(new string('=', 35));
            Product prodObj = new Computer("Lenovo IdeaPad L3", 3, "Встречайте 15,6-дюймовый ноутбук Lenovo IdeaPad 3. Оснащенный передовым процессором Intel® Core™ 10-го поколения и дискретной видеокартой.", "Intel Core i3", 2200, "Универсальный");

            Laboratory.Add(prodObj);
            Console.WriteLine("Информация о новом товаре:");
            Console.WriteLine(prodObj.ToString());

            Console.WriteLine(new string('=', 35));
            Console.WriteLine(prodObj is Product ? "Объект prodObj является элементом класса Product" : "Объект prodObj не является элементом класса Product");
            Console.WriteLine(compObj is Device ? "Объект compObj является элементом класса Device" : "Объект compObj не является элементом класса Device");
            Console.WriteLine(tablObj is Skaner ? "Объект tablObj является элементом класса Device" : "Объект tablObj не является элементом класса Device");

            Console.WriteLine(new string('=', 35));
            var secProd = prodObj as Computer;

            if (secProd != null)
            {
                Console.WriteLine(secProd.ToString());
            }

            Console.WriteLine(new string('=', 35));
            compObj.Producer();
            compObj.GetDiscounts();
            tablObj.InfoAboutDiscounts();

            Console.WriteLine(new string('=', 35));
            Console.WriteLine("Вызываем класс IPrinter и метод IAmPrinting(): ");
            IPrinter printing = new IPrinter();

            Product[] ArrayTech = new Product[] { printObj, skanObj, tablObj };
            foreach (var tech in ArrayTech)
            {
                printing.IAmPrinting(tech);
                Console.ReadKey();
            }

            Console.WriteLine();
            Console.WriteLine(new string('=', 45));
            Console.WriteLine("============ Лабораторная №6 ============");
            Console.WriteLine(new string('=', 45));

            Laboratory.ShowList();
            Console.WriteLine("=== Поиск техники старше заданного срока службы ===");
            Controller.FindOldest(Laboratory.Equipment);
            Console.WriteLine(new string('=', 35));

            Console.WriteLine("=== Задание 1: Подсчитать количество каждого вида техники. ===");
            Controller.TechCounter(Laboratory.Equipment);
            Console.WriteLine(new string('=', 35));

            Console.WriteLine("=== Задание 2: Вывести список техники в порядке убывания цены. ===");
            Controller.PriceToMin(Laboratory.Equipment);
            Laboratory.ShowList();
            Console.WriteLine(new string('=', 35));

            Console.WriteLine();
            Console.WriteLine("Добавление нового объекта путём чтения данных из текстового файла: ");
            Product compObjFromFile = (Controller.ReadFromFile(Laboratory.Equipment));

            Console.WriteLine(compObjFromFile.ToString());
        }