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()]); }
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()]); }
private AssignedTagEditModel CreateAssignedTag(AssignedTagViewModel tag) => new AssignedTagEditModel(tag);
public AssignedTagEditModel(AssignedTagViewModel viewModel) { this.ViewModel = viewModel; this.Properties = new CommitableObservableCollection <AssignedFacetPropertyEditModel>( viewModel.Properties.Select(p => new AssignedFacetPropertyEditModel(p))); }