191 lines
4.7 KiB
C++
191 lines
4.7 KiB
C++
|
#include <stdio.h>
|
||
|
#include <windows.h>
|
||
|
#include <commctrl.h>
|
||
|
#include <s98inc.h>
|
||
|
#include "DmoTestCases.h"
|
||
|
#include "dmotest.h"
|
||
|
|
||
|
|
||
|
/*=============================================================================
|
||
|
| MEMBER FUNCTION DEFINITIONS
|
||
|
|------------------------------------------------------------------------------
|
||
|
| CDmoTestCase1
|
||
|
\============================================================================*/
|
||
|
/*-----------------------------------------------------------------------------
|
||
|
| Function: CDmoTestCase1
|
||
|
| Purpose: Constructor (wrapper for CDmoTestCase function)
|
||
|
| Arguments: ID, Name, and container class, Function to be called by RunTest
|
||
|
| Returns: Void
|
||
|
\----------------------------------------------------------------------------*/
|
||
|
|
||
|
|
||
|
CDmoTestCase1::CDmoTestCase1( LPSTR pszNewCaseID,
|
||
|
LPSTR pszNewName,
|
||
|
DMOTESTFNPROC1 pfnNewTest,
|
||
|
CDmoTest* dmoTest)
|
||
|
|
||
|
: CDmoTestCase(pszNewCaseID, pszNewName, dmoTest),
|
||
|
pfnTest(pfnNewTest)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
/*-----------------------------------------------------------------------------
|
||
|
| Function: ~CDmoTestCase1
|
||
|
| Purpose: Destructor
|
||
|
| Arguments: None
|
||
|
| Returns: Void
|
||
|
\----------------------------------------------------------------------------*/
|
||
|
|
||
|
CDmoTestCase1::~CDmoTestCase1()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
/*-----------------------------------------------------------------------------
|
||
|
| Function: RunTest
|
||
|
| Purpose: called by runtest
|
||
|
| Arguments: None
|
||
|
| Returns: 0
|
||
|
\----------------------------------------------------------------------------*/
|
||
|
|
||
|
|
||
|
|
||
|
DWORD
|
||
|
CDmoTestCase1::RunTest()
|
||
|
{
|
||
|
LPSTR szDmoName;
|
||
|
LPSTR szDmoClsid;
|
||
|
int iNumTestFiles;
|
||
|
LPSTR szFileName;
|
||
|
DWORD dwResult = FNS_PASS;
|
||
|
|
||
|
int iNumComponent = m_pDmoTest->GetNumComponent();
|
||
|
int iNumSelectedComponent = m_pDmoTest->GetNumSelectedDmo();
|
||
|
if(iNumSelectedComponent == 0)
|
||
|
{
|
||
|
MessageBox(
|
||
|
NULL,
|
||
|
"No DMOs selected.",
|
||
|
"Error!",
|
||
|
MB_OK | MB_ICONINFORMATION);
|
||
|
|
||
|
return FNS_FAIL;
|
||
|
}
|
||
|
|
||
|
for(int i=0; i<iNumComponent; i++)
|
||
|
{
|
||
|
szDmoName = m_pDmoTest->GetDmoName(i);
|
||
|
|
||
|
if( m_pDmoTest->IsDmoSelected(i))
|
||
|
{
|
||
|
g_IShell->Log(1, "\n<=====DMO Under Test: %s.=====> \n", szDmoName);
|
||
|
|
||
|
szDmoClsid = m_pDmoTest->GetDmoClsid(i);
|
||
|
iNumTestFiles = m_pDmoTest->GetNumTestFile(i);
|
||
|
|
||
|
if( iNumTestFiles == 0)
|
||
|
{
|
||
|
|
||
|
MessageBox(
|
||
|
NULL,
|
||
|
"No test files selected.",
|
||
|
"Error!",
|
||
|
MB_OK | MB_ICONINFORMATION);
|
||
|
return FNS_FAIL;
|
||
|
}
|
||
|
|
||
|
for (int j=0; j< iNumTestFiles; j++)
|
||
|
{
|
||
|
|
||
|
szFileName = m_pDmoTest->GetFileName(i, j);
|
||
|
|
||
|
if( pfnTest(szDmoClsid, szFileName) != FNS_PASS)
|
||
|
dwResult = FNS_FAIL;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return dwResult;
|
||
|
}
|
||
|
|
||
|
/*=============================================================================
|
||
|
| MEMBER FUNCTION DEFINITIONS
|
||
|
|------------------------------------------------------------------------------
|
||
|
| CDmoTestCase2
|
||
|
\============================================================================*/
|
||
|
/*-----------------------------------------------------------------------------
|
||
|
| Function: CDmoTestCase2
|
||
|
| Purpose: Constructor (wrapper for CDmoTestCase function)
|
||
|
| Arguments: ID, Name, and container class, Function to be called by RunTest
|
||
|
| Returns: Void
|
||
|
\----------------------------------------------------------------------------*/
|
||
|
|
||
|
CDmoTestCase2::CDmoTestCase2( LPSTR pszNewCaseID,
|
||
|
LPSTR pszNewName,
|
||
|
DMOTESTFNPROC2 pfnNewTest,
|
||
|
CDmoTest* dmoTest)
|
||
|
|
||
|
: CDmoTestCase(pszNewCaseID, pszNewName, dmoTest),
|
||
|
pfnTest(pfnNewTest)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
/*-----------------------------------------------------------------------------
|
||
|
| Function: ~CDmoTestCase2
|
||
|
| Purpose: Destructor
|
||
|
| Arguments: None
|
||
|
| Returns: Void
|
||
|
\----------------------------------------------------------------------------*/
|
||
|
|
||
|
|
||
|
CDmoTestCase2::~CDmoTestCase2()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
/*-----------------------------------------------------------------------------
|
||
|
| Function: RunTest
|
||
|
| Purpose: called by runtest
|
||
|
| Arguments: None
|
||
|
| Returns: 0
|
||
|
\----------------------------------------------------------------------------*/
|
||
|
|
||
|
DWORD
|
||
|
CDmoTestCase2::RunTest()
|
||
|
{
|
||
|
LPSTR szDmoName;
|
||
|
LPSTR szDmoClsid;
|
||
|
DWORD dwResult = FNS_PASS;
|
||
|
|
||
|
int iNumComponent = m_pDmoTest->GetNumComponent();
|
||
|
int iNumSelectedComponent = m_pDmoTest->GetNumSelectedDmo();
|
||
|
if(iNumSelectedComponent == 0)
|
||
|
{
|
||
|
MessageBox(
|
||
|
NULL,
|
||
|
"No DMOs selected.",
|
||
|
"Error!",
|
||
|
MB_OK | MB_ICONINFORMATION);
|
||
|
|
||
|
return FNS_FAIL;
|
||
|
}
|
||
|
for(int i=0; i<iNumComponent; i++)
|
||
|
{
|
||
|
szDmoName = m_pDmoTest->GetDmoName(i);
|
||
|
|
||
|
if( m_pDmoTest->IsDmoSelected(i))
|
||
|
{
|
||
|
g_IShell->Log(1, "\n<=====DMO Under Test: %s.=====> \n", szDmoName);
|
||
|
szDmoClsid = m_pDmoTest->GetDmoClsid(i);
|
||
|
|
||
|
if(pfnTest(szDmoClsid) != FNS_PASS)
|
||
|
dwResult = FNS_FAIL;
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return dwResult;
|
||
|
}
|