public void TestFireZoneInMultiGk() { var device1 = AddDevice(kauDevice11, GKDriverType.RSR2_HandDetector); var device2 = AddDevice(kauDevice21, GKDriverType.RSR2_HandDetector); var zone = new GKZone(); GKManager.Zones.Add(zone); device1.ZoneUIDs.Add(zone.UID); device2.ZoneUIDs.Add(zone.UID); var validator = new Validator(); var errors = validator.Validate(); Assert.IsTrue(errors.Any(x => x.ErrorLevel == ValidationErrorLevel.CannotWrite && x.Error == "Содержится в нескольких ГК")); }
public void TestGuardZoneInMultiGk() { var device1 = AddDevice(kauDevice11, GKDriverType.RSR2_GuardDetector); var device2 = AddDevice(kauDevice21, GKDriverType.RSR2_GuardDetector); var guardZoneDevice1 = new GKGuardZoneDevice {Device = device1, DeviceUID = device1.UID}; var guardZoneDevice2 = new GKGuardZoneDevice {Device = device2, DeviceUID = device2.UID}; var guardZone = new GKGuardZone(); GKManager.GuardZones.Add(guardZone); guardZone.GuardZoneDevices.Add(guardZoneDevice1); guardZone.GuardZoneDevices.Add(guardZoneDevice2); GKManager.AddDeviceToGuardZone(guardZone, guardZoneDevice1); GKManager.AddDeviceToGuardZone(guardZone, guardZoneDevice2); var validator = new Validator(); var errors = validator.Validate(); Assert.IsTrue(errors.Any(x => x.ErrorLevel == ValidationErrorLevel.CannotWrite && x.Error == "Содержится в нескольких ГК")); }
public void TestDelayInMultiGk() { var device1 = AddDevice(kauDevice11, GKDriverType.RSR2_GuardDetector); var device2 = AddDevice(kauDevice21, GKDriverType.RSR2_GuardDetector); var delay = new GKDelay(); GKManager.Delays.Add(delay); var clause = new GKClause { ClauseOperationType = ClauseOperationType.AllDevices, StateType = GKStateBit.Failure, DeviceUIDs = {device1.UID, device2.UID} }; delay.Logic.OnClausesGroup.Clauses.Add(clause); var validator = new Validator(); var errors = validator.Validate(); Assert.IsTrue(errors.Any(x => x.ErrorLevel == ValidationErrorLevel.CannotWrite && x.Error == "Содержится в нескольких ГК")); }
public void TestMPTInMultiGk() { var device1 = AddDevice(kauDevice11, GKDriverType.RSR2_GuardDetector); var device2 = AddDevice(kauDevice21, GKDriverType.RSR2_GuardDetector); var mpt = new GKMPT(); GKManager.MPTs.Add(mpt); var clause = new GKClause { ClauseOperationType = ClauseOperationType.AllDevices, StateType = GKStateBit.Failure, DeviceUIDs = {device1.UID, device2.UID} }; mpt.MptLogic.OnClausesGroup.Clauses.Add(clause); var validator = new Validator(); var errors = validator.Validate(); Assert.IsTrue(errors.Any(x => x.ErrorLevel == ValidationErrorLevel.CannotWrite && x.Error == "Содержится в нескольких ГК")); mpt.MptLogic = new GKLogic(); clause = new GKClause { ClauseOperationType = ClauseOperationType.AllDevices, StateType = GKStateBit.Failure, DeviceUIDs = { device1.UID } }; mpt.MptLogic.OnClausesGroup.Clauses.Add(clause); foreach (var deviceType in new List<GKMPTDeviceType>(Enum.GetValues(typeof(GKMPTDeviceType)).Cast<GKMPTDeviceType>())) { mpt.MPTDevices = new List<GKMPTDevice>(); var mptDevice = new GKMPTDevice { Device = device2, DeviceUID = device2.UID, MPTDeviceType = deviceType }; mpt.MPTDevices.Add(mptDevice); validator = new Validator(); errors = validator.Validate(); Assert.IsTrue(errors.Any(x => x.ErrorLevel == ValidationErrorLevel.CannotWrite && x.Error == "Содержится в нескольких ГК")); } }
List<IValidationError> Validate() { var validator = new Validator(); return validator.Validate(); }