📄 cidentifierstester.cpp
字号:
/**************************************************
//$$ BEGIN
LPCTSTR@@0@2@""$0
CPage@@1@1@()
CTokenList@@1@1@()
POSITION@@0@1@0
//$$ END
**************************************************/
/**************************************************
作 者:user1
建立日期:2006-8-25
修改日期:
说 明:测试文件,用于测试[CIdentifiers]。
**************************************************/
#include "stdafx.h"
//
/////////////////////////////////////////////////////////////////////////////
#include "CIdentifiersTester.h"
//
/////////////////////////////////////////////////////////////////////////////
void CIdentifiersTester::ClassTest()
{
TEST_SOURCE_NAME(Identifiers.cpp);
CUSTOM_TEST(CIdentifiers);
//$$
TEST_CALL_BEGIN(CIdentifiers,1,0)
TEST_CALL1(Init_())//Init()
TEST_CALL1(Search_LPCTSTR())//Search(LPCTSTR)
TEST_CALL1(IsDefinedMacro_LPCTSTR_CPageP())//IsDefinedMacro(LPCTSTR,CPage*)
TEST_CALL1(AddGlobalMacro_LPCTSTR())//AddGlobalMacro(LPCTSTR)
TEST_CALL1(QueryKeyword_LPCTSTR())//QueryKeyword(LPCTSTR)
TEST_CALL1(UnwindMacro_LPCTSTR_CPageP_CTokenListR_POSITIONR())//UnwindMacro(LPCTSTR,CPage*,CTokenList&,POSITION&)
TEST_CALL_END()
//$$
}
//
/////////////////////////////////////////////////////////////////////////////
CIdentifiersTester::CIdentifiersTester()
{
pObj = 0;
}
CIdentifiersTester::~CIdentifiersTester()
{
}
void CIdentifiersTester::BeginCase(int arg)
{
switch(arg)
{
case ARG_DEFAULT:
{
pObj = new TESTCLASS();
break;
}
/*
case :
{
pObj = new TESTCLASS();
break;
}
case :
{
pObj = new TESTCLASS();
break;
}
*/
}
}
void CIdentifiersTester::EndCase(int /*arg*/)
{
delete pObj;
pObj = 0;
}
//自定义测试,用MY_ASSERT(布尔表达式)断言预期输出
/////////////////////////////////////////////////////////////////////////////
void CIdentifiersTester::CustomTest()
{
}
//
/////////////////////////////////////////////////////////////////////////////
void CIdentifiersTester::Init_()
{
TEST_BEGIN(CIdentifiers::Init());
//$$CASE_BEGIN(Init_())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
TEST_RUN( pObj->Init() );
TEST_ASSERT( pObj->Search("int3") == NULL );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-25 17:11:27]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
TEST_RUN( pObj->Init() );
TEST_ASSERT( pObj->Search("int") != NULL );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-25 11:34:47]
//??BVTEST_BEGIN_0(O)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->Init() );
//TEST_ASSERT();
//??BVTEST_END0(O)
//$$ [3] [自动] [2006-8-25 11:34:47]
//$$CASE_END(Init_())
TEST_RATE(1000);
TEST_END();
}
//$$Init_()
void CIdentifiersTester::Search_LPCTSTR()
{
TEST_BEGIN(CIdentifiers::Search(LPCTSTR));
CIdenItem* ret;
//$$CASE_BEGIN(Search_LPCTSTR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iName = "int";
TEST_RUN( ret = pObj->Search(iName) );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-25 16:2:47]
//??BVTEST_BEGIN_1(O,LPCTSTR,iName,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( ret = pObj->Search(iName) );
//TEST_ASSERT();
//??BVTEST_END(O,1)
//$$ [2] [自动] [2006-8-25 16:2:47]
//$$CASE_END(Search_LPCTSTR())
TEST_RATE(1000);
TEST_END();
}
//$$Search_LPCTSTR()
void CIdentifiersTester::IsDefinedMacro_LPCTSTR_CPageP()
{
TEST_BEGIN(CIdentifiers::IsDefinedMacro(LPCTSTR,CPage*));
BOOL ret;
//$$CASE_BEGIN(IsDefinedMacro_LPCTSTR_CPageP())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iName = "WIN32";
CPage* ipPage = NULL;
pObj->AddGlobalMacro("WIN32;_VUNIT");
TEST_RUN( ret = pObj->IsDefinedMacro(iName, ipPage) );
TEST_ASSERT( ret == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-25 16:58:47]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iName = "WIN32";
CPage ipPage("cpp.h");
pObj->AddGlobalMacro("WIN32;_VUNIT");
TEST_RUN( ret = pObj->IsDefinedMacro(iName, &ipPage) );
TEST_ASSERT( ret == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-25 17:0:9]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iName = "ABCDE";
CPage ipPage("cpp.h");
pObj->AddGlobalMacro("WIN32;_VUNIT");
TEST_RUN( ret = pObj->IsDefinedMacro(iName, &ipPage) );
TEST_ASSERT( ret == FALSE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-8-25 17:0:37]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iName = "int";
CPage ipPage("cpp.h");
pObj->AddGlobalMacro("WIN32;_VUNIT");
TEST_RUN( ret = pObj->IsDefinedMacro(iName, &ipPage) );
TEST_ASSERT( ret == FALSE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [4] [正常] [2006-8-25 17:1:3]
//??BVTEST_BEGIN_2(O,LPCTSTR,iName,R,0,CPage,ipPage,P,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( ret = pObj->IsDefinedMacro(iName, ipPage) );
//TEST_ASSERT();
//??BVTEST_END(O,2)
//$$ [5] [自动] [2006-8-25 16:58:47]
//$$CASE_END(IsDefinedMacro_LPCTSTR_CPageP())
TEST_RATE(1000);
TEST_END();
}
//$$IsDefinedMacro_LPCTSTR_CPageP()
void CIdentifiersTester::AddGlobalMacro_LPCTSTR()
{
TEST_BEGIN(CIdentifiers::AddGlobalMacro(LPCTSTR));
//$$CASE_BEGIN(AddGlobalMacro_LPCTSTR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iMacros = "WIN32;_VUNIT";
TEST_RUN( pObj->AddGlobalMacro(iMacros) );
TEST_ASSERT( pObj->IsDefinedMacro("WIN32") == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-25 17:13:47]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iMacros = "WIN32;_VUNIT";
TEST_RUN( pObj->AddGlobalMacro(iMacros) );
TEST_ASSERT( pObj->IsDefinedMacro("_VUNIT") == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-25 17:14:24]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iMacros = "";
TEST_RUN( pObj->AddGlobalMacro(iMacros) );
TEST_ASSERT( pObj->IsDefinedMacro("_VUNIT") == FALSE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-8-25 17:14:38]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iMacros = "WIN32;_VUNIT;";
TEST_RUN( pObj->AddGlobalMacro(iMacros) );
TEST_ASSERT( pObj->IsDefinedMacro("WIN32") == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [4] [正常] [2006-8-25 17:15:14]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iMacros = ";WIN32;_VUNIT;";
TEST_RUN( pObj->AddGlobalMacro(iMacros) );
TEST_ASSERT( pObj->IsDefinedMacro("WIN32") == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [5] [正常] [2006-8-25 17:15:29]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iMacros = ";WIN32;_VUNIT";
TEST_RUN( pObj->AddGlobalMacro(iMacros) );
TEST_ASSERT( pObj->IsDefinedMacro("WIN32") == TRUE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [6] [正常] [2006-8-25 17:15:59]
//??BVTEST_BEGIN_1(O,LPCTSTR,iMacros,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->AddGlobalMacro(iMacros) );
//TEST_ASSERT();
//??BVTEST_END(O,1)
//$$ [7] [自动] [2006-8-25 17:13:47]
//$$CASE_END(AddGlobalMacro_LPCTSTR())
TEST_RATE(1000);
TEST_END();
}
//$$AddGlobalMacro_LPCTSTR()
void CIdentifiersTester::QueryKeyword_LPCTSTR()
{
TEST_BEGIN(CIdentifiers::QueryKeyword(LPCTSTR));
KEYWORD ret;
//$$CASE_BEGIN(QueryKeyword_LPCTSTR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iWord = "int";
TEST_RUN( ret = pObj->QueryKeyword(iWord) );
TEST_ASSERT( ret == KEY_INT );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-26 18:15:20]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iWord = "ifndef";
TEST_RUN( ret = pObj->QueryKeyword(iWord) );
TEST_ASSERT( ret == KEY_IFNDEF );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-26 18:16:2]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iWord = "int2";
TEST_RUN( ret = pObj->QueryKeyword(iWord) );
TEST_ASSERT( ret == KEY_NOT );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-8-26 18:15:20]
//??BVTEST_BEGIN_1(O,LPCTSTR,iWord,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( ret = pObj->QueryKeyword(iWord) );
//TEST_ASSERT();
//??BVTEST_END(O,1)
//$$ [4] [自动] [2006-8-26 18:15:20]
//$$CASE_END(QueryKeyword_LPCTSTR())
TEST_RATE(1000);
TEST_END();
}
//$$QueryKeyword_LPCTSTR()
void CIdentifiersTester::UnwindMacro_LPCTSTR_CPageP_CTokenListR_POSITIONR()
{
TEST_BEGIN(CIdentifiers::UnwindMacro(LPCTSTR,CPage*,CTokenList&,POSITION&));
CIdenItem* ret;
//$$CASE_BEGIN(UnwindMacro_LPCTSTR_CPageP_CTokenListR_POSITIONR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iWord = "int";
CPage ipPage("cpp.h");
CTokenList ioList;
POSITION ioPos = ioList.GetHeadPosition();
TEST_RUN( ret = pObj->UnwindMacro(iWord, &ipPage, ioList, ioPos) );
TEST_ASSERT( ret == NULL );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-9-1 17:33:6]
//??BVTEST_BEGIN_4(O,LPCTSTR,iWord,R,0,CPage,ipPage,P,0,CTokenList,ioList,R,0,POSITION,ioPos,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( ret = pObj->UnwindMacro(iWord, ipPage, ioList, ioPos) );
//TEST_ASSERT();
//??BVTEST_END(O,4)
//$$ [2] [自动] [2006-9-1 17:33:6]
//$$CASE_END(UnwindMacro_LPCTSTR_CPageP_CTokenListR_POSITIONR())
TEST_RATE(1000);
TEST_END();
}
//$$UnwindMacro_LPCTSTR_CPageP_CTokenListR_POSITIONR()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -