| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- #include "utImporter.h"
- CPPUNIT_TEST_SUITE_REGISTRATION (ImporterTest);
- #define AIUT_DEF_ERROR_TEXT "sorry, this is a test"
- bool TestPlugin :: CanRead( const std::string& pFile,
- IOSystem* pIOHandler) const
- {
- std::string::size_type pos = pFile.find_last_of('.');
- // no file extension - can't read
- if( pos == std::string::npos)return false;
- std::string extension = pFile.substr( pos);
- // todo ... make case-insensitive
- return (extension == ".apple" || extension == ".mac" ||
- extension == ".linux" || extension == ".windows" );
- }
- void TestPlugin :: GetExtensionList(std::string& append)
- {
- append.append("*.apple;*.mac;*.linux;*.windows");
- }
- void TestPlugin :: InternReadFile( const std::string& pFile,
- aiScene* pScene, IOSystem* pIOHandler)
- {
- throw new ImportErrorException(AIUT_DEF_ERROR_TEXT);
- }
- void ImporterTest :: setUp (void)
- {
- pImp = new Importer();
- }
- void ImporterTest :: tearDown (void)
- {
- delete pImp;
- }
- void ImporterTest :: testIntProperty (void)
- {
- bool b;
- pImp->SetPropertyInteger("quakquak",1503,&b);
- CPPUNIT_ASSERT(!b);
- CPPUNIT_ASSERT(1503 == pImp->GetPropertyInteger("quakquak",0));
- CPPUNIT_ASSERT(314159 == pImp->GetPropertyInteger("not_there",314159));
- pImp->SetPropertyInteger("quakquak",1504,&b);
- CPPUNIT_ASSERT(b);
- }
- void ImporterTest :: testFloatProperty (void)
- {
- bool b;
- pImp->SetPropertyFloat("quakquak",1503.f,&b);
- CPPUNIT_ASSERT(!b);
- CPPUNIT_ASSERT(1503.f == pImp->GetPropertyFloat("quakquak",0.f));
- CPPUNIT_ASSERT(314159.f == pImp->GetPropertyFloat("not_there",314159.f));
- }
- void ImporterTest :: testStringProperty (void)
- {
- bool b;
- pImp->SetPropertyString("quakquak","test",&b);
- CPPUNIT_ASSERT(!b);
- CPPUNIT_ASSERT("test" == pImp->GetPropertyString("quakquak","weghwekg"));
- CPPUNIT_ASSERT("ILoveYou" == pImp->GetPropertyString("not_there","ILoveYou"));
- }
- void ImporterTest :: testPluginInterface (void)
- {
- pImp->RegisterLoader(new TestPlugin());
- CPPUNIT_ASSERT(pImp->IsExtensionSupported(".apple"));
- CPPUNIT_ASSERT(pImp->IsExtensionSupported(".mac"));
- CPPUNIT_ASSERT(pImp->IsExtensionSupported(".linux"));
- CPPUNIT_ASSERT(pImp->IsExtensionSupported(".windows"));
- TestPlugin* p = (TestPlugin*) pImp->FindLoader(".windows");
- CPPUNIT_ASSERT(NULL != p);
- try {
- p->InternReadFile("",0,NULL);
- }
- catch ( ImportErrorException* ex)
- {
- CPPUNIT_ASSERT(ex->GetErrorText() == AIUT_DEF_ERROR_TEXT);
- // unregister the plugin and delete it
- pImp->UnregisterLoader(p);
- delete p;
- return;
- }
- CPPUNIT_ASSERT(false); // control shouldn't reach this point
- }
- void ImporterTest :: testExtensionCheck (void)
- {
- std::string s;
- pImp->GetExtensionList(s);
- // todo ..
- }
|