public void TagEditModel_reverts_change_from_ViewModel() { // ARRANGE var p2 = new FacetProperty("p2"); var model = new Tag("tag", new Facet("facet", new FacetProperty("p"))); var viewModel = new TagViewModel(model); Tag reverted = null; var revertCB = new Action <Tag>(t => reverted = t); var editModel = new TagEditModel(viewModel, delegate { }, revertCB); editModel.Name = "changed"; // ACT editModel.RollbackCommand.Execute(null); editModel.CommitCommand.Execute(null); // ASSERT Assert.Equal(model, reverted); Assert.Equal("tag", editModel.Name); Assert.Equal("tag", viewModel.Name); Assert.Equal("tag", model.Name); }
public void SetFacetProperty <T>(FacetProperty facetProperty, T value) { if (facetProperty.CanAssignValue(value)) { this.Values[facetProperty.Id.ToString()] = value; } else { throw new InvalidOperationException($"property(name='{facetProperty.Name}') doesn't accept value of type {typeof(T)}"); } }
public void FacetProperty_created_with_name_and_type() { // ACT var result = new FacetProperty("facet", FacetPropertyTypeValues.DateTime); // ASSERT Assert.Equal("facet", result.Name); Assert.Equal(FacetPropertyTypeValues.DateTime, result.Type); }
public void FacetPropertyEditModel_mirrors_ViewModel() { // ARRANGE var model = new FacetProperty("p"); var viewModel = model.ToViewModel(); // ACT var result = new FacetPropertyEditModel(viewModel); // ASSERT Assert.Equal("p", result.Name); }
public void FacetPropertyViewModel_mirrors_Model() { // ARRANGE var model = new FacetProperty("p1"); // ACT var result = new FacetPropertyViewModel(model); // ASSERT Assert.Equal("p1", result.Name); Assert.Equal(model, result.Model); }
public void FacetPropertyViewModel_changes_Model() { // ARRANGE var model = new FacetProperty("p1"); var viewModel = new FacetPropertyViewModel(model); // ACT viewModel.Name = "changed"; // ASSERT Assert.Equal("changed", model.Name); }
public void Facet_adds_property() { // ARRANGE var facet = new Facet(); var property = new FacetProperty(); // ACT facet.AddProperty(property); // ASSERT Assert.Equal(property, facet.Properties.Single()); }
public void FacetPropertyEditModel_delays_changes_of_ViewModel() { // ARRANGE var model = new FacetProperty("p"); var viewModel = model.ToViewModel(); var editModel = new FacetPropertyEditModel(viewModel); // ACT editModel.Name = "changed"; // ASSERT Assert.Equal("p", viewModel.Name); }
public void Facet_removes_property() { // ARRANGE var property1 = new FacetProperty(); var property2 = new FacetProperty(); var facet = new Facet("facet", property1, property2); // ACT facet.RemoveProperty(property2); // ASSERT Assert.Equal(property1, facet.Properties.Single()); }
public void Facet_adding_Property_ignores_duplicate() { // ARRANGE var facet = new Facet(); var property = new FacetProperty(); facet.AddProperty(property); // ACT facet.AddProperty(property); // ASSERT Assert.Equal(property, facet.Properties.Single()); }
public void AssignedFacetPropertyViewModel_changes_Model() { var model = new FacetProperty("p"); var values = new Dictionary <string, object> { { model.Id.ToString(), 1 } }; var viewModel = new AssignedFacetPropertyViewModel(model.ToViewModel(), values); // ACT // changing of name is not used. viewModel.Value = "value"; // ASSERT Assert.Equal("value", values.Single().Value); }
public void AssignedFacetPropertyViewModel_mirrors_Model() { var model = new FacetProperty("p"); var values = new Dictionary <string, object> { { model.Id.ToString(), 1 } }; // ACT var result = new AssignedFacetPropertyViewModel(model.ToViewModel(), new Dictionary <string, object> { { model.Id.ToString(), 1 } }); // ASSERT Assert.Equal("p", result.Property.Name); Assert.Equal(1, result.Value); }
public void TagEditModel_delays_change_at_ViewModel() { // ARRANGE var p2 = new FacetProperty("p2"); var model = new Tag("tag", new Facet("facet", new FacetProperty("p"))); var viewModel = new TagViewModel(model); var editModel = new TagEditModel(viewModel, delegate { }, delegate { }); // ACT editModel.Name = "changed"; // ASSERT Assert.Equal("changed", editModel.Name); Assert.Equal("tag", viewModel.Name); Assert.Equal("tag", model.Name); }
public void FacetPropertyEditModel_commits_changes_to_ViewModel() { // ARRANGE var model = new FacetProperty("p"); var viewModel = model.ToViewModel(); var editModel = new FacetPropertyEditModel(viewModel); editModel.Name = "changed"; // ACT editModel.CommitCommand.Execute(null); // ASSERT Assert.Equal("changed", editModel.Name); Assert.Equal("changed", viewModel.Name); Assert.Equal("changed", model.Name); }
public void AssigedFacetPropertyEditModel_delays_change_from_ViewModel() { // ARRANGE var model = new FacetProperty("p"); var values = new Dictionary <string, object> { { model.Id.ToString(), 1 } }; var viewModel = new AssignedFacetPropertyViewModel(model.ToViewModel(), values); var editModel = new AssignedFacetPropertyEditModel(viewModel); // ACT editModel.Value = "value"; // ASSERT Assert.Equal("value", editModel.Value); Assert.Equal(1, viewModel.Value); }
public void AssigedFacetPropertyEditModel_commits_change_to_ViewModel() { // ARRANGE var model = new FacetProperty("p"); var values = new Dictionary <string, object> { { model.Id.ToString(), 1 } }; var viewModel = new AssignedFacetPropertyViewModel(model.ToViewModel(), values); var editModel = new AssignedFacetPropertyEditModel(viewModel); editModel.Value = "value"; // ACT editModel.CommitCommand.Execute(null); // ASSERT Assert.Equal("value", editModel.Value); Assert.Equal("value", viewModel.Value); }
public (bool hasValue, object?value) TryGetFacetProperty(FacetProperty facetProperty) => (this.Values.TryGetValue(facetProperty.Id.ToString(), out var value), value);
protected internal Property(FacetProperty property) { this.property = property; }
public static FacetPropertyViewModel ToViewModel(this FacetProperty property) => new FacetPropertyViewModel(property);
public Item(FacetProperty property) { this.facetProperty = property; }
/// <summary> /// from an entity and a tag retreuev all properties with value /// </summary> /// <param name="thisEntity"></param> /// <param name="assignedTag"></param> /// <returns></returns> public static (string tagName, string propertyName, bool has, object?value) AssignedPropertyValue(this Entity thisEntity, Tag assignedTag, FacetProperty facetProperty) => thisEntity.TryGetFacetProperty(facetProperty) switch
public (bool, object) TryGetFacetProperty(FacetProperty facetProperty) { return(this.Values.TryGetValue(facetProperty.Id.ToString(), out var value), value); }
public void SetFacetProperty <T>(FacetProperty facetProperty, T value) { this.Values[facetProperty.Id.ToString()] = value; }
public Item(Entity entity, FacetProperty property) { this.entity = entity; this.assignedProperty = property; }