Beispiel #1
0
        public UpdatableGraph(IEnumerable <IElement> elements = null)
        {
            ElementViewModel = new GraphElementViewModel {
                Element = this
            };
            GraphElements = new ObservableCollection <IElement>();

            if (elements != null)
            {
                foreach (var element in elements)
                {
                    GraphElements.Add(element);
                }
            }

            GraphElements.CollectionChanged += (sender, args) =>
            {
                RaisePropertyChanged(nameof(Elements));
                RaisePropertyChanged(nameof(Left));
                RaisePropertyChanged(nameof(Right));
                RaisePropertyChanged(nameof(Top));
                RaisePropertyChanged(nameof(Bottom));
                RaisePropertyChanged(nameof(Width));
                RaisePropertyChanged(nameof(Height));
            };
        }
        public void VerifyObjectChanged()
        {
            var vm = new GraphElementViewModel(this.NestedElement);

            Assert.AreEqual(vm.Name, this.ElementUsage1.Name);
            this.ElementUsage1.Name = "ItHasNewNameNow";
            vm.RevisionNumber       = -1;
            CDPMessageBus.Current.SendObjectChangeEvent(this.ElementUsage1, EventKind.Updated);
            Assert.AreEqual(vm.Name, this.ElementUsage1.Name);
        }
        public void VerifyProperties()
        {
            var vm = new GraphElementViewModel(this.NestedElement);

            Assert.AreSame(vm.Thing, this.NestedElement);
            Assert.AreSame(vm.NestedElementElement, this.ElementUsage1);
            Assert.AreEqual(vm.Name, this.ElementUsage1.Name);
            Assert.AreEqual(vm.ShortName, this.ElementUsage1.ShortName);
            Assert.AreEqual(vm.OwnerShortName, this.Domain.ShortName);
            Assert.IsNotNull(vm.ModelCode);
            Assert.AreNotEqual(vm.Category, "-");
            Assert.IsNotNull(vm.NestedElementElementListener);

            this.NestedElement.ElementUsage.Clear();
            var vmWithElementDefinition = new GraphElementViewModel(this.NestedElement);

            Assert.IsNotNull(vm.ModelCode);
            Assert.AreNotEqual(vm.ModelCode, vmWithElementDefinition.ModelCode);
        }