public void RaiseEventDeviceHasErrorTest() { // Arrange var testCntr = new TestContener(); testCntr.Manager = NetworksManager.Instance; var controller = new IncotexNetworkControllerVirtual(); var device = new Mercury203Virtual(); controller.Devices.Add(device); testCntr.Manager.Networks.Add(controller); device.Start(); controller.Start(); // Act testCntr.Manager.SendCommand(device.Id, CommandNamesMercury203Virtual.SetCommunicationError); // Assert Assert.IsTrue(testCntr.IsEventRaisedErrorOccured); Assert.AreEqual(true, device.CommunicationError); // Act testCntr.ResetEventsFlags(); testCntr.Manager.SendCommand(device.Id, CommandNamesMercury203Virtual.ResetCommunicationError); // Assert Assert.IsTrue(testCntr.IsEventRaisedErrorOccured); Assert.AreEqual(false, device.CommunicationError); // Act testCntr.ResetEventsFlags(); testCntr.Manager.SendCommand(device.Id, CommandNamesMercury203Virtual.SetConfigurationError); // Assert Assert.IsTrue(testCntr.IsEventRaisedErrorOccured); Assert.AreEqual(true, device.ConfigurationError); // Act testCntr.ResetEventsFlags(); testCntr.Manager.SendCommand(device.Id, CommandNamesMercury203Virtual.ResetConfigurationError); // Assert Assert.IsTrue(testCntr.IsEventRaisedErrorOccured); Assert.AreEqual(false, device.ConfigurationError); // Act testCntr.ResetEventsFlags(); testCntr.Manager.SendCommand(device.Id, CommandNamesMercury203Virtual.SetRtcError); // Assert Assert.IsTrue(testCntr.IsEventRaisedErrorOccured); Assert.AreEqual(true, device.RtcError); // Act testCntr.ResetEventsFlags(); testCntr.Manager.SendCommand(device.Id, CommandNamesMercury203Virtual.ResetRtcError); // Assert Assert.IsTrue(testCntr.IsEventRaisedErrorOccured); Assert.AreEqual(false, device.RtcError); }
public void RaiseEventParameterChangedByIncotexNetworkControllerVirtualTest() { // Arrange var testCntr = new TestContener(); testCntr.Manager = NetworksManager.Instance; var controller = new IncotexNetworkControllerVirtual(); var device = new Mercury203Virtual(); controller.Devices.Add(device); testCntr.Manager.Networks.Add(controller); device.Start(); controller.Start(); // Act // ждём Thread.Sleep(1000); //while (!testCntr.IsEventRaised) { Thread.Sleep(1000); } controller.Stop(); // Assert Assert.IsTrue(testCntr.IsEventRaisedParamChanged); }
public void RaiseEventStatusChangedTest() { // Arrange var testCntr = new TestContener(); testCntr.Manager = NetworksManager.Instance; var controller = new IncotexNetworkControllerVirtual(); var device = new Mercury203Virtual(); controller.Devices.Add(device); testCntr.Manager.Networks.Add(controller); // Act testCntr.Manager.SetSatus(controller.Id, true); // Assert Assert.IsTrue(testCntr.IsEventRaisedStatusChanged); Assert.AreEqual(Status.Running, controller.Status); Assert.AreEqual(controller.Id, testCntr.StatusChangedArgs.Id); Assert.AreEqual(controller.Status, testCntr.StatusChangedArgs.Status); // Act testCntr.ResetEventsFlags(); testCntr.Manager.SetSatus(controller.Id, false); // Assert Assert.IsTrue(testCntr.IsEventRaisedStatusChanged); Assert.AreEqual(Status.Stopped, controller.Status); Assert.AreEqual(controller.Id, testCntr.StatusChangedArgs.Id); Assert.AreEqual(controller.Status, testCntr.StatusChangedArgs.Status); testCntr.Manager.SetSatus(controller.Id, true); Thread.Sleep(1000); testCntr.Manager.SetSatus(controller.Id, false); Thread.Sleep(1000); testCntr.Manager.SetSatus(controller.Id, true); Thread.Sleep(1000); testCntr.Manager.SetSatus(controller.Id, false); Thread.Sleep(1000); // Act testCntr.ResetEventsFlags(); testCntr.Manager.SetSatus(device.Id, true); // Assert Assert.IsTrue(testCntr.IsEventRaisedStatusChanged); Assert.AreEqual(Status.Running, device.Status); Assert.AreEqual(device.Id, testCntr.StatusChangedArgs.Id); Assert.AreEqual(device.Status, testCntr.StatusChangedArgs.Status); // Act testCntr.ResetEventsFlags(); testCntr.Manager.SetSatus(device.Id, false); // Assert Assert.IsTrue(testCntr.IsEventRaisedStatusChanged); Assert.AreEqual(Status.Stopped, device.Status); Assert.AreEqual(device.Id, testCntr.StatusChangedArgs.Id); Assert.AreEqual(device.Status, testCntr.StatusChangedArgs.Status); // Arrange device = new Mercury203Virtual { Address = 2 }; controller.Devices.Add(device); // Act testCntr.ResetEventsFlags(); testCntr.Manager.SetSatus(device.Id, true); // Assert Assert.IsTrue(testCntr.IsEventRaisedStatusChanged); Assert.AreEqual(Status.Running, device.Status); Assert.AreEqual(device.Id, testCntr.StatusChangedArgs.Id); Assert.AreEqual(device.Status, testCntr.StatusChangedArgs.Status); // Act testCntr.Manager.RemoveDevice(device.Id); }