示例#1
0
        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();
        }
示例#2
0
        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();
        }
示例#3
0
        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();
        }
示例#4
0
        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();
        }
示例#5
0
        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();
        }