Example #1
0
        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);
        }