#include "UnitTestPCH.h" #include "utSharedPPData.h" CPPUNIT_TEST_SUITE_REGISTRATION (SharedPPDataTest); static bool destructed; struct TestType { ~TestType() { destructed = true; } }; // ------------------------------------------------------------------------------------------------ void SharedPPDataTest :: setUp (void) { shared = new SharedPostProcessInfo(); destructed = false; } // ------------------------------------------------------------------------------------------------ void SharedPPDataTest :: tearDown (void) { } // ------------------------------------------------------------------------------------------------ void SharedPPDataTest :: testPODProperty (void) { int i = 5; shared->AddProperty("test",i); int o; CPPUNIT_ASSERT(shared->GetProperty("test",o) && 5 == o); CPPUNIT_ASSERT(!shared->GetProperty("test2",o) && 5 == o); float f = 12.f, m; shared->AddProperty("test",f); CPPUNIT_ASSERT(shared->GetProperty("test",m) && 12.f == m); } // ------------------------------------------------------------------------------------------------ void SharedPPDataTest :: testPropertyPointer (void) { int *i = new int[35]; shared->AddProperty("test16",i); int* o; CPPUNIT_ASSERT(shared->GetProperty("test16",o) && o == i); shared->RemoveProperty("test16"); CPPUNIT_ASSERT(!shared->GetProperty("test16",o)); } // ------------------------------------------------------------------------------------------------ void SharedPPDataTest :: testPropertyDeallocation (void) { TestType *out, * pip = new TestType(); shared->AddProperty("quak",pip); CPPUNIT_ASSERT(shared->GetProperty("quak",out) && out == pip); delete shared; CPPUNIT_ASSERT(destructed); }