public void RemoveControllerFromTypicalWithInstanceConnections() { TECBid bid = new TECBid(); bid.Catalogs = ModelCreation.TestCatalogs(rand); TECTypical system = ModelCreation.TestTypical(bid.Catalogs, rand); TECController controller = system.Controllers[0]; TECEquipment equipment = system.Equipment[0]; TECSubScope subScope = new TECSubScope(); subScope.Devices.Add(bid.Catalogs.Devices.First()); equipment.SubScope.Add(subScope); controller.Connect(subScope, subScope.AvailableProtocols.First()); bid.Systems.Add(system); TECSystem instance = system.AddInstance(); TECController instanceController = system.TypicalInstanceDictionary.GetInstances(controller)[0] as TECController; TECSubScope instanceSubScope = system.TypicalInstanceDictionary.GetInstances(subScope)[0] as TECSubScope; system.RemoveController(controller); Assert.IsFalse(instance.Controllers.Contains(instanceController)); Assert.IsTrue(instanceSubScope.Connection == null); }