Ejemplo n.º 1
0
		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);
		}
Ejemplo n.º 2
0
		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);
		}
Ejemplo n.º 3
0
		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);

		}