private void AddKosmographNodesAndEdges(KosmographViewModel viewModel)
        {
            var graph = new Microsoft.Msagl.Drawing.Graph();

            this.AddEntities(viewModel.Entities, graph);

            foreach (var relationship in viewModel.Relationships)
            {
                var edge = graph.AddEdge(relationship.From.Model.Id.ToString(), relationship.To.Model.Id.ToString());
                edge.LabelText = relationship.Name;
            }
            graph.Attr.LayerDirection   = Microsoft.Msagl.Drawing.LayerDirection.LR;
            this.MsaglGraphViewer.Graph = graph;
        }
Beispiel #2
0
        private void CreateNewModel()
        {
            var model         = new KosmographModel(new KosmographLiteDbPersistence());
            var tag1          = model.Tags.Upsert(new Tag("tag1", new Facet("facet", new FacetProperty("p1"))));
            var tag2          = model.Tags.Upsert(new Tag("tag2", new Facet("facet", new FacetProperty("p2"))));
            var entity1       = model.Entities.Upsert(new Entity("entity1", tag1));
            var entity2       = model.Entities.Upsert(new Entity("entity2", tag2));
            var entity3       = model.Entities.Upsert(new Entity("entity3", tag1));
            var relationship1 = model.Relationships.Upsert(new Relationship("relationship1", entity1, entity2, tag1));
            var relationship2 = model.Relationships.Upsert(new Relationship("relationship2", entity2, entity3, tag1));
            var viewModel     = new KosmographViewModel(model);

            viewModel.FillAll();
            this.ViewModel = viewModel;

            CommandManager.InvalidateRequerySuggested();
        }
Beispiel #3
0
        public void KosmographViewModel_notifies_Relationships_of_deleted_Entity()
        {
            // ARRANGE

            this.persistence
            .Setup(p => p.Entities)
            .Returns(this.entityRepository.Object);

            var entity1 = new Entity("e");

            this.entityRepository
            .Setup(r => r.FindAll())
            .Returns(entity1.Yield());

            this.entityRepository
            .Setup(r => r.Delete(entity1.Id))
            .Returns(true);

            this.persistence
            .Setup(p => p.Relationships)
            .Returns(this.relationshipRepository.Object);

            var relationship = new Relationship("r", entity1, entity1);

            this.relationshipRepository
            .Setup(r => r.FindAll())
            .Returns(relationship.Yield());

            this.relationshipRepository
            .Setup(r => r.Delete(relationship.Id))
            .Returns(true);

            var viewModel = new KosmographViewModel(new KosmographModel(this.persistence.Object));

            viewModel.Entities.FillAll();
            viewModel.Relationships.FillAll();

            // ACT

            viewModel.Entities.DeleteCommand.Execute(viewModel.Entities.Single());

            // ASSERT

            Assert.Empty(this.viewModel.Relationships);
        }
Beispiel #4
0
        public KosmographViewModelTest()
        {
            this.tagRepository          = this.mocks.Create <ITagRepository>();
            this.entityRepository       = this.mocks.Create <IEntityRepository>();
            this.relationshipRepository = this.mocks.Create <IRelationshipRepository>();
            this.persistence            = this.mocks.Create <IKosmographPersistence>(MockBehavior.Loose);
            this.persistence
            .Setup(p => p.Tags)
            .Returns(this.tagRepository.Object);
            this.persistence
            .Setup(p => p.Entities)
            .Returns(this.entityRepository.Object);
            this.persistence
            .Setup(p => p.Relationships)
            .Returns(this.relationshipRepository.Object);

            this.viewModel = new KosmographViewModel(new KosmographModel(this.persistence.Object));
        }