📄 cpagetester.cpp
字号:
/**************************************************
//$$ BEGIN
CString@@0@3@"Visual Unit"$""$"中文怎么样?"
int@INT4@0@5@-2147483647$-1$0$1$2147483647
CToken@@1@1@()
//$$ END
**************************************************/
/**************************************************
作 者:user1
建立日期:2006-9-20
修改日期:
说 明:测试文件,用于测试[CPage]。
**************************************************/
#include "stdafx.h"
//
/////////////////////////////////////////////////////////////////////////////
#include "CPageTester.h"
#include "CppParser.h"
//
/////////////////////////////////////////////////////////////////////////////
void CPageTester::ClassTest()
{
TEST_SOURCE_NAME(Page.cpp);
CUSTOM_TEST(CPage);
//$$
TEST_CALL_BEGIN(CPage,1,0)
TEST_CALL1(GetComment_CStringR_int_int())//GetComment(CString&,int,int)
TEST_CALL1(AddComment_CTokenP())//AddComment(CToken*)
TEST_CALL1(AddDividing_int())//AddDividing(int)
TEST_CALL_END()
//$$
}
//
/////////////////////////////////////////////////////////////////////////////
CPageTester::CPageTester()
{
pObj = 0;
}
CPageTester::~CPageTester()
{
}
void CPageTester::BeginCase(int arg)
{
switch(arg)
{
case ARG_DEFAULT:
{
pObj = new TESTCLASS(NULL);
break;
}
/*
case :
{
pObj = new TESTCLASS();
break;
}
case :
{
pObj = new TESTCLASS();
break;
}
*/
}
}
void CPageTester::EndCase(int /*arg*/)
{
//由于解析代码时,代码页会自动加入CPages的对象并由其删除,
//所以这里不能删除
//delete pObj;
pObj = 0;
}
//自定义测试,用MY_ASSERT(布尔表达式)断言预期输出
/////////////////////////////////////////////////////////////////////////////
void CPageTester::CustomTest()
{
}
//
/////////////////////////////////////////////////////////////////////////////
void CPageTester::GetComment_CStringR_int_int()
{
TEST_BEGIN(CPage::GetComment(CString&,int,int));
//$$CASE_BEGIN(GetComment_CStringR_int_int())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oComment;
int iLine = 9;
int iEndLine = -1;
pObj = (TESTCLASS*)gPages.AddPage("Data\\Node.h");
gpCurrPage = pObj;
CCppParser parser;
parser.ParsePage(pObj);
TEST_RUN( pObj->GetComment(oComment, iLine, iEndLine) );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-9-24 16:20:29]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oComment;
int iLine = 5;
int iEndLine = -1;
pObj = (TESTCLASS*)gPages.AddPage("Data\\comment.h");
gpCurrPage = pObj;
CCppParser parser;
parser.ParsePage(pObj);
TEST_RUN( pObj->GetComment(oComment, iLine, iEndLine) );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-9-20 9:32:40]
BVTEST_BEGIN_3(O,CString,oComment,R,0,int,iLine,R,0,int,iEndLine,R,1)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
TEST_RUN( pObj->GetComment(oComment, iLine, iEndLine) );
//TEST_ASSERT();
BVTEST_END(O,3)
//$$ [3] [自动] [2006-9-20 9:32:40]
//$$CASE_END(GetComment_CStringR_int_int())
TEST_RATE(1000);
TEST_END();
}
//$$GetComment_CStringR_int_int()
void CPageTester::AddComment_CTokenP()
{
TEST_BEGIN(CPage::AddComment(CToken*));
//$$CASE_BEGIN(AddComment_CTokenP())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CToken first(8, 1, TT_SINCOMMENT);
pObj->AddComment(&first);
pObj->AddDividing(10);
CToken ipComment(10, 10, TT_SINCOMMENT);
TEST_RUN( pObj->AddComment(&ipComment) );
TEST_ASSERT( pObj->mCommentList.GetTail()->IsType(TT_UNDEFINED)/*分隔符仍然在最后*/ );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-9-21 23:51:4]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CToken ipComment(10, 10, TT_MULCOMMENT);
TEST_RUN( pObj->AddComment(&ipComment) );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-9-22 10:41:37]
//??BVTEST_BEGIN_1(O,CToken,ipComment,P,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->AddComment(ipComment) );
//TEST_ASSERT();
//??BVTEST_END(O,1)
//$$ [3] [自动] [2006-9-21 23:51:4]
//$$CASE_END(AddComment_CTokenP())
TEST_RATE(1000);
TEST_END();
}
//$$AddComment_CTokenP()
void CPageTester::AddDividing_int()
{
TEST_BEGIN(CPage::AddDividing(int));
//$$CASE_BEGIN(AddDividing_int())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
int iLine = 10;
TEST_RUN( pObj->AddDividing(iLine) );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-9-24 15:5:59]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
int iLine = 10;
CToken token(10, 10, TT_SINCOMMENT);
pObj->AddComment(&token);
TEST_RUN( pObj->AddDividing(iLine) );
TEST_ASSERT( pObj->mCommentList.GetCount() == 2 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-9-24 15:8:1]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
int iLine = 10;
CToken token(8, 5, TT_SINCOMMENT);
pObj->AddComment(&token);
pObj->AddDividing(8);
TEST_RUN( pObj->AddDividing(iLine) );
TEST_ASSERT( pObj->mCommentList.GetCount() == 2 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-9-24 15:9:54]
//??BVTEST_BEGIN_1(O,int,iLine,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->AddDividing(iLine) );
//TEST_ASSERT();
//??BVTEST_END(O,1)
//$$ [4] [自动] [2006-9-24 15:5:59]
//$$CASE_END(AddDividing_int())
TEST_RATE(1000);
TEST_END();
}
//$$AddDividing_int()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -