public void CreateEntityViewModelServiceOnInitialization() { var e = new Node(); var evm = IoCService.Instance.Resolve<INodeViewModel>(e); Assert.That(evm, Is.Not.Null); Assert.That(evm.Entity, Is.EqualTo(e)); var v = ((EntityViewModel) evm).GetType().GetProperty("EntityViewModelService", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static).GetValue(evm); Assert.That(v, Is.Not.Null); Assert.That(v, Is.TypeOf<EntityViewModelService>()); }
public void CollectionPropertyTest() { var node = new Node(); Assert.That(node, Is.Not.Null); Assert.That(node.Relationships, Is.Not.Null); Assert.That(node.Relationships, Is.TypeOf<ObservableCollection<NodeRelationship>>()); var nodeRel1 = new NodeRelationship(); node.Relationships.Add(nodeRel1); CollectionAssert.AreEquivalent(node.Relationships, new[] {nodeRel1}); node.Relationships.Remove(nodeRel1); CollectionAssert.IsEmpty(node.Relationships); }
public void ChangePropertyTest() { var firedPropertyChangedEventArgs = new ConcurrentBag<PropertyChangedEventArgs>(); var node = new Node(); Assert.That(node, Is.Not.Null); node.PropertyChanged += (sender, args) => { firedPropertyChangedEventArgs.Add(args); }; node.X = 5; var array = firedPropertyChangedEventArgs.ToArray(); Assert.That(firedPropertyChangedEventArgs.Count, Is.EqualTo(1)); Assert.That(array[0].PropertyName, Is.EqualTo("X")); }
public void ModelPropertyChanged() { var events = new List<PropertyChangedEventArgs>(); var model = new Node(); var vm = new PEStub(model); vm.PropertyChanged += (sender, args) => { events.Add(args); }; model.X = 5; var propertyChangedList = events.Select(x => x.PropertyName); CollectionAssert.AreEquivalent(propertyChangedList, new[] {"X"}); Assert.That(model.X, Is.EqualTo(5)); Assert.That(vm.X, Is.EqualTo(5)); }
public void SyncedCollectionPropertyTest() { var node = new Node(); var nr1 = new NodeRelationship(); var nrvm1 = new NodeRelationshipViewModel(nr1); var nvm = IoCService.Instance.Resolve<NodeViewModel>(node); Assert.That(nvm.Relationships, Is.Not.Null); node.Relationships.Add(nr1); CollectionAssert.AreEquivalent(node.Relationships, new[] {nr1}); CollectionAssert.AreEquivalent(node.Relationships, nvm.Relationships.Select(x => x.Entity)); }
public NodeViewModel(Node node) : base(node) { SyncedCollectionProperty(() => Relationships); }