📄 ctokenreadertester.cpp
字号:
void CTokenReaderTester::ReadCodeToken_UINT_PFReadToken_int_BOOL()
{
TEST_BEGIN(CTokenReader::ReadCodeToken(UINT,PFReadToken,int,BOOL));
CToken* ret;
//$$CASE_BEGIN(ReadCodeToken_UINT_PFReadToken_int_BOOL())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
UINT iType = TT_WORD;
PFReadToken pf = &CToken::ReadWord;
char temp[1024] = "this is a word";
pObj->mpCode = temp;
int iOffset = 0;
BOOL iForeSpace = TRUE;
TEST_RUN( ret = pObj->ReadCodeToken(iType, pf, iOffset, iForeSpace) );
TEST_ASSERT( strcmp(ret->GetContent(), "this") == 0 );
delete ret;//!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-26 9:57:19]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
UINT iType = TT_WORD;
PFReadToken pf = &CToken::ReadWord;
char temp[1024] = "this is a word";
pObj->mpCode = temp;
int iOffset = 0;
BOOL iForeSpace = TRUE;
TEST_RUN( ret = pObj->ReadCodeToken(iType, pf, iOffset, iForeSpace) );
TEST_ASSERT( strcmp(ret->GetContent(), "this") == 0 );
delete ret;//!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-26 9:57:19]
BVTEST_BEGIN_4(O,UINT,iType,R,0,PFReadToken,pf,R,0,int,iOffset,R,0,BOOL,iForeSpace,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据;
TEST_FILTER(pObj->mpCode != NULL);
TEST_FILTER(strlen(pObj->mpCode) > 0);
TEST_RUN( ret = pObj->ReadCodeToken(iType, pf, iOffset, iForeSpace) );
BVTEST_END(O,4)
//$$ [3] [自动] [2006-8-26 9:57:19]
//$$CASE_END(ReadCodeToken_UINT_PFReadToken_int_BOOL())
TEST_RATE(1000);
TEST_END();
}
//$$ReadCodeToken_UINT_PFReadToken_int_BOOL()
void CTokenReaderTester::TokenListToString_CStringR_CTokenListR_POSITIONR_UINT_UINT_UINT()
{
TEST_BEGIN(CTokenReader::TokenListToString(CString&,CTokenList&,POSITION&,UINT,UINT,UINT));
//$$CASE_BEGIN(TokenListToString_CStringR_CTokenListR_POSITIONR_UINT_UINT_UINT())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oStr;
CTokenList ioList;
pObj->ReadTokenList(ioList, "const int& ri, const CString* ps");
POSITION ioPos = ioList.GetHeadPosition();
UINT iEndType = TT_COMMA;
UINT iSkipBeginType = TT_UNDEFINED;
UINT iSkipEndType = TT_UNDEFINED;
TEST_RUN( pObj->TokenListToString(oStr, ioList, ioPos, iEndType, iSkipBeginType, iSkipEndType) );
TEST_ASSERT( oStr == "const int& ri" );
pObj->ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-26 10:44:59]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oStr;
CTokenList ioList;
pObj->ReadTokenList(ioList, "const int* pi, const CString* ps");
POSITION ioPos = ioList.GetHeadPosition();
UINT iEndType = TT_COMMA;
UINT iSkipBeginType = TT_UNDEFINED;
UINT iSkipEndType = TT_UNDEFINED;
TEST_RUN( pObj->TokenListToString(oStr, ioList, ioPos, iEndType, iSkipBeginType, iSkipEndType) );
TEST_ASSERT( oStr == "const int* pi" );
pObj->ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-26 10:44:59]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oStr;
CTokenList ioList;
pObj->ReadTokenList(ioList, "CList<CString*, CString*>* list, const CString* ps");
POSITION ioPos = ioList.GetHeadPosition();
UINT iEndType = TT_COMMA;
UINT iSkipBeginType = TT_LT;
UINT iSkipEndType = TT_GT;
TEST_RUN( pObj->TokenListToString(oStr, ioList, ioPos, iEndType, iSkipBeginType, iSkipEndType) );
TEST_ASSERT( oStr == "CList<CString*, CString*>* list" );
pObj->ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-8-26 10:44:59]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oStr;
CTokenList ioList;
pObj->ReadTokenList(ioList, "); kdiek");
POSITION ioPos = ioList.GetHeadPosition();
UINT iEndType = TT_COMMA;
UINT iSkipBeginType = TT_LT;
UINT iSkipEndType = TT_GT;
TEST_RUN( pObj->TokenListToString(oStr, ioList, ioPos, iEndType, iSkipBeginType, iSkipEndType) );
TEST_ASSERT( oStr == "" );
pObj->ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [4] [正常] [2006-8-26 10:49:3]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oStr;
CTokenList ioList;
pObj->ReadTokenList(ioList, "arg); kdiek");
POSITION ioPos = ioList.GetHeadPosition();
UINT iEndType = TT_COMMA;
UINT iSkipBeginType = TT_LT;
UINT iSkipEndType = TT_GT;
TEST_RUN( pObj->TokenListToString(oStr, ioList, ioPos, iEndType, iSkipBeginType, iSkipEndType) );
TEST_ASSERT( oStr == "arg" );
pObj->ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [5] [正常] [2006-8-26 10:49:33]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oStr;
CTokenList ioList;
pObj->ReadTokenList(ioList, "(CStringList*)CList<CString*, CString*>* list, const CString* ps");
POSITION ioPos = ioList.GetHeadPosition();
UINT iEndType = TT_COMMA;
UINT iSkipBeginType = TT_LT;
UINT iSkipEndType = TT_GT;
TEST_RUN( pObj->TokenListToString(oStr, ioList, ioPos, iEndType, iSkipBeginType, iSkipEndType) );
TEST_ASSERT( oStr == "(CStringList*)CList<CString*, CString*>* list" );
pObj->ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [6] [正常] [2006-8-26 10:44:59]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oStr;
CTokenList ioList;
pObj->ReadTokenList(ioList, "");
POSITION ioPos = ioList.GetHeadPosition();
UINT iEndType = TT_COMMA;
UINT iSkipBeginType = TT_UNDEFINED;
UINT iSkipEndType = TT_UNDEFINED;
TEST_RUN( pObj->TokenListToString(oStr, ioList, ioPos, iEndType, iSkipBeginType, iSkipEndType) );
TEST_ASSERT( oStr == "" );
pObj->ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [7] [正常] [2006-8-26 10:44:59]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oStr;
CTokenList ioList;
pObj->ReadTokenList(ioList, "CMyClass.h");
POSITION ioPos = ioList.GetHeadPosition();
UINT iEndType = TT_UNDEFINED;
UINT iSkipBeginType = TT_UNDEFINED;
UINT iSkipEndType = TT_UNDEFINED;
TEST_RUN( pObj->TokenListToString(oStr, ioList, ioPos, iEndType, iSkipBeginType, iSkipEndType) );
TEST_ASSERT( oStr == "CMyClass.h" );
pObj->ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [8] [正常] [2006-8-28 17:36:16]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oStr;
CTokenList ioList;
pObj->ReadTokenList(ioList, "(CStringList*))CList<CString*, CString*>* list, const CString* ps");
POSITION ioPos = ioList.GetHeadPosition();
UINT iEndType = TT_COMMA;
UINT iSkipBeginType = TT_LT;
UINT iSkipEndType = TT_GT;
TEST_RUN( pObj->TokenListToString(oStr, ioList, ioPos, iEndType, iSkipBeginType, iSkipEndType) );
TEST_ASSERT( oStr == "(CStringList*)" );
pObj->ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [9] [正常] [2006-8-29 16:51:5]
//??BVTEST_BEGIN_6(O,CString,oStr,R,0,CTokenList,ioList,R,0,POSITION,ioPos,R,0,UINT,iEndType,R,0,UINT,iSkipBeginType,R,1,UINT,iSkipEndType,R,2)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->TokenListToString(oStr, ioList, ioPos, iEndType, iSkipBeginType, iSkipEndType) );
//TEST_ASSERT();
//??BVTEST_END(O,6)
//$$ [10] [自动] [2006-8-26 10:44:59]
//$$CASE_END(TokenListToString_CStringR_CTokenListR_POSITIONR_UINT_UINT_UINT())
TEST_RATE(1000);
TEST_END();
}
//$$TokenListToString_CStringR_CTokenListR_POSITIONR_UINT_UINT_UINT()
void CTokenReaderTester::BeforeNextToken_UINTR()
{
TEST_BEGIN(CTokenReader::BeforeNextToken(UINT&));
BOOL ret;
//$$CASE_BEGIN(BeforeNextToken_UINTR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
char temp[1024] = " \n\n \r A";
pObj->mpCode = temp;
pObj->Init();
UINT oColumns = 0;
TEST_RUN( ret = pObj->BeforeNextToken(oColumns) );
TEST_ASSERT( ret == TRUE );
TEST_ASSERT( strcmp(pObj->mpCode, "\n\n \r A") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-26 15:16:49]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
char temp[1024] = " \r \t \n\nA";
pObj->mpCode = temp;
pObj->Init();
UINT oColumns = 0;
TEST_RUN( ret = pObj->BeforeNextToken(oColumns) );
TEST_ASSERT( ret == TRUE );
TEST_ASSERT( strcmp(pObj->mpCode, "\n\nA") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-26 15:16:49]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
char temp[1024] = " \r \\ \n\nA";
pObj->mpCode = temp;
pObj->Init();
UINT oColumns = 0;
TEST_RUN( ret = pObj->BeforeNextToken(oColumns) );
TEST_ASSERT( ret == TRUE );
TEST_ASSERT( strcmp(pObj->mpCode, "\\ \n\nA") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-8-26 15:16:49]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
char temp[1024] = "";
pObj->mpCode = temp;
pObj->Init();
UINT oColumns = 0;
TEST_RUN( ret = pObj->BeforeNextToken(oColumns) );
TEST_ASSERT( ret == FALSE );
TEST_ASSERT( strcmp(pObj->mpCode, "") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [4] [正常] [2006-8-26 15:16:49]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
pObj->mpCode = NULL;
UINT oColumns = 0;
TEST_RUN( ret = pObj->BeforeNextToken(oColumns) );
TEST_ASSERT( ret == FALSE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [5] [正常] [2006-8-26 15:16:49]
BVTEST_BEGIN_1(O,UINT,oColumns,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
TEST_RUN( ret = pObj->BeforeNextToken(oColumns) );
//TEST_ASSERT();
BVTEST_END(O,1)
//$$ [6] [自动] [2006-8-26 15:16:49]
//$$CASE_END(BeforeNextToken_UINTR())
TEST_RATE(1000);
TEST_END();
}
//$$BeforeNextToken_UINTR()
void CTokenReaderTester::TokenListToCString_CStringR_CTokenListR_POSITIONR_UINT_UINT_UINT()
{
TEST_BEGIN(CTokenReader::TokenListToCString(CString&,CTokenList&,POSITION&,UINT,UINT,UINT));
BOOL ret;
//$$CASE_BEGIN(TokenListToCString_CStringR_CTokenListR_POSITIONR_UINT_UINT_UINT())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oStr;
CTokenList ioList;
pObj->ReadTokenList(ioList, "const int& ri, const CString* ps");
POSITION ioPos = ioList.GetHeadPosition();
UINT iEndType = TT_UNDEFINED;
UINT iSkipBeginType = TT_UNDEFINED;
UINT iSkipEndType = TT_UNDEFINED;
TEST_RUN( ret = pObj->TokenListToCString(oStr, ioList, ioPos, iEndType, iSkipBeginType, iSkipEndType) );
LPCTSTR out = "\"const int& ri, const CString* ps\""; //!
TEST_ASSERT( oStr == out );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-29 9:29:30]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oStr;
CTokenList ioList;
pObj->ReadTokenList(ioList, "const int& \"ri, const CString* ps");
POSITION ioPos = ioList.GetHeadPosition();
UINT iEndType = TT_UNDEFINED;
UINT iSkipBeginType = TT_UNDEFINED;
UINT iSkipEndType = TT_UNDEFINED;
TEST_RUN( ret = pObj->TokenListToCString(oStr, ioList, ioPos, iEndType, iSkipBeginType, iSkipEndType) );
LPCTSTR out = "\"const int& \\\"ri, const CString* ps\""; //!
TEST_ASSERT( oStr == out );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-29 10:32:38]
BVTEST_BEGIN_6(O,CString,oStr,R,0,CTokenList,ioList,R,0,POSITION,ioPos,R,0,UINT,iEndType,R,0,UINT,iSkipBeginType,R,1,UINT,iSkipEndType,R,2)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
TEST_RUN( ret = pObj->TokenListToCString(oStr, ioList, ioPos, iEndType, iSkipBeginType, iSkipEndType) );
//TEST_ASSERT();
BVTEST_END(O,6)
//$$ [3] [自动] [2006-8-29 9:29:30]
//$$CASE_END(TokenListToCString_CStringR_CTokenListR_POSITIONR_UINT_UINT_UINT())
TEST_RATE(1000);
TEST_END();
}
//$$TokenListToCString_CStringR_CTokenListR_POSITIONR_UINT_UINT_UINT()
void CTokenReaderTester::ReadTokenList_CTokenListR_LPCTSTR()
{
TEST_BEGIN(CTokenReader::ReadTokenList(CTokenList&,LPCTSTR));
//$$CASE_BEGIN(ReadTokenList_CTokenListR_LPCTSTR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList oList;
LPCTSTR ipCode = "int i=0; //token";
TEST_RUN( pObj->ReadTokenList(oList, ipCode) );
pObj->ClearTokenList(oList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-29 16:38:14]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList oList;
LPCTSTR ipCode = "char ch = \'\'\'//token";
TEST_RUN( pObj->ReadTokenList(oList, ipCode) );
pObj->ClearTokenList(oList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-9-12 18:23:9]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList oList;
LPCTSTR ipCode = "char ch = \'\\\'//token";
TEST_RUN( pObj->ReadTokenList(oList, ipCode) );
pObj->ClearTokenList(oList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-9-12 18:23:55]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList oList;
LPCTSTR ipCode = "char ch = \'\\\',//token";
TEST_RUN( pObj->ReadTokenList(oList, ipCode) );
pObj->ClearTokenList(oList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [4] [正常] [2006-9-12 18:36:22]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList oList;
LPCTSTR ipCode = "char ch = \'\'\',//token";
TEST_RUN( pObj->ReadTokenList(oList, ipCode) );
pObj->ClearTokenList(oList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [5] [正常] [2006-9-12 18:47:44]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList oList;
LPCTSTR ipCode = "if \"#include \"";
TEST_RUN( pObj->ReadTokenList(oList, ipCode) );
pObj->ClearTokenList(oList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [6] [正常] [2006-9-23 12:39:32]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList oList;
LPCTSTR ipCode = "if(code.IsBeginOf(\"#include \", FALSE))";
TEST_RUN( pObj->ReadTokenList(oList, ipCode) );
pObj->ClearTokenList(oList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [7] [正常] [2006-9-23 12:40:28]
BVTEST_BEGIN_2(O,CTokenList,oList,R,0,LPCTSTR,ipCode,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
TEST_RUN( pObj->ReadTokenList(oList, ipCode) );
//TEST_ASSERT();
BVTEST_END(O,2)
//$$ [8] [自动] [2006-8-29 16:38:14]
//$$CASE_END(ReadTokenList_CTokenListR_LPCTSTR())
TEST_RATE(1000);
TEST_END();
}
//$$ReadTokenList_CTokenListR_LPCTSTR()
void CTokenReaderTester::ClearTokenList_CTokenListR()
{
TEST_BEGIN(CTokenReader::ClearTokenList(CTokenList&));
//$$CASE_BEGIN(ClearTokenList_CTokenListR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList ;
pObj->ReadTokenList(iList, "for(int i=0; i<10; i++)");
TEST_RUN( pObj->ClearTokenList(iList) );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-29 16:46:5]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
pObj->ReadTokenList(iList, "");
TEST_RUN( pObj->ClearTokenList(iList) );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-29 16:48:56]
BVTEST_BEGIN_1(O,CTokenList,iList,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
TEST_RUN( pObj->ClearTokenList(iList) );
//TEST_ASSERT();
BVTEST_END(O,1)
//$$ [3] [自动] [2006-8-29 16:46:5]
//$$CASE_END(ClearTokenList_CTokenListR())
TEST_RATE(1000);
TEST_END();
}
//$$ClearTokenList_CTokenListR()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -