- CPPUNIT_ASSERT (_property.changed() == false);
-
- _property = 4;
- CPPUNIT_ASSERT (_property == 4);
- CPPUNIT_ASSERT (_property.changed() == true);
-
- _property = 5;
- CPPUNIT_ASSERT (_property == 5);
- CPPUNIT_ASSERT (_property.changed() == true);
-
- PropertyList undo;
- PropertyList redo;
- _property.diff (undo, redo);
+ CPPUNIT_ASSERT (_fred.changed() == false);
+
+ _fred = 4;
+ CPPUNIT_ASSERT (_fred == 4);
+ CPPUNIT_ASSERT (_fred.changed() == true);
+
+ _fred.clear_changes ();
+ CPPUNIT_ASSERT (_fred.changed() == false);
+
+ _fred = 5;
+ CPPUNIT_ASSERT (_fred == 5);
+ CPPUNIT_ASSERT (_fred.changed() == true);
+
+ PropertyList changes;
+ _fred.get_changes_as_properties (changes, 0);
+
+ CPPUNIT_ASSERT (changes.size() == 1);
+
+ PropertyTemplate<int>* t = dynamic_cast<Property<int>*> (changes.begin()->second);
+ CPPUNIT_ASSERT (t);
+ CPPUNIT_ASSERT (t->val() == 5);