public void CalculateOfflineTotalDurationTestMethod()
        {
            TimeSpan experted = NetworkSituationStatistic.CalculateOfflineTotalDuration(timePoints);
            TimeSpan actual   = new TimeSpan(0, 0, 18);

            Assert.AreEqual(experted, actual);
        }
        public void CalculateOfflineTotalCountTestMethod()
        {
            int experted = NetworkSituationStatistic.CalculateOfflineTotalCount(timePoints);
            int actual   = 4;

            Assert.AreEqual(experted, actual);
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            ConsoleKeyInfo cki;

            // Prevent example from ending if CTL+C is pressed.
            Console.TreatControlCAsInput = true;
            Console.ForegroundColor      = ConsoleColor.DarkMagenta;
            Console.WriteLine("Press any combination of CTL, ALT, and SHIFT, and a console key.");
            Console.WriteLine("Press the Escape (Esc) key to quit.");
            Console.WriteLine("Press the Enter to export the report.");
            Console.ResetColor();

            #region Threads
            Thread testTargetIP1Connecting   = new Thread(new ThreadStart(TestTargetIP1Connecting));
            Thread testTargetIP2Connecting   = new Thread(new ThreadStart(TestTargetIP2Connecting));
            Thread testTargetIP1Disconnected = new Thread(new ThreadStart(TestTargetIP1Disconnected));
            Thread testTargetIP2Disconnected = new Thread(new ThreadStart(TestTargetIP2Disconnected));
            #endregion



            try
            {
                #region Init
                log = LoggerManager.GetLogger(logger);

                log1 = LoggerManager.GetLogger(target1VLANLogger);
                log2 = LoggerManager.GetLogger(target2VLANLogger);

                targetIP1      = ConfigHelper.ReadConfigurationByKey(ConfigHelper.AppKeys.IP1);
                targetIP2      = ConfigHelper.ReadConfigurationByKey(ConfigHelper.AppKeys.IP2);
                localMachineIP = MachineUtil.GetMachineIP();

                ChangeLogFileName();
                DeleteOriginalLogFile(log1FileName);
                DeleteOriginalLogFile(log2FileName);

                log.Info(string.Format("Started Testing."));
                Console.WriteLine("{0} Started Testing: From {1} To {2} ...", DateTime.Now, localMachineIP, targetIP1);
                log1.Info(string.Format("Started Testing: From {0} To {1} ...", localMachineIP, targetIP1));

                Console.WriteLine("{0} Started Testing: From {1} To {2} ...", DateTime.Now, localMachineIP, targetIP2);
                log2.Info(string.Format("Started Testing: From {0} To {1} ...", localMachineIP, targetIP2));

                #endregion

                #region Threads
                testTargetIP1Connecting.Start();
                testTargetIP2Connecting.Start();
                testTargetIP1Disconnected.Start();
                testTargetIP2Disconnected.Start();
                #endregion

                #region End



                do
                {
                    cki = Console.ReadKey();

                    Console.ForegroundColor = ConsoleColor.DarkMagenta;
                    Console.WriteLine("Press the Enter to export the report.");

                    Console.Write(" --- You pressed ");
                    if ((cki.Modifiers & ConsoleModifiers.Alt) != 0)
                    {
                        Console.Write("ALT+");
                    }
                    if ((cki.Modifiers & ConsoleModifiers.Shift) != 0)
                    {
                        Console.Write("SHIFT+");
                    }
                    if ((cki.Modifiers & ConsoleModifiers.Control) != 0)
                    {
                        Console.Write("CTL+");
                    }

                    Console.WriteLine(cki.Key.ToString());

                    if (cki.Key == ConsoleKey.Enter)
                    {
                        List <TimePoint> currentTimePoints1 = timePoints1;
                        List <TimePoint> currentTimePoints2 = timePoints2;
                        currentTimePoints1.Add(new TimePoint(DateTime.Now, targetIP1lastStatus));
                        currentTimePoints2.Add(new TimePoint(DateTime.Now, targetIP2lastStatus));

                        #region Report
                        Console.ForegroundColor = ConsoleColor.Gray;

                        NetworkData networkData1 = NetworkSituationStatistic.Calculate(currentTimePoints1);
                        NetworkData networkData2 = NetworkSituationStatistic.Calculate(currentTimePoints2);
                        networkData1.IPAddress = targetIP1;
                        networkData2.IPAddress = targetIP2;
                        ConsoleReport consoleReport = new ConsoleReport();
                        consoleReport.Export(networkData1);
                        consoleReport.Export(networkData2);
                        LogFileReport logFileReport1 = new LogFileReport(log1);
                        LogFileReport logFileReport2 = new LogFileReport(log2);
                        logFileReport1.Export(networkData1);
                        logFileReport2.Export(networkData2);

                        #endregion
                    }
                    Console.ResetColor();

                    Thread.Sleep(500);
                }while (cki.Key != ConsoleKey.Escape);

                Console.TreatControlCAsInput = false;

                #endregion

                #region
            }
            catch (Exception ex)
            {
                log.Info("Error: \n" + ex.Message + "\r\n" + ex.StackTrace);
                Console.WriteLine("Error:\n" + ex.Message + "\r\n" + ex.StackTrace);
                Console.ReadKey();
            }
            finally
            {
                if (testTargetIP1Connecting != null)
                {
                    testTargetIP1Connecting.Abort();
                }
                if (testTargetIP2Connecting != null)
                {
                    testTargetIP1Connecting.Abort();
                }
                if (testTargetIP1Disconnected != null)
                {
                    testTargetIP1Connecting.Abort();
                }
                if (testTargetIP2Disconnected != null)
                {
                    testTargetIP1Connecting.Abort();
                }
                Console.WriteLine("{0} Testing Finished.", DateTime.Now);
                log1.Info("Testing Finished.");
                log2.Info("Testing Finished.");
            }
            #endregion
        }