예제 #1
0
        public void CheckPrinterOfflineNotification()
        {
            notified = false;
            var manager = new PrinterManager();

            manager.OnPrinterOffline += (o, e) => { notified = true; };

            manager.PollPrinter(new Printer() { HostName = "0.0.0.1" });


            Assert.IsTrue(notified);
        }
예제 #2
0
        public void PrinterManager_SupplyIntegrityFail_Test()
        {

            var manager = new PrinterManager();
            var printer = new Printer();
            printer.HostName = "localhost";

            printer.Supplies.Add(new Supply() { Description = "BlackToner" });

            manager.PollPrinter(printer);

            // der drucker muss nach dem pollen 0 supplies haben da localhost (der aktuelle pc) keine supplies
            // haben sollte
            Assert.AreEqual(printer.Supplies.Count, 0);
        }
예제 #3
0
        /// <summary>
        /// main entry point
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            var manager = new PrinterManager();
            var drucker = manager.PrinterDatabase.CreatePrinter("localhost");
            manager.PollPrinter(drucker);

            manager.PrinterDatabase.UpdatePrinter(drucker);


            Console.Title = "PICO - PRINFO INTERACTIVE CONSOLE";

            Out("PICO - PRINFO INTERACTIVE CONSOLE" + Environment.NewLine + "--------------------------------------"  + Environment.NewLine);
            Out(resi.GetString("startup-load"));
            Status();
            Out(resi.GetString("type-help"));

            string command = String.Empty;

            #region pico command loop

            while (true)
            {
                Console.Write("pico> ");
                command = In();

                if (command.Equals("help") || command.Equals("?"))
                    HelpMessage();
                else if (command.Equals("exit"))
                    break;
                else if (command.Equals("clear"))
                    Console.Clear();
                else if (command.Equals("status"))
                    Status();
                else if (command.Contains("add printer"))
                {
                    AddPrinter(command);
                }
                else if (command.Equals("check-all"))
                {
                    CheckPrinterList();
                }
                else if (command.Equals("init-db"))
                {
                    new PrinterDatabase().Initialize();
                    Out("Data wiped successfully");
                }
                else if (command.Contains("service"))
                {
                    ExecuteServiceCommand(command);
                }
                else if (command.Contains("switch"))
                {
                    SwitchLanguage(command);
                }
                else if (command.Contains("import"))
                {
                    Import(command);
                }
                else if (command.Equals("print"))
                {
                    Console.WriteLine();
                    printerManager.LoadPrinterList();
                    foreach (Printer p in printerManager)
                    {
                        Console.WriteLine(p);
                    }
                }
                else
                {
                    Out(resi.GetString("unknown-command"));
                }
            }
            #endregion
        }