示例#1
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();
        }