public async Task VerifyThatRelationShipsGetDrawnOnDrop() { this.diagram.DiagramElement.Clear(); this.diagram.DiagramElement.Add(this.diagramObject1); var relationship = new BinaryRelationship(Guid.NewGuid(), this.cache, this.uri); relationship.Category.Add(this.relationshipCat); relationship.Source = this.diagramObject1.DepictedThing; relationship.Target = this.diagramObject2.DepictedThing; this.iteration.Relationship.Add(relationship); var viewModel = new DiagramEditorViewModel(this.diagram, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, this.pluginSettingsService.Object) { Behavior = this.mockDiagramBehavior.Object }; viewModel.UpdateProperties(); viewModel.ComputeDiagramConnector(); Assert.IsEmpty(viewModel.DiagramConnectorCollection); var drop = new Mock <IDiagramDropInfo>(); drop.Setup(x => x.Payload).Returns(this.diagramObject2.DepictedThing); drop.Setup(x => x.DiagramDropPoint).Returns(new Point(1, 1)); await viewModel.Drop(drop.Object); Assert.IsNotEmpty(viewModel.DiagramConnectorCollection); viewModel.Dispose(); }
public async Task VerifyThatSaveCommandWorks() { this.diagram.DiagramElement.Clear(); var viewModel = new DiagramEditorViewModel(this.diagram, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, this.pluginSettingsService.Object) { Behavior = this.mockDiagramBehavior.Object }; var drop1 = new Mock <IDiagramDropInfo>(); drop1.Setup(x => x.Payload).Returns(this.diagramObject1.DepictedThing); drop1.Setup(x => x.DiagramDropPoint).Returns(new Point(1, 1)); var drop2 = new Mock <IDiagramDropInfo>(); drop2.Setup(x => x.Payload).Returns(this.diagramObject2.DepictedThing); drop2.Setup(x => x.DiagramDropPoint).Returns(new Point(10, 10)); await viewModel.Drop(drop1.Object); await viewModel.Drop(drop2.Object); viewModel.SaveDiagramCommand.Execute(null); this.cache.TryAdd(new CacheKey(this.diagram.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.diagram)); this.session.Verify(x => x.Write(It.Is <OperationContainer>(op => op.Operations.Count() == 5))); viewModel.Dispose(); }
public void VerifyThatItemAreRemoved() { var viewModel = new DiagramEditorViewModel(this.diagram, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, this.pluginSettingsService.Object) { Behavior = this.mockDiagramBehavior.Object }; viewModel.UpdateProperties(); var itemNumber = viewModel.ThingDiagramItems.Count; viewModel.RemoveDiagramThingItem(viewModel.ThingDiagramItems.FirstOrDefault()); Assert.IsTrue(itemNumber == viewModel.ThingDiagramItems.Count + 1); viewModel.Dispose(); }
public async Task VerifyDragOver() { var viewModel = new DiagramEditorViewModel(this.diagram, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, this.pluginSettingsService.Object) { Behavior = this.mockDiagramBehavior.Object }; this.dropinfo.Setup(x => x.Payload).Returns(this.domain); viewModel.DragOver(this.dropinfo.Object); this.dropinfo.VerifySet(x => x.Effects = It.IsAny <DragDropEffects>(), Times.Once); await viewModel.Drop(this.dropinfo.Object); Assert.IsNotEmpty(viewModel.ThingDiagramItems); viewModel.Dispose(); }
public async Task VerifyThatIsDirtyIsTrueOnThingDropped() { var viewModel = new DiagramEditorViewModel(this.diagram, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, this.pluginSettingsService.Object) { Behavior = this.mockDiagramBehavior.Object }; Assert.IsFalse(viewModel.IsDirty); var drop = new Mock <IDiagramDropInfo>(); drop.Setup(x => x.Payload).Returns(this.elementDefinition); drop.Setup(x => x.DiagramDropPoint).Returns(new Point(1, 1)); await viewModel.Drop(drop.Object); Assert.IsTrue(viewModel.IsDirty); viewModel.Dispose(); }
public void VerifyThatPropertiesAreSet() { var viewModel = new DiagramEditorViewModel(this.diagram, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, this.pluginSettingsService.Object) { Behavior = this.mockDiagramBehavior.Object }; viewModel.UpdateProperties(); viewModel.ComputeDiagramConnector(); Assert.That(viewModel.Caption, Is.Not.Null.Or.Empty); Assert.AreEqual(this.diagram.Name, viewModel.Caption); Assert.That(viewModel.ToolTip, Is.Not.Null.Or.Empty); Assert.IsNotEmpty(viewModel.ThingDiagramItems); Assert.IsNotEmpty(viewModel.DiagramConnectorCollection); Assert.IsFalse(viewModel.CanCreateDiagram); viewModel.Dispose(); }
public async Task VerifyThatDropWorks() { this.diagram.DiagramElement.Clear(); var viewModel = new DiagramEditorViewModel(this.diagram, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, this.pluginSettingsService.Object) { Behavior = this.mockDiagramBehavior.Object }; viewModel.UpdateProperties(); Assert.IsEmpty(viewModel.ThingDiagramItems); var drop = new Mock <IDiagramDropInfo>(); drop.Setup(x => x.Payload).Returns(this.elementDefinition); drop.Setup(x => x.DiagramDropPoint).Returns(new Point(1, 1)); await viewModel.Drop(drop.Object); Assert.IsNotEmpty(viewModel.ThingDiagramItems); viewModel.Dispose(); }
public void VerifyThatRelationShipsGetDrawnOnLoad() { var relationship = new BinaryRelationship(Guid.NewGuid(), this.cache, this.uri); relationship.Category.Add(this.relationshipCat); relationship.Source = this.diagramObject1.DepictedThing; relationship.Target = this.diagramObject2.DepictedThing; this.iteration.Relationship.Add(relationship); var viewModel = new DiagramEditorViewModel(this.diagram, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, this.pluginSettingsService.Object) { Behavior = this.mockDiagramBehavior.Object }; viewModel.UpdateProperties(); viewModel.ComputeDiagramConnector(); Assert.IsNotEmpty(viewModel.DiagramConnectorCollection); viewModel.Dispose(); }
public void VerifyThatIsDirtyIsTrueOnThingDeleted() { var viewModel = new DiagramEditorViewModel(this.diagram, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, this.pluginSettingsService.Object) { Behavior = this.mockDiagramBehavior.Object }; viewModel.UpdateProperties(); viewModel.SaveDiagramCommand.Execute(null); Assert.IsFalse(viewModel.IsDirty); var thingNumber = viewModel.ThingDiagramItems.Count; Assert.IsTrue(viewModel.ThingDiagramItems.Any()); viewModel.RemoveDiagramThingItem(viewModel.ThingDiagramItems.FirstOrDefault()); Assert.Greater(thingNumber, viewModel.ThingDiagramItems.Count); Assert.IsTrue(viewModel.IsDirty); viewModel.Dispose(); }
public void VerifyThatGenerateRelationDeepWorks() { this.diagram.DiagramElement.Clear(); this.diagram.DiagramElement.Add(this.diagramObject1); var relationship0 = new BinaryRelationship(Guid.NewGuid(), this.cache, this.uri); relationship0.Category.Add(this.relationshipCat); relationship0.Source = this.diagramObject1.DepictedThing; relationship0.Target = this.diagramObject2.DepictedThing; this.iteration.Relationship.Add(relationship0); var relationship1 = new BinaryRelationship(Guid.NewGuid(), this.cache, this.uri); relationship1.Category.Add(this.relationshipCat); relationship1.Source = this.diagramObject2.DepictedThing; relationship1.Target = this.diagramObject3.DepictedThing; this.iteration.Relationship.Add(relationship1); var viewModel = new DiagramEditorViewModel(this.diagram, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, this.pluginSettingsService.Object) { Behavior = this.mockDiagramBehavior.Object }; viewModel.UpdateProperties(); Assert.AreEqual(1, viewModel.ThingDiagramItems.Count); var contentItem = new DiagramContentItem() { Content = viewModel.ThingDiagramItems.FirstOrDefault() }; viewModel.SelectedItems.Clear(); viewModel.SelectedItems.Add(contentItem); viewModel.ExecuteGenerateDiagramCommand(true); Assert.AreEqual(3, viewModel.ThingDiagramItems.Count); Assert.AreEqual(3, viewModel.DiagramConnectorCollection.Count); viewModel.Dispose(); }