60 lines
1.2 KiB
C++
60 lines
1.2 KiB
C++
|
|
#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);
|
|
}
|