public void ChangesSince()
        {
            IDictionary <string, object> map = new Dictionary <string, object>();
            PropertyValue propName           = new PropertyValue("Name", "Fiona Apple");

            map.Add(propName.Name, propName.Value);
            map.Add("Age", 24);
            MutablePropertyValues props    = new MutablePropertyValues(map);
            MutablePropertyValues newProps = new MutablePropertyValues(map);

            // change the name... this is the change we'll be looking for
            newProps.SetPropertyValueAt(new PropertyValue(propName.Name, "Naomi Woolf"), 0);
            IPropertyValues changes = newProps.ChangesSince(props);

            Assert.AreEqual(1, changes.PropertyValues.Count);
            // the name was changed, so its the name property that should be in the changed list
            Assert.IsTrue(changes.Contains("name"));

            newProps.Add(new PropertyValue("Commentator", "Naomi Woolf"));
            changes = newProps.ChangesSince(props);
            Assert.AreEqual(2, changes.PropertyValues.Count);
            // the Commentator was added, so its the Commentator property that should be in the changed list
            Assert.IsTrue(changes.Contains("commentator"));
            // the name was changed, so its the name property that should be in the changed list
            Assert.IsTrue(changes.Contains("name"));
        }
        public void ChangesSinceWithSelf()
        {
            IDictionary <string, object> map = new Dictionary <string, object>();

            map.Add("Name", "Fiona Apple");
            map.Add("Age", 24);
            MutablePropertyValues props = new MutablePropertyValues(map);

            props.Remove("name");
            // get all of the changes between self and self again (there should be none);
            IPropertyValues changes = props.ChangesSince(props);

            Assert.AreEqual(0, changes.PropertyValues.Count);
        }
 public void ChangesSinceWithSelf () 
 {
     IDictionary<string, object> map = new Dictionary<string, object>();
     map.Add("Name", "Fiona Apple");
     map.Add ("Age", 24);
     MutablePropertyValues props = new MutablePropertyValues (map);
     props.Remove ("name");
     // get all of the changes between self and self again (there should be none);
     IPropertyValues changes = props.ChangesSince (props);
     Assert.AreEqual (0, changes.PropertyValues.Count);
 }
        public void ChangesSince () 
        {
            IDictionary<string, object> map = new Dictionary<string, object>();
            PropertyValue propName = new PropertyValue("Name", "Fiona Apple");
            map.Add (propName.Name, propName.Value);
            map.Add ("Age", 24);
            MutablePropertyValues props = new MutablePropertyValues (map);
            MutablePropertyValues newProps = new MutablePropertyValues (map);

            // change the name... this is the change we'll be looking for
            newProps.SetPropertyValueAt (new PropertyValue (propName.Name, "Naomi Woolf"), 0);
            IPropertyValues changes = newProps.ChangesSince (props);
            Assert.AreEqual (1, changes.PropertyValues.Count);
            // the name was changed, so its the name property that should be in the changed list
            Assert.IsTrue (changes.Contains ("name"));

            newProps.Add (new PropertyValue ("Commentator", "Naomi Woolf"));
            changes = newProps.ChangesSince (props);
            Assert.AreEqual (2, changes.PropertyValues.Count);
            // the Commentator was added, so its the Commentator property that should be in the changed list
            Assert.IsTrue (changes.Contains ("commentator"));
            // the name was changed, so its the name property that should be in the changed list
            Assert.IsTrue (changes.Contains ("name"));
        }