Files
2022-10-26 12:25:11 +08:00

72 lines
1.2 KiB
C++

#include "SunClientPrecompiledHeader.h"
#include "testcasefactory.h"
#include "TestCaseChat.h"
#include "TestCaseMap.h"
SUN_STRING TestCaseNames[TestCaseFactory::TEST_CASE_MAX] =
{
_T("FormatText"), // TEST_CASE_FORMATTEXT
_T("CHAT"), // TEST_CASE_CHAT
_T("Map"), // TEST_CASE_MAP
_T("BATTLEZONE"), // TEST_BATTLEZONE
};
TestCaseFactory::TestCaseFactory(void)
{
}
TestCaseFactory::~TestCaseFactory(void)
{
}
TestCase *
TestCaseFactory::MakeTestCase( SUN_STRING strTestCaseName )
{
UiTestCaseType eType = TEST_CASE_NONE;
TestCase * pTestCase = NULL;
for (int i = 0; i < TEST_CASE_MAX; ++i)
{
if ( _Strncmp(
(TCHAR *)(const TCHAR *)TestCaseNames[i].c_str(),
_tcslen(TestCaseNames[i].c_str()),
(TCHAR *)(const TCHAR *)strTestCaseName.c_str(),
_tcslen(TestCaseNames[i].c_str()) ) )
{
break;
}
}
eType = (UiTestCaseType)i;
switch (eType )
{
case TEST_CASE_FORMATTEXT:
{
pTestCase = new TestCaseFormatText;
}
break;
case TEST_CASE_CHAT:
{
pTestCase = new TestCaseChat;
}
break;
case TEST_CASE_MAP:
{
pTestCase = new TestCaseMap;
}
break;
case TEST_CASE_NONE:
case TEST_CASE_MAX:
default:
break;
}
return pTestCase;
}