public void AvailableProtocols1() { TECConnectionType type1 = new TECConnectionType(); TECConnectionType type2 = new TECConnectionType(); TECProtocol prot1 = new TECProtocol(new List <TECConnectionType>()); TECProtocol prot2 = new TECProtocol(new List <TECConnectionType>()); TECProtocol prot3 = new TECProtocol(new List <TECConnectionType>()); TECDevice dev1 = new TECDevice(new List <TECConnectionType>(), new List <TECProtocol> { prot1, prot2 }, new TECManufacturer()); TECDevice dev2 = new TECDevice(new List <TECConnectionType> { type2 }, new List <TECProtocol> { prot1, prot3 }, new TECManufacturer()); TECSubScope ss = new TECSubScope(); bool dev1Added = ss.AddDevice(dev1); bool dev2Added = ss.AddDevice(dev2); Assert.IsTrue(dev1Added); Assert.IsTrue(dev2Added); Assert.IsFalse(ss.AvailableProtocols.Any(prot => { return(prot is TECHardwiredProtocol); })); Assert.IsTrue(ss.AvailableProtocols.Contains(prot1)); Assert.IsFalse(ss.AvailableProtocols.Contains(prot2)); Assert.IsFalse(ss.AvailableProtocols.Contains(prot3)); Assert.AreEqual(1, ss.AvailableProtocols.Count); }
public void AddDeviceToConnectedNetwork() { TECControllerType type = new TECControllerType(new TECManufacturer()); TECProtocol protocol = new TECProtocol(new List <TECConnectionType>()); type.IO.Add(new TECIO(protocol)); TECProvidedController controller = new TECProvidedController(type); TECDevice device = new TECDevice(new List <TECConnectionType>(), new List <TECProtocol> { protocol }, new TECManufacturer()); TECSubScope subScope = new TECSubScope(); subScope.Devices.Add(device); controller.Connect(subScope, protocol); TECDevice otherDevice = new TECDevice(new List <TECConnectionType>(), new List <TECProtocol> { protocol }, new TECManufacturer()); subScope.AddDevice(otherDevice); Assert.IsTrue(subScope.Devices.Contains(otherDevice)); TECProtocol otherProtocol = new TECProtocol(new List <TECConnectionType>()); TECDevice nextDevice = new TECDevice(new List <TECConnectionType>(), new List <TECProtocol> { otherProtocol }, new TECManufacturer()); subScope.AddDevice(nextDevice); Assert.IsFalse(subScope.Devices.Contains(nextDevice)); }
public void AddDeviceToConnectedHardwired() { TECControllerType type = new TECControllerType(new TECManufacturer()); type.IO.Add(new TECIO(IOType.AI)); TECProvidedController controller = new TECProvidedController(type); TECConnectionType connectionType = new TECConnectionType(); TECDevice device = new TECDevice(new List <TECConnectionType> { connectionType }, new List <TECProtocol>(), new TECManufacturer()); TECSubScope subScope = new TECSubScope(); subScope.AddDevice(device); controller.Connect(subScope, subScope.HardwiredProtocol()); TECDevice otherDevice = new TECDevice(new List <TECConnectionType> { connectionType }, new List <TECProtocol>(), new TECManufacturer()); subScope.AddDevice(otherDevice); Assert.IsFalse(subScope.Devices.Contains(otherDevice)); TECConnectionType otherConnectionType = new TECConnectionType(); TECDevice nextDevice = new TECDevice(new List <TECConnectionType> { otherConnectionType }, new List <TECProtocol>(), new TECManufacturer()); bool deviceAdded = subScope.AddDevice(nextDevice); Assert.IsFalse(deviceAdded); Assert.IsFalse(subScope.Devices.Contains(nextDevice)); }
private void addExecute() { for (int x = 0; x < Quantity; x++) { TECSubScope subScope = null; if (underlyingTemplate != null) { subScope = AsReference ? templates.SubScopeSynchronizer.NewItem(underlyingTemplate) : new TECSubScope(underlyingTemplate); subScope.CopyPropertiesFromScope(ToAdd); foreach (IEndDevice device in ToAdd.Devices.Where(item => !originalDevices.Contains(item))) { subScope.AddDevice(device); } foreach (TECPoint point in ToAdd.Points.Where(item => !originalPoints.Contains(item))) { subScope.AddPoint(point); } } else { subScope = new TECSubScope(ToAdd); } add(subScope); if (ConnectVM != null && ConnectVM.Connect) { ConnectVM.ExecuteConnection(subScope); } Added?.Invoke(subScope); } }
private void testNetworkExecute() { TECControllerType type = new TECControllerType(bid.Catalogs.Manufacturers[0]); type.Name = "Controller Type"; type.IO.Add(new TECIO(IOType.AI)); bid.Catalogs.Add(type); TECProvidedController controller = new TECProvidedController(type); controller.Name = "Test Server"; controller.Description = "For testing."; controller.IsServer = true; bid.AddController(controller); TECProvidedController child = new TECProvidedController(type); child.Name = "Child"; bid.AddController(child); TECProvidedController emptyController = new TECProvidedController(type); emptyController.Name = "EmptyController"; bid.AddController(emptyController); TECNetworkConnection connection = controller.AddNetworkConnection(bid.Catalogs.Protocols[0]); connection.AddChild(child); TECTypical typical = new TECTypical(); TECEquipment equip = new TECEquipment(); TECSubScope ss = new TECSubScope(); ss.Name = "Test Subscope"; ss.AddDevice(bid.Catalogs.Devices[0]); TECPoint point = new TECPoint(); point.Type = IOType.AI; point.Quantity = 1; ss.AddPoint(point); equip.SubScope.Add(ss); typical.Equipment.Add(equip); bid.Systems.Add(typical); typical.AddInstance(); }
private void addTypicalExecute() { TECTypical typical = new TECTypical(); typical.Name = "test"; TECEquipment equipment = new TECEquipment(); equipment.Name = "test equipment"; TECSubScope ss = new TECSubScope(); ss.Name = "Test Subscope"; ss.AddDevice(bid.Catalogs.Devices[0]); TECPoint point = new TECPoint(); point.Type = IOType.AI; point.Quantity = 1; ss.AddPoint(point); equipment.SubScope.Add(ss); typical.Equipment.Add(equipment); TECSubScope connected = new TECSubScope(); connected.Name = "Connected"; connected.AddDevice(bid.Catalogs.Devices[0]); TECPoint point2 = new TECPoint(); point2.Type = IOType.AI; point2.Quantity = 1; connected.AddPoint(point2); equipment.SubScope.Add(connected); TECSubScope toConnect = new TECSubScope(); toConnect.Name = "To Connect"; toConnect.AddDevice(bid.Catalogs.Devices[0]); TECPoint point3 = new TECPoint(); point3.Type = IOType.AI; point3.Quantity = 1; toConnect.AddPoint(point3); equipment.SubScope.Add(toConnect); TECControllerType controllerType = new TECControllerType(new TECManufacturer()); controllerType.IOModules.Add(bid.Catalogs.IOModules[0]); TECIO io = new TECIO(IOType.AI); io.Quantity = 10; controllerType.IO.Add(io); bid.Catalogs.IOModules[0].IO.Add(io); controllerType.Name = "Test Type"; TECProvidedController controller = new TECProvidedController(controllerType); controller.IOModules.Add(bid.Catalogs.IOModules[0]); controller.Name = "Test Controller"; typical.AddController(controller); TECProvidedController otherController = new TECProvidedController(controllerType); otherController.Name = "Other Controller"; typical.AddController(otherController); IControllerConnection connection = controller.Connect(connected, (connected as IConnectable).AvailableProtocols.First()); connection.Length = 10; connection.ConduitLength = 20; connection.ConduitType = bid.Catalogs.ConduitTypes[1]; TECPanelType panelType = new TECPanelType(new TECManufacturer()); panelType.Name = "test type"; TECPanel panel = new TECPanel(panelType); panel.Name = "Test Panel"; typical.Panels.Add(panel); TECMisc misc = new TECMisc(CostType.TEC); misc.Name = "test Misc"; typical.MiscCosts.Add(misc); bid.Systems.Add(typical); typical.AddInstance(); }