public async Task VerifyThatCreateBinaryRelationshipWorks() { var viewmodel = new RelationshipBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null); var creator = viewmodel.RelationshipCreator.BinaryRelationshipCreator; var dropinfo = new Mock <IDropInfo>(); dropinfo.Setup(x => x.Payload).Returns(this.elementDefinition1); dropinfo.SetupProperty(x => x.Effects); creator.SourceViewModel.DragOver(dropinfo.Object); dropinfo.VerifySet(x => x.Effects = DragDropEffects.Copy); await creator.SourceViewModel.Drop(dropinfo.Object); Assert.AreSame(creator.SourceViewModel.RelatedThing, this.elementDefinition1); Assert.AreEqual(string.Format("({0}) {1}", this.elementDefinition1.ClassKind, this.elementDefinition1.Name), creator.SourceViewModel.RelatedThingDenomination); var dropinfo2 = new Mock <IDropInfo>(); dropinfo2.Setup(x => x.Payload).Returns(this.elementDefinition2); await creator.TargetViewModel.Drop(dropinfo2.Object); Assert.IsTrue(viewmodel.RelationshipCreator.CreateRelationshipCommand.CanExecute(null)); viewmodel.RelationshipCreator.CreateRelationshipCommand.Execute(null); creator.ReInitializeControl(); Assert.IsNull(creator.SourceViewModel.RelatedThing); Assert.IsNull(creator.TargetViewModel.RelatedThing); }
public void VerifyThatCreateMultiRelationshipWorks() { var viewmodel = new RelationshipBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null); viewmodel.RelationshipCreator.SelectedRelationshipCreator = viewmodel.RelationshipCreator.MultiRelationshipCreator; var creator = viewmodel.RelationshipCreator.MultiRelationshipCreator; var dropinfo = new Mock <IDropInfo>(); dropinfo.Setup(x => x.Payload).Returns(this.elementDefinition1); dropinfo.SetupProperty(x => x.Effects); creator.DragOver(dropinfo.Object); dropinfo.VerifySet(x => x.Effects = DragDropEffects.Copy); creator.Drop(dropinfo.Object); Assert.IsTrue(creator.RelatedThings.Any(x => x.Thing == this.elementDefinition1)); var dropinfo2 = new Mock <IDropInfo>(); dropinfo2.Setup(x => x.Payload).Returns(this.elementDefinition2); creator.Drop(dropinfo2.Object); Assert.AreEqual(2, creator.RelatedThings.Count); creator.RelatedThings.First().RemoveRelatedThingCommand.Execute(null); Assert.AreEqual(1, creator.RelatedThings.Count); Assert.IsTrue(viewmodel.RelationshipCreator.CreateRelationshipCommand.CanExecute(null)); viewmodel.RelationshipCreator.CreateRelationshipCommand.Execute(null); creator.ReInitializeControl(); Assert.AreEqual(0, creator.RelatedThings.Count); creator.Dispose(); }
public void VerifyThatRelationsBrowserIsCreated() { var viewmodel = new RelationshipBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null); Assert.AreEqual(2, viewmodel.RelationshipTypes.Count); Assert.That(viewmodel.Caption, Is.Not.Null.Or.Empty); Assert.That(viewmodel.ToolTip, Is.Not.Null.Or.Empty); Assert.That(viewmodel.DataSource, Is.Not.Null.Or.Empty); Assert.That(viewmodel.DomainOfExpertise, Is.Not.Null.Or.Empty); Assert.That(viewmodel.CurrentModel, Is.Not.Null.Or.Empty); }
public void VerifyThatMultiRelationshipsAreAddedModifiedRemoved() { var viewmodel = new RelationshipBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null); //Add relationship1 and relationship2 and relationship3 var relationship = new MultiRelationship(Guid.NewGuid(), this.cache, this.uri) { Owner = this.domain, ModifiedOn = DateTime.Now }; relationship.RelatedThing.Add(this.elementDefinition1); relationship.RelatedThing.Add(this.elementDefinition2); relationship.RelatedThing.Add(this.elementDefinition3); this.iteration.Relationship.Add(relationship); var revision = typeof(Iteration).GetProperty("RevisionNumber"); revision.SetValue(this.iteration, 1); CDPMessageBus.Current.SendObjectChangeEvent(this.iteration, EventKind.Updated); Assert.AreEqual(1, viewmodel.RelationshipTypes[1].ContainedRows.Count); //Modify element definition name this.elementDefinition3.Name = "EG"; var revisionE = typeof(ElementDefinition).GetProperty("RevisionNumber"); revisionE.SetValue(this.elementDefinition3, 1); CDPMessageBus.Current.SendObjectChangeEvent(this.elementDefinition3, EventKind.Updated); Assert.IsTrue(((MultiRelationshipRowViewModel)viewmodel.RelationshipTypes[1].ContainedRows[0]).Name.Contains("EG")); //Modify relationship content relationship.RelatedThing.Add(this.elementDefinition4); var revisionR = typeof(Relationship).GetProperty("RevisionNumber"); revisionR.SetValue(relationship, 1); CDPMessageBus.Current.SendObjectChangeEvent(relationship, EventKind.Updated); Assert.IsTrue(((MultiRelationshipRowViewModel)viewmodel.RelationshipTypes[1].ContainedRows[0]).Name.Contains("E4")); //Remove relationships this.iteration.Relationship.Clear(); revision.SetValue(this.iteration, 2); CDPMessageBus.Current.SendObjectChangeEvent(this.iteration, EventKind.Updated); Assert.AreEqual(0, viewmodel.RelationshipTypes[1].ContainedRows.Count); }
public void VerifyThatBinaryRelationshipsAreAddedModifiedRemoved() { var viewmodel = new RelationshipBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null); //Add relationship1 and relationship2 var relationship = new BinaryRelationship(Guid.NewGuid(), this.cache, this.uri) { Source = this.elementDefinition1, Target = this.elementDefinition2, Owner = this.domain }; this.iteration.Relationship.Add(relationship); var revision = typeof(Iteration).GetProperty("RevisionNumber"); revision.SetValue(this.iteration, 1); CDPMessageBus.Current.SendObjectChangeEvent(this.iteration, EventKind.Updated); Assert.AreEqual(1, viewmodel.RelationshipTypes[0].ContainedRows.Count); //Modify element name this.elementDefinition1.Name = "EX"; var revisionE = typeof(ElementDefinition).GetProperty("RevisionNumber"); revisionE.SetValue(this.elementDefinition1, 1); CDPMessageBus.Current.SendObjectChangeEvent(this.elementDefinition1, EventKind.Updated); Assert.IsTrue(((BinaryRelationshipRowViewModel)viewmodel.RelationshipTypes[0].ContainedRows[0]).Name.Contains("EX")); //Modify relationship relationship.Source = this.elementDefinition3; var revisionR = typeof(Relationship).GetProperty("RevisionNumber"); revisionR.SetValue(relationship, 1); CDPMessageBus.Current.SendObjectChangeEvent(relationship, EventKind.Updated); Assert.IsTrue(((BinaryRelationshipRowViewModel)viewmodel.RelationshipTypes[0].ContainedRows[0]).Name.Contains("E3")); //Remove relationships this.iteration.Relationship.Clear(); revision.SetValue(this.iteration, 2); CDPMessageBus.Current.SendObjectChangeEvent(this.iteration, EventKind.Updated); Assert.AreEqual(0, viewmodel.RelationshipTypes[0].ContainedRows.Count); }