Exemple #1
0
        static void Main(string[] args)
        {
            PrinterManager pm = new PrinterManager();

            // Заранее созданные объекты, которые раньше инициализировались
            // с собственными типами Canon и Epson
            Printer canon = new Printer("Canon", "X321");
            Printer epson = new Printer("Epson", "ZOOM");

            pm.Add(canon); pm.Add(epson);
            MenuHandler.mapPrinters = new Dictionary <int, Printer> {
                { 0, canon }, { 1, epson }
            };

            ConsoleKeyInfo key = default(ConsoleKeyInfo);

            while (key.Key != ConsoleKey.Backspace)
            {
                MenuHandler.GenerateMap(pm);
                MenuHandler.PrintMenu(pm);

                key = System.Console.ReadKey();
                if (key.Key == ConsoleKey.D1)
                {
                    System.Console.WriteLine();
                    MenuHandler.CreateNewPrinter(pm);
                }
                else
                {
                    pm.Print(MenuHandler.mapPrinters[
                                 key.KeyChar - MenuHandler.ASCI_CODE_0_DIGIT - MenuHandler.MENU_ITEMS_SHIFT
                             ]);
                }
            }
        }
        public void AddCanonPrinterTest()
        {
            // Arrange
            var canonPrinter = new CanonPrinter();

            // Act
            _printerManager.Add(canonPrinter);

            // Assert
            CollectionAssert.AllItemsAreInstancesOfType(_printerManager.Printers, typeof(CanonPrinter));
        }
Exemple #3
0
        static void Main(string[] args)
        {
            PrinterManager pm = new PrinterManager();

            pm.OnPrinted += OnPrinted;
            pm.Create("myPrinter", "QWERT");
            EpsonPrinter ep = new EpsonPrinter("asdfg");
            CanonPrinter cp = new CanonPrinter("tukufgxcd");

            pm.Add(ep);
            pm.Add(cp);

            while (true)
            {
                System.Console.WriteLine("Select your choice:");
                System.Console.WriteLine("1:Add new printer");
                System.Console.WriteLine("2:Remove printer");
                System.Console.WriteLine("3:Show printers");
                System.Console.WriteLine("Esc to exit");

                var key = System.Console.ReadKey();

                if (key.Key == ConsoleKey.D1)
                {
                    string name = CreateTask("Write name");
                    pm.Create(name, CreateTask("Write model"));
                }

                if (key.Key == ConsoleKey.D2)
                {
                    string name = CreateTask("Write name");
                    pm.Remove(pm.GetPrinter(name, CreateTask("Write model")));
                }

                if (key.Key == ConsoleKey.D3)
                {
                    ShowPrintersSection(pm);
                }

                if (key.Key == ConsoleKey.Escape)
                {
                    break;
                }
            }

            pm.Log("\n\n");
        }
Exemple #4
0
        internal static void CreateNewPrinter(PrinterManager printerManager)
        {
            System.Console.Write("Printer name: ");
            string newName = System.Console.ReadLine();

            System.Console.Write("Model: ");
            string newModel = System.Console.ReadLine();

            printerManager.Add(new Printer(newName, newModel));
        }
Exemple #5
0
 private static void Add(PrinterFactory factory)
 {
     try
     {
         printerManager.Add(factory.CreatePrinter());
     }
     catch (Exception e)
     {
         System.Console.WriteLine(e);
         System.Console.ReadKey();
     }
 }
Exemple #6
0
        public void Add_method_works_properly()
        {
            var logger  = new FileLogger("Log.txt");
            var manager = new PrinterManager(logger);
            var printer = new NetworkPrinter()
            {
                Name = "Canon", Model = "LBP6000"
            };

            manager.Add(printer);

            Assert.AreEqual(printer, manager.Printers[0]);
        }
Exemple #7
0
        private static void AddNewPrinter()
        {
            System.Console.Clear();
            System.Console.WriteLine("Choose printer to create: ");
            System.Console.WriteLine("1. Canon.");
            System.Console.WriteLine("2. Epson.");

            ConsoleKeyInfo         key     = System.Console.ReadKey();
            AbstractPrinterFactory factory = null;

            System.Console.WriteLine();

            if (key.Key == ConsoleKey.D1)
            {
                System.Console.WriteLine();
                System.Console.WriteLine("Enter printer model: ");
                string model = System.Console.ReadLine();
                factory = new CanonFactory();
                manager.Add(factory.CreateNew(model));

                System.Console.Clear();
                System.Console.WriteLine("Printer have been succesfully added!");
            }

            if (key.Key == ConsoleKey.D2)
            {
                System.Console.WriteLine();
                System.Console.WriteLine("Enter printer model: ");
                string model = System.Console.ReadLine();
                factory = new EpsonFactory();
                manager.Add(factory.CreateNew(model));

                System.Console.Clear();
                System.Console.WriteLine("Printer have been succesfully added!");
            }
        }
Exemple #8
0
        public void Print_method_works_properly()
        {
            var logger  = new FileLogger("Log.txt");
            var manager = new PrinterManager(logger);
            var printer = new NetworkPrinter()
            {
                Name = "Canon", Model = "LBP6000"
            };

            manager.Add(printer);
            string expected = "12345";
            string path     = @"C:\Users\Илья\Desktop\12.txt";

            string result = manager.Print(printer, path);

            Assert.AreEqual(expected, result);
        }