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