public void MonitorManager_CreateMonitor_Should_Get_An_Clean_Monitor_Back()
        {
            MonitorManager target = new MonitorManager();

            target.Initialize();
            Monitor actual;

            actual = target.CreateMonitor("Test name", "http://laumania.net");
            Assert.IsNotNull(actual);
        }
        public void MonitorManager_CreateMonitor_Should_ComposeParts_So_Export_And_Imports_Are_Satisfied()
        {
            //Arrange
            MonitorManager target  = new MonitorManager();
            Monitor        monitor = null;

            //Act
            target.Initialize();
            monitor = target.CreateMonitor("ComposeParts_Test", "http://laumania");

            //Assert
            Assert.IsTrue(monitor.Plugins != null);
            Assert.IsTrue(monitor.Plugins.Count > 0);
        }
示例#3
0
        public void Monitor_Ping_Should_Return_Error_On_Invalid_Url()
        {
            //Arrange
            MonitorManager    manager = new MonitorManager();
            Monitor           target  = null;
            MonitorPingResult result  = null;

            //Act
            manager.Initialize();
            target = manager.CreateMonitor("Test of invalid url monitor", "htassatp://[email protected]");
            result = target.Ping();

            //Assert
            Assert.IsNotNull(result.Error);
            Assert.IsFalse(result.Succeeded);
        }
示例#4
0
        public static List <Monitor> GenerateMonitorList(int amount)
        {
            List <Monitor> list    = new List <Monitor>();
            MonitorManager manager = new MonitorManager();

            manager.Initialize();

            for (int i = 0; i < amount; i++)
            {
                Monitor m = manager.CreateMonitor("Test_" + i, "http://laumania.net");
                m.Name = "Test monitor no. " + i;
                list.Add(m);
            }

            return(list);
        }
示例#5
0
        public void Monitor_Ping_Should_Return_PingResult_With_Out_Error()
        {
            //Arrange
            MonitorManager    manager = new MonitorManager();
            Monitor           target  = null;
            MonitorPingResult result  = null;

            //Act
            manager.Initialize();
            target = manager.CreateMonitor("Test of valid url monitor", "http://laumania.net");
            result = target.Ping();

            //Assert
            Assert.IsNotNull(result);
            Assert.IsNull(result.Error);
            Assert.IsTrue(result.Succeeded);
        }
示例#6
0
        public void Start()
        {
            int  n = 0;
            bool createBackFlag = true;

            while (true)
            {
                InventorAPI inventorAPI = new InventorAPI();

                List <double> listMonitorParameters = new List <double>()
                {
                    10, 160, 40, 50, 15, 172, 400, 30
                };

                MonitorParameters monitorParameters = new MonitorParameters(listMonitorParameters);

                MonitorManager monitorManager = new MonitorManager(inventorAPI,
                                                                   monitorParameters);

                var processes = Process.GetProcessesByName(Path.GetFileNameWithoutExtension("Inventor.exe"));
                var process   = processes.First();

                // При первой итерации проинициализировать объекты, отвечающие за фиксирование нагрузки
                if (n == 0)
                {
                    _ramCounter = new PerformanceCounter("Process", "Working Set", process.ProcessName);
                    _cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
                }

                //_cpuCounter.NextValue();

                monitorManager.CreateMonitor(createBackFlag);

                var ram = _ramCounter.NextValue();
                var cpu = Math.Round(_cpuCounter.NextValue());

                _writer.Write($"{n}. ");
                _writer.Write($"RAM: {Math.Round(ram / 1024 / 1024)} MB");
                _writer.Write($"\tCPU: {cpu} %");
                _writer.Write(Environment.NewLine);
                _writer.Flush();
                n += 1;
            }
        }
示例#7
0
 private void SaveButton_Click(object sender, RoutedEventArgs e)
 {
     monitorManager.Add(monitorManager.CreateMonitor(DateTime.Now.ToString(), "http://laumania.net"));
     monitorManager.SaveMonitors();
     MonitorsListBox.ItemsSource = monitorManager.Monitors;
 }