⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpagetester.cpp

📁 这是一个能够自动生成文档的程序
💻 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 + -