Example #1
0
        public void AssigedTagEditModel_reverts_changes_from_ViewModel()
        {
            // ARRANGE

            var model  = new Tag("t", new Facet("f", new FacetProperty("p")));
            var values = new Dictionary <string, object>
            {
                { model.Facet.Properties.Single().Id.ToString(), 1 }
            };
            var viewModel = new AssignedTagViewModel(model.ToViewModel(), values);
            var editModel = new AssignedTagEditModel(viewModel);

            editModel.Properties.Single().Value = "changed";

            // ACT

            editModel.RollbackCommand.Execute(null);
            editModel.CommitCommand.Execute(null);

            // ASSERT

            Assert.Equal(1, editModel.Properties[0].Value);
            Assert.Equal(1, viewModel.Properties[0].Value);
            Assert.Equal(1, values[model.Facet.Properties.Single().Id.ToString()]);
        }
        public void AssignedTagViewModel_mirrors_Model()
        {
            // ARRANGE

            var model        = new Tag("t", new Facet("f", new FacetProperty("p")));
            var tagViewModel = new TagViewModel(model);
            var values       = new Dictionary <string, object>
            {
                { model.Facet.Properties.Single().Id.ToString(), 1 }
            };

            // ACT

            var result = new AssignedTagViewModel(tagViewModel, values);

            // ASSERT

            Assert.Equal(model, result.Tag.Model);
            Assert.Equal(1, result.Properties.Single().Value);
        }
        public void AssignedTagViewModel_changes_Model()
        {
            // ARRANGE

            var model        = new Tag("t", new Facet("f", new FacetProperty("p")));
            var tagViewModel = new TagViewModel(model);
            var values       = new Dictionary <string, object>
            {
                { model.Facet.Properties.Single().Id.ToString(), 1 }
            };
            var viewModel = new AssignedTagViewModel(tagViewModel, values);

            // ACT

            viewModel.Properties.Single().Value = "changed";

            // ASSERT

            Assert.Equal(model, viewModel.Tag.Model);
            Assert.Equal("changed", values[model.Facet.Properties.Single().Id.ToString()]);
        }
Example #4
0
        public void AssigedTagEditModel_delays_changes_to_ViewModel()
        {
            // ARRANGE

            var model  = new Tag("t", new Facet("f", new FacetProperty("p")));
            var values = new Dictionary <string, object>
            {
                { model.Facet.Properties.Single().Id.ToString(), 1 }
            };
            var viewModel = new AssignedTagViewModel(model.ToViewModel(), values);
            var editModel = new AssignedTagEditModel(viewModel);

            // ACT

            editModel.Properties.Single().Value = "changed";

            // ASSERT

            Assert.Equal("changed", editModel.Properties[0].Value);
            Assert.Equal(1, viewModel.Properties[0].Value);
            Assert.Equal(1, values[model.Facet.Properties.Single().Id.ToString()]);
        }
Example #5
0
 private AssignedTagEditModel CreateAssignedTag(AssignedTagViewModel tag) => new AssignedTagEditModel(tag);
Example #6
0
 public AssignedTagEditModel(AssignedTagViewModel viewModel)
 {
     this.ViewModel  = viewModel;
     this.Properties = new CommitableObservableCollection <AssignedFacetPropertyEditModel>(
         viewModel.Properties.Select(p => new AssignedFacetPropertyEditModel(p)));
 }