Exemple #1
0
        public void RelationshipEditModel_commit_notifies()
        {
            // ARRANGE

            var entity1   = new EntityViewModel(new Entity());
            var entity2   = new EntityViewModel(new Entity());
            var model     = new Relationship("r", new Entity(), new Entity(), new Tag());
            var viewModel = new RelationshipViewModel(model, new EntityViewModel(model.From), new EntityViewModel(model.To));

            var editModel = new RelationshipEditModel(viewModel, delegate { }, delegate { });

            // ACT

            EditModelCommitted result = null;
            var committedNotification = new Action <EditModelCommitted>(n => result = n);

            Messenger.Default.Register <EditModelCommitted>(this, committedNotification);

            editModel.CommitCommand.Execute(null);

            // ASSERT

            Assert.NotNull(result);
            Assert.Equal(typeof(RelationshipViewModel), result.ViewModel.GetType());
            Assert.Equal(viewModel, result.TryGetViewModel <RelationshipViewModel>().Item2);
        }
        public void EntityEditModel_commit_notifies()
        {
            // ARRANGE

            var model = new Entity("entity", new Tag("tag1", new Facet("f", new FacetProperty("p1"))));

            model.SetFacetProperty(model.Tags.Single().Facet.Properties.Single(), 1);

            var viewModel = new EntityViewModel(model, model.Tags.Single().ToViewModel());

            var editModel = new EntityEditModel(viewModel, delegate { }, delegate { });

            // ACT

            EditModelCommitted result = null;
            var committedNotification = new Action <EditModelCommitted>(n => result = n);

            Messenger.Default.Register <EditModelCommitted>(this, committedNotification);

            editModel.CommitCommand.Execute(null);

            // ASSERT

            Assert.NotNull(result);
            Assert.Equal(typeof(EntityViewModel), result.ViewModel.GetType());
            Assert.Equal(viewModel, result.TryGetViewModel <EntityViewModel>().Item2);
        }
 private void EditModelCommitted(EditModelCommitted notification)
 {
     var(isEntity, entity) = notification.TryGetViewModel <EntityViewModel>();
     if (isEntity)
     {
         this.MsaglGraphViewer.UpdateNode(entity);
     }
 }