public void UpdateTest()
        {
            TECProtocol       protocol = new TECProtocol(new List <TECConnectionType>());
            TECControllerType cType    = new TECControllerType(new TECManufacturer());

            cType.IO.Add(new TECIO(protocol));

            TECProvidedController controller = new TECProvidedController(cType);

            TECProtocol otherProtocol = new TECProtocol(new List <TECConnectionType>());

            TECDevice device = new TECDevice(new List <TECConnectionType>(), new List <TECProtocol>()
            {
                protocol
            }, new TECManufacturer());
            TECSubScope subScope = new TECSubScope();

            subScope.Devices.Add(device);

            ConnectOnAddVM vm = new ConnectOnAddVM(new List <TECSubScope>()
            {
                subScope
            },
                                                   new List <TECController> {
                controller
            },
                                                   new List <TECElectricalMaterial>());

            vm.SelectedController = vm.ParentControllers.First();

            Assert.IsTrue(vm.CanConnect());

            TECDevice otherDevice = new TECDevice(new List <TECConnectionType>(), new List <TECProtocol>()
            {
                otherProtocol
            }, new TECManufacturer());

            subScope.Devices.Remove(device);
            subScope.Devices.Add(otherDevice);

            vm.Update(new List <IConnectable>()
            {
                subScope
            });

            Assert.IsNull(vm.SelectedController);
            Assert.AreEqual(0, vm.ParentControllers.Count);
        }
        public void CanConnectTest()
        {
            TECProtocol       protocol = new TECProtocol(new List <TECConnectionType>());
            TECControllerType cType    = new TECControllerType(new TECManufacturer());

            cType.IO.Add(new TECIO(protocol));

            TECProvidedController controller = new TECProvidedController(cType);

            TECProtocol       otherProtocol = new TECProtocol(new List <TECConnectionType>());
            TECControllerType otherCType    = new TECControllerType(new TECManufacturer());

            otherCType.IO.Add(new TECIO(otherProtocol));

            TECProvidedController otherController = new TECProvidedController(otherCType);

            TECDevice device = new TECDevice(new List <TECConnectionType>(), new List <TECProtocol>()
            {
                protocol
            }, new TECManufacturer());
            TECSubScope subScope = new TECSubScope();

            subScope.Devices.Add(device);

            ConnectOnAddVM vm = new ConnectOnAddVM(new List <TECSubScope>()
            {
                subScope
            },
                                                   new List <TECController> {
                controller, otherController
            },
                                                   new List <TECElectricalMaterial>());

            Assert.AreEqual(1, vm.ParentControllers.Count);

            vm.SelectedController = null;
            vm.Connect            = true;

            Assert.IsFalse(vm.CanConnect());

            vm.SelectedController = vm.ParentControllers.First();

            Assert.IsTrue(vm.CanConnect());
        }
Ejemplo n.º 3
0
 public AddEquipmentVM(TECSystem parentSystem, TECScopeManager scopeManager) : base(scopeManager)
 {
     parent = parentSystem;
     ExistingProposalItems = new List <TECProposalItem>(parentSystem.ProposalItems);
     toAdd = new TECEquipment();
     add   = equip =>
     {
         parentSystem.Equipment.Add(equip);
         if (AddNewProposalItem)
         {
             parentSystem.ProposalItems.Add(new TECProposalItem(equip));
         }
         else if (SelectedProposalItem != null)
         {
             SelectedProposalItem.ContainingScope.Add(equip);
         }
     };
     AddCommand = new RelayCommand(addExecute, addCanExecute);
     Quantity   = 1;
     ConnectVM  = new ConnectOnAddVM(ToAdd.SubScope, parent.Controllers, scopeManager.Catalogs.ConduitTypes);
 }
Ejemplo n.º 4
0
 public void SetParentSystem(TECSystem system, TECScopeManager scopeManager)
 {
     ConnectVM = new ConnectOnAddVM(new List <TECSubScope>(),
                                    system.Controllers, scopeManager.Catalogs.ConduitTypes);
     updateConnectVMWithQuantity(Quantity);
 }