Ejemplo n.º 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();
        }
Ejemplo n.º 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();
        }
Ejemplo n.º 3
0
        public void VerifyThatIsDirtyIsFalseOnThingLoaded()
        {
            var viewModel = new DiagramEditorViewModel(this.diagram, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, this.pluginSettingsService.Object)
            {
                Behavior = this.mockDiagramBehavior.Object
            };

            Assert.IsTrue(this.diagram.DiagramElement.Any());
            viewModel.UpdateProperties();
            Assert.IsTrue(viewModel.ThingDiagramItems.Any());
            Assert.IsFalse(viewModel.IsDirty);
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
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();
        }
Ejemplo n.º 6
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();
        }
Ejemplo n.º 7
0
        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();
        }
Ejemplo n.º 8
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();
        }
Ejemplo n.º 9
0
        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();
        }
Ejemplo n.º 10
0
        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();
        }
Ejemplo n.º 11
0
        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();
        }
        private void MenuOpen_OnClick(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog
            {
                DefaultExt   = ".trs",
                Filter       = "TroubleShooting document (.trs)|*.trs",
                AddExtension = true
            };

            if (openFileDialog.ShowDialog() == true)
            {
                try
                {
                    var model = Serializer.LoadFromBinnary <DiagramEditorModel>(openFileDialog.FileName);
                    DataContext = new DiagramEditorViewModel(model);
                }
                catch (Exception exception)
                {
                    MessageBox.Show(this, exception.ToString());
                    throw;
                }
            }
        }
Ejemplo n.º 13
0
 public void Before()
 {
     _mainViewModel = new DiagramEditorViewModel(new Diagram());
 }