Added unit test for SharedPostProcessInfo
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@165 67173fc5-114c-0410-ac8e-9d2fd5bffc1fpull/1/head
parent
9279513700
commit
832f9cf672
|
@ -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);
|
||||||
|
}
|
|
@ -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
|
Loading…
Reference in New Issue