📄 ccppparsertester.cpp
字号:
//$$ [1] [正常] [2006-8-23 18:56:20]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
char temp[1024] = "L1\nL2\nL3\nL4//akee\nL5\nL6\nL7//kaiek";
char* ipCode = temp;
TEST_RUN( ret = pObj->ParseCode(ipCode) );
TEST_ASSERT( ret == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-26 20:46:42]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
char temp[1024] = "L1\nL2\nL3\nL4/*akee\nL5\nL6\nL7*/kaiek";
char* ipCode = temp;
TEST_RUN( ret = pObj->ParseCode(ipCode) );
TEST_ASSERT( ret == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-8-23 18:56:20]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
char temp[1024] = "kakeie L\"akdk\"kdke";
char* ipCode = temp;
TEST_RUN( ret = pObj->ParseCode(ipCode) );
TEST_ASSERT( ret == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [4] [正常] [2006-8-23 18:56:20]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
char temp[1024] = "kakeie L\'a\'kdke";
char* ipCode = temp;
TEST_RUN( ret = pObj->ParseCode(ipCode) );
TEST_ASSERT( ret == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [5] [正常] [2006-8-23 18:56:20]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
char temp[1024] = "kakeie \'a\'kdke";
char* ipCode = temp;
TEST_RUN( ret = pObj->ParseCode(ipCode) );
TEST_ASSERT( ret == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [6] [正常] [2006-8-23 18:56:20]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
char temp[1024] = "kakeie \"akdk\"kdke";
char* ipCode = temp;
TEST_RUN( ret = pObj->ParseCode(ipCode) );
TEST_ASSERT( ret == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [7] [正常] [2006-8-23 18:56:20]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
char temp[1024] = "kakeie \"dakdk\"kdke";
char* ipCode = temp;
TEST_RUN( ret = pObj->ParseCode(ipCode) );
TEST_ASSERT( ret == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [8] [正常] [2006-8-23 18:56:20]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
char temp[1024] = "#ifndef __MYCLASS_H__\n#define __MYCLASS_H__\n#pragma once\n\n#include \"TypeDef.h\"\n#include <string>\nusing namespace std; \n\n\n#endif ";
char* ipCode = temp;
TEST_RUN( ret = pObj->ParseCode(ipCode) );
TEST_ASSERT( ret == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [9] [正常] [2006-8-24 10:14:44]
//??BVTEST_BEGIN_1(O,LPTSTR,ipCode,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( ret = pObj->ParseCode(ipCode) );
//TEST_ASSERT();
//??BVTEST_END(O,1)
//$$ [10] [自动] [2006-8-23 18:56:20]
//$$CASE_END(ParseCode_charP())
TEST_RATE(1000);
TEST_END();
}
//$$ParseCode_charP()
void CCppParserTester::ParsePreprocessor_CTokenListR_POSITIONR()
{
TEST_BEGIN(CCppParser::ParsePreprocessor(CTokenList&,POSITION&));
BOOL ret;
//$$CASE_BEGIN(ParsePreprocessor_CTokenListR_POSITIONR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList ioList;
pObj->ReadTokenList(ioList, "@ !defined _VUNIT \n");
POSITION ioPos = ioList.GetHeadPosition();
TEST_EXCEPTION()
TEST_RUN( ret = pObj->ParsePreprocessor(ioList, ioPos) );
TEST_THROW(CCodeException)
TEST_ASSERT( ret == TRUE );
pObj->ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-23 18:58:1]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList ioList;
pObj->ReadTokenList(ioList, "ifndef __MYCLASS_H__\n#define __MYCLASS_H__\n#pragma once\n\n#include \"TypeDef.h\"\n#include <string>\nusing namespace std; \n\n\n#endif ");
POSITION ioPos = ioList.GetHeadPosition();
TEST_RUN( ret = pObj->ParsePreprocessor(ioList, ioPos) );
TEST_ASSERT( ret == TRUE );
pObj->ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-24 10:8:48]
//??BVTEST_BEGIN_2(O,CTokenList,ioList,R,0,POSITION,ioPos,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( ret = pObj->ParsePreprocessor(ioList, ioPos) );
//TEST_ASSERT();
//??BVTEST_END(O,2)
//$$ [3] [自动] [2006-8-23 18:58:1]
//$$CASE_END(ParsePreprocessor_CTokenListR_POSITIONR())
TEST_RATE(1000);
TEST_END();
}
//$$ParsePreprocessor_CTokenListR_POSITIONR()
void CCppParserTester::ParseFile_LPCTSTR()
{
TEST_BEGIN(CCppParser::ParseFile(LPCTSTR));
BOOL ret;
//$$CASE_BEGIN(ParseFile_LPCTSTR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iPathName = "Data\\comment.h";
gPages.AddUserDir("Data");
gIdens.AddGlobalMacro("_VUNIT;WIN32");
TEST_RUN( ret = pObj->ParseFile(iPathName) );
TEST_ASSERT( ret == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-24 9:9:18]
BVTEST_BEGIN_1(O,LPCTSTR,iPathName,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
TEST_RUN( ret = pObj->ParseFile(iPathName) );
//TEST_ASSERT();
BVTEST_END(O,1)
//$$ [2] [自动] [2006-8-24 9:9:18]
//$$CASE_END(ParseFile_LPCTSTR())
TEST_RATE(1000);
TEST_END();
}
//$$ParseFile_LPCTSTR()
void CCppParserTester::ParsePage_CPageP()
{
TEST_BEGIN(CCppParser::ParsePage(CPage*));
BOOL ret;
//$$CASE_BEGIN(ParsePage_CPageP())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CPage ipPage("G:\\CUT\\TestStub\\Data\\testExFunction.h");
TEST_RUN( ret = pObj->ParsePage(&ipPage) );
TEST_ASSERT( ret == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-24 9:20:11]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CPage ipPage("G:\\CUT\\TestStub\\Data\\testExFunction.cpp");
TEST_RUN( ret = pObj->ParsePage(&ipPage) );
TEST_ASSERT( ret == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-24 9:23:5]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CPage ipPage("G:\\CUT\\TestStub\\Data\\notexist.h");
TEST_RUN( ret = pObj->ParsePage(&ipPage) );
TEST_ASSERT( ret == FALSE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-8-24 9:31:13]
//??BVTEST_BEGIN_1(O,CPage,ipPage,P,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( ret = pObj->ParsePage(ipPage) );
//TEST_ASSERT();
//??BVTEST_END(O,1)
//$$ [4] [自动] [2006-8-24 9:20:11]
//$$CASE_END(ParsePage_CPageP())
TEST_RATE(1000);
TEST_END();
}
//$$ParsePage_CPageP()
void CCppParserTester::ParseNameSpace_CTokenListR_POSITIONR()
{
TEST_BEGIN(CCppParser::ParseNameSpace(CTokenList&,POSITION&));
//$$CASE_BEGIN(ParseNameSpace_CTokenListR_POSITIONR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList ioList;
CTokenReader reader;
reader.ReadTokenList(ioList, " {");
POSITION ioPos = ioList.GetHeadPosition();
gScope.Init();
TEST_RUN( pObj->ParseNameSpace(ioList, ioPos) );
CString scope = gScope.GetCurrScope(); //!
TEST_ASSERT( scope == "::" );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-9-1 14:44:1]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList ioList;
CTokenReader reader;
reader.ReadTokenList(ioList, " MyNameSpace {");
POSITION ioPos = ioList.GetHeadPosition();
gScope.Init();
TEST_RUN( pObj->ParseNameSpace(ioList, ioPos) );
CString scope = gScope.GetCurrScope(); //!
TEST_ASSERT( scope == "MyNameSpace::" );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-9-1 14:29:0]
//??BVTEST_BEGIN_2(O,CTokenList,ioList,R,0,POSITION,ioPos,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->ParseNameSpace(ioList, ioPos) );
//TEST_ASSERT();
//??BVTEST_END(O,2)
//$$ [3] [自动] [2006-9-1 14:29:0]
//$$CASE_END(ParseNameSpace_CTokenListR_POSITIONR())
TEST_RATE(1000);
TEST_END();
}
//$$ParseNameSpace_CTokenListR_POSITIONR()
void CCppParserTester::ParseWord_CTokenListR_POSITIONR_POSITIONR_LPCTSTR()
{
TEST_BEGIN(CCppParser::ParseWord(CTokenList&,POSITION&,POSITION&,LPCTSTR));
//$$CASE_BEGIN(ParseWord_CTokenListR_POSITIONR_POSITIONR_LPCTSTR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList ioList;
pObj->ReadTokenList(ioList, "define _VU(1.2.2, 20060821) abcd; \n");
POSITION iCurrPos = ioList.GetHeadPosition();
POSITION ioPos = ioList.GetHeadPosition();
ioList.GetNext(ioPos);
ioList.GetNext(ioPos);
LPCTSTR iWord = "_VU";
CMacro* pMacro = new CMacro();
pMacro->SetName("_VU");
CTokenList defList;
pObj->ReadTokenList(defList, "(ver, date) Visual Unit ver date");
POSITION defPos = defList.GetHeadPosition();
pMacro->ParseContent(defList, defPos);
gIdens.AddIdentifier("_VU", ID_MACRO, pMacro);
TEST_RUN( pObj->ParseWord(ioList, ioPos, iCurrPos, iWord) );
pObj->ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-9-13 10:23:30]
//??BVTEST_BEGIN_4(O,CTokenList,ioList,R,0,POSITION,ioPos,R,0,POSITION,iCurrPos,R,1,LPCTSTR,iWord,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->ParseWord(ioList, ioPos, iCurrPos, iWord) );
//TEST_ASSERT();
//??BVTEST_END(O,4)
//$$ [2] [自动] [2006-9-13 10:23:30]
//$$CASE_END(ParseWord_CTokenListR_POSITIONR_POSITIONR_LPCTSTR())
TEST_RATE(1000);
TEST_END();
}
//$$ParseWord_CTokenListR_POSITIONR_POSITIONR_LPCTSTR()
void CCppParserTester::GotoNextLine_CTokenListR_POSITIONR_CTokenP()
{
TEST_BEGIN(CCppParser::GotoNextLine(CTokenList&,POSITION&,CToken*));
//$$CASE_BEGIN(GotoNextLine_CTokenListR_POSITIONR_CTokenP())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList ioList;
pObj->ReadTokenList(ioList, " /*kdkk*/ \n");
POSITION ioPos = ioList.GetHeadPosition();
CToken* ipCurrToken = NULL;
TEST_RUN( pObj->GotoNextLine(ioList, ioPos, ipCurrToken) );
TEST_ASSERT( ioPos == NULL );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-9-16 18:55:11]
//??BVTEST_BEGIN_3(O,CTokenList,ioList,R,0,POSITION,ioPos,R,0,CToken,ipCurrToken,P,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->GotoNextLine(ioList, ioPos, ipCurrToken) );
//TEST_ASSERT();
//??BVTEST_END(O,3)
//$$ [2] [自动] [2006-9-16 18:55:11]
//$$CASE_END(GotoNextLine_CTokenListR_POSITIONR_CTokenP())
TEST_RATE(1000);
TEST_END();
}
//$$GotoNextLine_CTokenListR_POSITIONR_CTokenP()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -