public BaseParameterImplementation(string luaName, string name, string defaultValue = "", List <DisplayObject> displayObjects = null, Device.IDeviceManager deviceManager = null) : base(luaName, name, defaultValue, displayObjects, deviceManager) { }
public virtual IList <int> ProcessDevices( string devicesStr, Device.IDeviceManager deviceManager) { Match match = Regex.Match(devicesStr, Device.DeviceManager.DESCRIPTION_PATTERN, RegexOptions. IgnoreCase); var validDevices = new List <int>(); while (match.Success) { string str = match.Groups["name"].Value; Device.IDevice device = deviceManager .GetDeviceByEplanName(str); bool isValid = ValidateDevice(device); if (isValid) { int tmpDeviceIndex = deviceManager.GetDeviceIndex(str); if (tmpDeviceIndex >= 0 && !validDevices.Contains(tmpDeviceIndex)) { validDevices.Add(tmpDeviceIndex); } } match = match.NextMatch(); } return(validDevices); }
virtual public void ModifyDevNames(int newTechObjectN, int oldTechObjectN, string techObjectName) { List <int> tmpIndex = new List <int>(); foreach (int index in deviceIndex) { tmpIndex.Add(index); } Device.IDeviceManager deviceManager = Device.DeviceManager .GetInstance(); foreach (int index in deviceIndex) { var newDevName = string.Empty; Device.IDevice device = deviceManager.GetDeviceByIndex(index); int objNum = device.ObjectNumber; string objName = device.ObjectName; if (objNum > 0) { //Для устройств в пределах объекта меняем номер объекта. if (techObjectName == objName) { // COAG2V1 --> COAG1V1 if (objNum == newTechObjectN && oldTechObjectN != -1) { newDevName = objName + oldTechObjectN + device.DeviceType.ToString() + device. DeviceNumber; } if (oldTechObjectN == -1 || oldTechObjectN == objNum) { //COAG1V1 --> COAG2V1 newDevName = objName + newTechObjectN + device.DeviceType.ToString() + device .DeviceNumber; } } } if (newDevName != string.Empty) { int indexOfDeletingElement = tmpIndex.IndexOf(index); tmpIndex.Remove(index); int tmpDevInd = Device.DeviceManager.GetInstance() .GetDeviceIndex(newDevName); if (tmpDevInd >= 0) { tmpIndex.Insert(indexOfDeletingElement, tmpDevInd); } } } deviceIndex = tmpIndex; }
override public List <DrawInfo> GetObjectToDrawOnEplanPage() { Device.IDeviceManager deviceManager = Device.DeviceManager .GetInstance(); var devToDraw = new List <DrawInfo>(); foreach (int index in deviceIndex) { devToDraw.Add(new DrawInfo(DrawStyle, deviceManager.GetDeviceByIndex(index))); } return(devToDraw); }
public void ModifyDevNames(int[] devIds, int[] expectedDevIds, int newTechObjectN, int oldTechObjectN, string techObjectName) { Device.IDeviceManager deviceManager = DeviceManagerMock .DeviceManager; var action = new Action(string.Empty, null, string.Empty, null, null, null, deviceManager); action.DeviceIndex.AddRange(devIds); action.ModifyDevNames(newTechObjectN, oldTechObjectN, techObjectName); Assert.AreEqual(expectedDevIds, action.DeviceIndex); }
// Can't be tested yet, have to make DI //[TestCase("Param_Name", BaseParameter.ValueType.Parameter)] // Can be tested only for Bool parameters (this one is not bool) //[TestCase(true, BaseParameter.ValueType.Boolean)] public void CurrentValueType_NewObjectSetNewValue(string setValue, BaseParameter.ValueType expectedValueType) { string name = "Name"; string luaName = "LuaName"; Device.IDeviceManager deviceManager = GetMoqForSetValuesAndDisplayTextTest(); var parameter = new BaseParameterImplementation(luaName, name, string.Empty, null, deviceManager); parameter.SetNewValue(setValue); Assert.AreEqual(expectedValueType, parameter.CurrentValueType); }
public void SetValue_NewObject_ProcessValueReturnsCorrect( string setValue, string expectedValue) { string name = "Name"; string luaName = "LuaName"; Device.IDeviceManager deviceManager = GetMoqForSetValuesAndDisplayTextTest(); var parameter = new BaseParameterImplementation(luaName, name, stub, null, deviceManager); parameter.SetValue(setValue); Assert.AreEqual(expectedValue, parameter.Value); }
virtual public void ModifyDevNames(string newTechObjectName, int newTechObjectNumber, string oldTechObjectName, int oldTechObjNumber) { List <int> tmpIndex = new List <int>(); foreach (int index in deviceIndex) { tmpIndex.Add(index); } Device.IDeviceManager deviceManager = Device.DeviceManager .GetInstance(); foreach (int index in deviceIndex) { string newDevName = string.Empty; Device.IDevice device = deviceManager.GetDeviceByIndex(index); int objNum = newTechObjectNumber; string objName = device.ObjectName; if (objName == oldTechObjectName && device.ObjectNumber == oldTechObjNumber) { newDevName = newTechObjectName + objNum + device.DeviceType.ToString() + device.DeviceNumber; } if (newDevName != string.Empty) { int indexOfDeletingElement = tmpIndex.IndexOf(index); tmpIndex.Remove(index); int tmpDevInd = Device.DeviceManager.GetInstance() .GetDeviceIndex(newDevName); if (tmpDevInd >= 0) { tmpIndex.Insert(indexOfDeletingElement, tmpDevInd); } } } deviceIndex = tmpIndex; }
/// <summary> /// Создание нового действия. /// </summary> /// <param name="name">Имя действия.</param> /// <param name="luaName">Имя действия - как оно будет называться /// в таблице Lua.</param> /// <param name="devTypes">Типы устройств, допустимые для /// редактирования.</param> /// <param name="devSubTypes">Подтипы устройств, допустимые /// для редактирования.</param> /// <param name="owner">Владелец действия (Шаг)</param> /// <param name="actionProcessorStrategy">Стратегия обработки /// устройств в действии</param> /// <param name="deviceManager">Менеджер устройств</param> public Action(string name, Step owner, string luaName = "", Device.DeviceType[] devTypes = null, Device.DeviceSubType[] devSubTypes = null, IActionProcessorStrategy actionProcessorStrategy = null, Device.IDeviceManager deviceManager = null) { this.name = name; this.luaName = luaName; this.devTypes = devTypes; this.devSubTypes = devSubTypes; deviceIndex = new List <int>(); this.owner = owner; DrawStyle = DrawInfo.Style.GREEN_BOX; this.deviceManager = deviceManager ?? Device.DeviceManager .GetInstance(); SetActionProcessingStrategy(actionProcessorStrategy); }
public void DisplayText_NewObjectSetNewvalue_ReturnsCorrectDisplayText( string setValue, string expectedParameterValue) { string name = "Name"; string luaName = "LuaName"; Device.IDeviceManager deviceManager = GetMoqForSetValuesAndDisplayTextTest(); var parameter = new BaseParameterImplementation(luaName, name, stub, null, deviceManager); parameter.SetNewValue(setValue); var expectedDisplayText = new string[] { name, expectedParameterValue }; Assert.AreEqual(expectedDisplayText, parameter.DisplayText); }
public override IList <int> ProcessDevices(string devicesStr, Device.IDeviceManager deviceManager) { IList <int> validatedDevicesId = base.ProcessDevices(devicesStr, deviceManager); var idDevDict = new Dictionary <int, Device.IDevice>(); foreach (var devId in validatedDevicesId) { var dev = deviceManager.GetDeviceByIndex(devId); idDevDict.Add(devId, dev); } var newInputDevs = idDevDict .Where(x => x.Value.DeviceType == Device.DeviceType.AI || x.Value.DeviceType == Device.DeviceType.DI) .ToList(); if (newInputDevs.Count > 1) { foreach (var newInputDevPair in newInputDevs) { var newInputDevId = newInputDevPair.Key; if (Action.DeviceIndex.Contains(newInputDevId)) { idDevDict.Remove(newInputDevId); } } } var devList = idDevDict .ToList() .OrderBy(x => x.Value.DeviceType.ToString()) .Select(x => x.Key) .ToList(); return(devList); }