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 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 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 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(); }