Tests: Add general tests for modules
The idea of these tests is to check whether the modules will work with different kinds of inputs. The modules should be able to initialize or return an error indication. But in all cases they should be able to handle default arguments all different inputs
This commit is contained in:
@@ -19,13 +19,14 @@
|
||||
|
||||
/**
|
||||
* \file TestModuleCreate.cpp
|
||||
* \brief CalypModuleIf testing for YUV420p sequences
|
||||
* \brief CalypModuleIf testing create
|
||||
*/
|
||||
|
||||
#include "CalypFrame.h"
|
||||
#include "CalypModulesFactory.h"
|
||||
#include "CalypStream.h"
|
||||
#include "gtest/gtest.h"
|
||||
#include "lib/CalypFrame.h"
|
||||
#include "lib/CalypModuleIf.h"
|
||||
#include "lib/CalypStream.h"
|
||||
#include "modules/CalypModulesFactory.h"
|
||||
|
||||
class TestModuleCreate : public ::testing::Test
|
||||
{
|
||||
@@ -35,6 +36,8 @@ protected:
|
||||
// Can be omitted if not needed.
|
||||
static void SetUpTestCase()
|
||||
{
|
||||
ClpString moduleName = CALYP_TEST_MODULE_NAME;
|
||||
|
||||
pcStream = new CalypStream;
|
||||
pcStream->open( ClpString( CALYP_TEST_DATA_DIR ) + ClpString( "/BasketballDrill_F10_832x480_yuv420p.yuv" ), 832, 480, 0, 8,
|
||||
CLP_BIG_ENDIAN, 1, true );
|
||||
@@ -50,66 +53,65 @@ protected:
|
||||
pcStream = NULL;
|
||||
}
|
||||
|
||||
// Some expensive resource shared by all tests.
|
||||
static CalypStream* pcStream;
|
||||
static CalypFrame* pcFrame;
|
||||
static CalypModuleIf* pcModule;
|
||||
static ClpString sModuleName;
|
||||
};
|
||||
|
||||
CalypStream* TestModuleCreate::pcStream = NULL;
|
||||
CalypFrame* TestModuleCreate::pcFrame = NULL;
|
||||
ClpString TestModuleCreate::sModuleName = CALYP_TEST_MODULE_NAME;
|
||||
|
||||
TEST_F( TestModuleCreate, FIND_MODULE )
|
||||
{
|
||||
CalypModuleIf* module;
|
||||
CalypModulesFactoryMap& moduleFactoryMap = CalypModulesFactory::Get()->getMap();
|
||||
CalypModulesFactoryMap::iterator it = moduleFactoryMap.begin();
|
||||
for( unsigned int i = 0; it != moduleFactoryMap.end(); ++it, i++ )
|
||||
// Called before each test
|
||||
void SetUp()
|
||||
{
|
||||
if( strcmp( it->first, sModuleName.c_str() ) == 0 )
|
||||
ClpString moduleName = CALYP_TEST_MODULE_NAME;
|
||||
|
||||
CalypModulesFactoryMap& moduleFactoryMap = CalypModulesFactory::Get()->getMap();
|
||||
CalypModulesFactoryMap::iterator it = moduleFactoryMap.begin();
|
||||
for( unsigned int i = 0; it != moduleFactoryMap.end(); ++it, i++ )
|
||||
{
|
||||
module = it->second();
|
||||
break;
|
||||
if( strcmp( it->first, moduleName.c_str() ) == 0 )
|
||||
{
|
||||
pcModule = it->second();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
EXPECT_NE( module, nullptr );
|
||||
module->Delete();
|
||||
void TearDown()
|
||||
{
|
||||
pcModule->Delete();
|
||||
}
|
||||
|
||||
CalypModuleIf* pcModule;
|
||||
|
||||
// Some expensive resource shared by all tests.
|
||||
static CalypStream* pcStream;
|
||||
};
|
||||
|
||||
CalypStream* TestModuleCreate::pcStream = NULL;
|
||||
|
||||
TEST_F( TestModuleCreate, FIND_MODULE )
|
||||
{
|
||||
EXPECT_NE( pcModule, nullptr );
|
||||
}
|
||||
|
||||
TEST_F( TestModuleCreate, CREATE_OK )
|
||||
{
|
||||
CalypModuleIf* module;
|
||||
CalypModulesFactoryMap& moduleFactoryMap = CalypModulesFactory::Get()->getMap();
|
||||
CalypModulesFactoryMap::iterator it = moduleFactoryMap.begin();
|
||||
for( unsigned int i = 0; it != moduleFactoryMap.end(); ++it, i++ )
|
||||
bool moduleRequireOptions = false;
|
||||
if( pcModule->m_uiModuleRequirements & CLP_MODULE_REQUIRES_OPTIONS )
|
||||
{
|
||||
if( strcmp( it->first, sModuleName.c_str() ) == 0 )
|
||||
{
|
||||
module = it->second();
|
||||
break;
|
||||
}
|
||||
moduleRequireOptions = true;
|
||||
}
|
||||
EXPECT_NE( module, nullptr );
|
||||
|
||||
bool moduleCreated = false;
|
||||
std::vector<CalypFrame*> apcFrameList;
|
||||
apcFrameList.clear();
|
||||
for( unsigned int i = 0; i < module->m_uiNumberOfFrames; i++ )
|
||||
for( unsigned int i = 0; i < pcModule->m_uiNumberOfFrames; i++ )
|
||||
{
|
||||
apcFrameList.push_back( pcStream->getCurrFrame() );
|
||||
pcStream->setNextFrame();
|
||||
pcStream->readNextFrame();
|
||||
}
|
||||
if( module->m_iModuleAPI >= CLP_MODULE_API_2 )
|
||||
if( pcModule->m_iModuleAPI >= CLP_MODULE_API_2 )
|
||||
{
|
||||
moduleCreated = module->create( apcFrameList );
|
||||
moduleCreated = pcModule->create( apcFrameList ) | moduleRequireOptions;
|
||||
}
|
||||
else if( module->m_iModuleAPI == CLP_MODULE_API_1 )
|
||||
else if( pcModule->m_iModuleAPI == CLP_MODULE_API_1 )
|
||||
{
|
||||
module->create( pcStream->getCurrFrame() );
|
||||
pcModule->create( pcStream->getCurrFrame() );
|
||||
moduleCreated = true;
|
||||
}
|
||||
EXPECT_EQ( moduleCreated, true );
|
||||
@@ -117,72 +119,47 @@ TEST_F( TestModuleCreate, CREATE_OK )
|
||||
|
||||
TEST_F( TestModuleCreate, CREATE_FAIL_LESS_ONE )
|
||||
{
|
||||
CalypModuleIf* module;
|
||||
CalypModulesFactoryMap& moduleFactoryMap = CalypModulesFactory::Get()->getMap();
|
||||
CalypModulesFactoryMap::iterator it = moduleFactoryMap.begin();
|
||||
for( unsigned int i = 0; it != moduleFactoryMap.end(); ++it, i++ )
|
||||
if( pcModule->m_iModuleAPI >= CLP_MODULE_API_2 )
|
||||
{
|
||||
if( strcmp( it->first, sModuleName.c_str() ) == 0 )
|
||||
std::vector<CalypFrame*> apcFrameList;
|
||||
apcFrameList.clear();
|
||||
for( unsigned int i = 0; i < pcModule->m_uiNumberOfFrames - 1; i++ )
|
||||
{
|
||||
module = it->second();
|
||||
break;
|
||||
apcFrameList.push_back( pcStream->getCurrFrame() );
|
||||
pcStream->setNextFrame();
|
||||
pcStream->readNextFrame();
|
||||
}
|
||||
bool moduleCreated = pcModule->create( apcFrameList );
|
||||
EXPECT_NE( moduleCreated, true );
|
||||
}
|
||||
EXPECT_NE( module, nullptr );
|
||||
|
||||
bool moduleCreated = false;
|
||||
std::vector<CalypFrame*> apcFrameList;
|
||||
apcFrameList.clear();
|
||||
for( unsigned int i = 0; i < module->m_uiNumberOfFrames - 1; i++ )
|
||||
{
|
||||
apcFrameList.push_back( pcStream->getCurrFrame() );
|
||||
pcStream->setNextFrame();
|
||||
pcStream->readNextFrame();
|
||||
}
|
||||
if( module->m_iModuleAPI >= CLP_MODULE_API_2 )
|
||||
{
|
||||
moduleCreated = module->create( apcFrameList );
|
||||
}
|
||||
else if( module->m_iModuleAPI == CLP_MODULE_API_1 )
|
||||
{
|
||||
module->create( pcStream->getCurrFrame() );
|
||||
moduleCreated = true;
|
||||
}
|
||||
EXPECT_NE( moduleCreated, true );
|
||||
}
|
||||
|
||||
TEST_F( TestModuleCreate, CREATE_FAIL_PLUS_ONE )
|
||||
{
|
||||
CalypModuleIf* module;
|
||||
CalypModulesFactoryMap& moduleFactoryMap = CalypModulesFactory::Get()->getMap();
|
||||
CalypModulesFactoryMap::iterator it = moduleFactoryMap.begin();
|
||||
for( unsigned int i = 0; it != moduleFactoryMap.end(); ++it, i++ )
|
||||
if( pcModule->m_iModuleAPI >= CLP_MODULE_API_2 )
|
||||
{
|
||||
if( strcmp( it->first, sModuleName.c_str() ) == 0 )
|
||||
std::vector<CalypFrame*> apcFrameList;
|
||||
apcFrameList.clear();
|
||||
for( unsigned int i = 0; i < pcModule->m_uiNumberOfFrames + 1; i++ )
|
||||
{
|
||||
module = it->second();
|
||||
break;
|
||||
apcFrameList.push_back( NULL );
|
||||
}
|
||||
bool moduleCreated = pcModule->create( apcFrameList );
|
||||
EXPECT_NE( moduleCreated, true );
|
||||
}
|
||||
EXPECT_NE( module, nullptr );
|
||||
}
|
||||
|
||||
bool moduleCreated = false;
|
||||
std::vector<CalypFrame*> apcFrameList;
|
||||
apcFrameList.clear();
|
||||
for( unsigned int i = 0; i < module->m_uiNumberOfFrames + 1; i++ )
|
||||
TEST_F( TestModuleCreate, CREATE_FAIL_NULL_FRAME )
|
||||
{
|
||||
if( pcModule->m_iModuleAPI >= CLP_MODULE_API_2 )
|
||||
{
|
||||
apcFrameList.push_back( pcStream->getCurrFrame() );
|
||||
pcStream->setNextFrame();
|
||||
pcStream->readNextFrame();
|
||||
std::vector<CalypFrame*> apcFrameList;
|
||||
apcFrameList.clear();
|
||||
for( unsigned int i = 0; i < pcModule->m_uiNumberOfFrames - 1; i++ )
|
||||
{
|
||||
apcFrameList.push_back( NULL );
|
||||
}
|
||||
bool moduleCreated = pcModule->create( apcFrameList );
|
||||
EXPECT_NE( moduleCreated, true );
|
||||
}
|
||||
if( module->m_iModuleAPI >= CLP_MODULE_API_2 )
|
||||
{
|
||||
moduleCreated = module->create( apcFrameList );
|
||||
}
|
||||
else if( module->m_iModuleAPI == CLP_MODULE_API_1 )
|
||||
{
|
||||
module->create( pcStream->getCurrFrame() );
|
||||
moduleCreated = true;
|
||||
}
|
||||
EXPECT_NE( moduleCreated, true );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user