Beispiel #1
0
        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);
        }
Beispiel #2
0
 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)}");
     }
 }
Beispiel #3
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }
Beispiel #9
0
        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());
        }
Beispiel #10
0
        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);
        }
Beispiel #13
0
        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);
        }
Beispiel #15
0
        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);
        }
Beispiel #16
0
        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);
        }
Beispiel #17
0
 public (bool hasValue, object?value) TryGetFacetProperty(FacetProperty facetProperty)
 => (this.Values.TryGetValue(facetProperty.Id.ToString(), out var value), value);
Beispiel #18
0
 protected internal Property(FacetProperty property)
 {
     this.property = property;
 }
Beispiel #19
0
 public static FacetPropertyViewModel ToViewModel(this FacetProperty property) => new FacetPropertyViewModel(property);
Beispiel #20
0
 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
Beispiel #22
0
 public (bool, object) TryGetFacetProperty(FacetProperty facetProperty)
 {
     return(this.Values.TryGetValue(facetProperty.Id.ToString(), out var value), value);
 }
Beispiel #23
0
 public void SetFacetProperty <T>(FacetProperty facetProperty, T value)
 {
     this.Values[facetProperty.Id.ToString()] = value;
 }
Beispiel #24
0
 public Item(Entity entity, FacetProperty property)
 {
     this.entity           = entity;
     this.assignedProperty = property;
 }