Added unit test for SharedPostProcessInfo

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@165 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
pull/1/head
aramis_acg 2008-09-27 19:26:13 +00:00
parent 9279513700
commit 832f9cf672
2 changed files with 98 additions and 0 deletions

View File

@ -0,0 +1,59 @@
#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);
}

View File

@ -0,0 +1,39 @@
#ifndef TESTPPD_H
#define TESTPPD_H
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include <aiTypes.h>
#include <aiScene.h>
#include <BaseProcess.h>
using namespace std;
using namespace Assimp;
class SharedPPDataTest : public CPPUNIT_NS :: TestFixture
{
CPPUNIT_TEST_SUITE (SharedPPDataTest);
CPPUNIT_TEST (testPODProperty);
CPPUNIT_TEST (testPropertyPointer);
CPPUNIT_TEST (testPropertyDeallocation);
CPPUNIT_TEST_SUITE_END ();
public:
void setUp (void);
void tearDown (void);
protected:
void testPODProperty (void);
void testPropertyPointer (void);
void testPropertyDeallocation (void);
private:
SharedPostProcessInfo* shared;
};
#endif