From 97e11c790fe074bd6201a7f392bfc964bd471d02 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Fri, 2 Apr 2010 16:38:23 +0000 Subject: [PATCH] A few more libpbd test tweaks. git-svn-id: svn://localhost/ardour2/branches/3.0@6839 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/pbd/test/scalar_properties.cc | 26 ++++++++++++++++++++++++-- libs/pbd/test/scalar_properties.h | 2 ++ libs/pbd/test/testrunner.cc | 3 +++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/libs/pbd/test/scalar_properties.cc b/libs/pbd/test/scalar_properties.cc index 05d97a7ad1..eff640c6d1 100644 --- a/libs/pbd/test/scalar_properties.cc +++ b/libs/pbd/test/scalar_properties.cc @@ -1,26 +1,37 @@ #include "scalar_properties.h" +CPPUNIT_TEST_SUITE_REGISTRATION (ScalarPropertiesTest); + +using namespace std; using namespace PBD; namespace Properties { PBD::PropertyDescriptor fred; }; +void +ScalarPropertiesTest::make_property_quarks () +{ + Properties::fred.property_id = g_quark_from_static_string ("fred"); +} + ScalarPropertiesTest::ScalarPropertiesTest () : _fred (Properties::fred, 0) { - } void ScalarPropertiesTest::testBasic () { CPPUNIT_ASSERT (_fred.changed() == false); - + _fred = 4; CPPUNIT_ASSERT (_fred == 4); CPPUNIT_ASSERT (_fred.changed() == true); + _fred.clear_history (); + CPPUNIT_ASSERT (_fred.changed() == false); + _fred = 5; CPPUNIT_ASSERT (_fred == 5); CPPUNIT_ASSERT (_fred.changed() == true); @@ -28,4 +39,15 @@ ScalarPropertiesTest::testBasic () PropertyList undo; PropertyList redo; _fred.diff (undo, redo); + + CPPUNIT_ASSERT (undo.size() == 1); + CPPUNIT_ASSERT (redo.size() == 1); + + PropertyTemplate* t = dynamic_cast*> (undo.begin()->second); + CPPUNIT_ASSERT (t); + CPPUNIT_ASSERT (t->val() == 4); + + t = dynamic_cast*> (redo.begin()->second); + CPPUNIT_ASSERT (t); + CPPUNIT_ASSERT (t->val() == 5); } diff --git a/libs/pbd/test/scalar_properties.h b/libs/pbd/test/scalar_properties.h index 04291e66e9..6175aeacfe 100644 --- a/libs/pbd/test/scalar_properties.h +++ b/libs/pbd/test/scalar_properties.h @@ -12,6 +12,8 @@ public: ScalarPropertiesTest (); void testBasic (); + static void make_property_quarks (); + private: PBD::Property _fred; }; diff --git a/libs/pbd/test/testrunner.cc b/libs/pbd/test/testrunner.cc index 7c4d893221..1512ebd024 100755 --- a/libs/pbd/test/testrunner.cc +++ b/libs/pbd/test/testrunner.cc @@ -4,10 +4,13 @@ #include #include #include +#include "scalar_properties.h" int main () { + ScalarPropertiesTest::make_property_quarks (); + CppUnit::TestResult testresult; CppUnit::TestResultCollector collectedresults;