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

📄 cmacrotester.cpp

📁 这是一个能够自动生成文档的程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/**************************************************
//$$ BEGIN
CTokenList@@1@1@()
POSITION@@0@1@0
//$$ END
**************************************************/


/**************************************************
作    者:user1
建立日期:2006-8-18
修改日期:
说    明:测试文件,用于测试[CMacro]。
**************************************************/

#include "stdafx.h"
//
/////////////////////////////////////////////////////////////////////////////
#include "CMacroTester.h"

//
/////////////////////////////////////////////////////////////////////////////

void CMacroTester::ClassTest()
{
    TEST_SOURCE_NAME(Macro.cpp);
    CUSTOM_TEST(CMacro);
 
    //$$
    TEST_CALL_BEGIN(CMacro,1,0)
    TEST_CALL1(ParseContent_CTokenListR_POSITIONR())//ParseContent(CTokenList&,POSITION&)
    TEST_CALL1(ParseParam_CTokenListR_POSITIONR())//ParseParam(CTokenList&,POSITION&)
    TEST_CALL1(ParseArg_CTokenListR_POSITIONR_CTokenListR())//ParseArg(CTokenList&,POSITION&,CTokenList&)
    TEST_CALL1(Unwind_CTokenListR_POSITIONR())//Unwind(CTokenList&,POSITION&)
    TEST_CALL_END()
    //$$
}

//
/////////////////////////////////////////////////////////////////////////////

CMacroTester::CMacroTester()
{
    pObj = 0;
}

CMacroTester::~CMacroTester()
{

}

void CMacroTester::BeginCase(int arg)
{
    switch(arg)
    {

    case ARG_DEFAULT:
    {
        pObj = new TESTCLASS();
        break;
    }
    /*
    case :
    {
        pObj = new TESTCLASS();
        break;
    }
    case :
    {
        pObj = new TESTCLASS();
        break;
    }
    */

    }
}

void CMacroTester::EndCase(int /*arg*/)
{
    delete pObj;
    pObj = 0;
}

//自定义测试,用MY_ASSERT(布尔表达式)断言预期输出
/////////////////////////////////////////////////////////////////////////////

void CMacroTester::CustomTest()
{

}

//
/////////////////////////////////////////////////////////////////////////////













void CMacroTester::ParseContent_CTokenListR_POSITIONR()
{
    TEST_BEGIN(CMacro::ParseContent(CTokenList&,POSITION&));

    //$$CASE_BEGIN(ParseContent_CTokenListR_POSITIONR())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, " Visual Unit \n");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseContent(ioList, ioPos) );
    reader.ClearTokenList(ioList); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-8-26 22:33:11]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, " Visual \\\nUnit \n");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseContent(ioList, ioPos) );
    reader.ClearTokenList(ioList); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-8-26 22:59:42]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "() Visual Unit \n");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseContent(ioList, ioPos) );
    reader.ClearTokenList(ioList); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [3] [正常] [2006-8-26 22:58:49]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "(ver) Visual Unit ver\n");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseContent(ioList, ioPos) );
    reader.ClearTokenList(ioList); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [4] [正常] [2006-8-26 23:0:46]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "(ver, date) Visual Unit ver date\n");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseContent(ioList, ioPos) );
    reader.ClearTokenList(ioList); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [5] [正常] [2006-8-26 23:1:12]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "(ver, date) Visual Unit #ver date\n");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseContent(ioList, ioPos) );
    reader.ClearTokenList(ioList); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [6] [正常] [2006-8-26 23:1:29]

    //??BVTEST_BEGIN_2(O,CTokenList,ioList,R,0,POSITION,ioPos,R,0)
    //自动边界测试用例,可用TEST_FILTER()过滤输入数据
    //TEST_FILTER();
    //??TEST_RUN( pObj->ParseContent(ioList, ioPos) );
    //TEST_ASSERT();
    //??BVTEST_END(O,2)
    //$$ [7] [自动] [2006-8-26 22:33:11]

    //$$CASE_END(ParseContent_CTokenListR_POSITIONR())

    TEST_RATE(1000);
    TEST_END();
}
//$$ParseContent_CTokenListR_POSITIONR()

void CMacroTester::ParseParam_CTokenListR_POSITIONR()
{
    TEST_BEGIN(CMacro::ParseParam(CTokenList&,POSITION&));

    //$$CASE_BEGIN(ParseParam_CTokenListR_POSITIONR())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList  ;
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseParam(ioList, ioPos) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-8-26 22:48:56]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, ") Visual Unit\n");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseParam(ioList, ioPos) );
    reader.ClearTokenList(ioList); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-8-26 22:49:39]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "ver, /*99*/date) Visual Unit ver date\n");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseParam(ioList, ioPos) );
    reader.ClearTokenList(ioList); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [3] [正常] [2006-8-26 22:57:38]

    //??BVTEST_BEGIN_2(O,CTokenList,ioList,R,0,POSITION,ioPos,R,0)
    //自动边界测试用例,可用TEST_FILTER()过滤输入数据
    //TEST_FILTER();
    //??TEST_RUN( pObj->ParseParam(ioList, ioPos) );
    //TEST_ASSERT();
    //??BVTEST_END(O,2)
    //$$ [4] [自动] [2006-8-26 22:48:56]

    //$$CASE_END(ParseParam_CTokenListR_POSITIONR())

    TEST_RATE(1000);
    TEST_END();
}
//$$ParseParam_CTokenListR_POSITIONR()



void CMacroTester::ParseArg_CTokenListR_POSITIONR_CTokenListR()
{
    TEST_BEGIN(CMacro::ParseArg(CTokenList&,POSITION&,CTokenList&));
    BOOL ret;

    //$$CASE_BEGIN(ParseArg_CTokenListR_POSITIONR_CTokenListR())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    POSITION ioPos     = ioList.GetHeadPosition();
    CTokenList oArgTokenList;
    TEST_RUN( ret = pObj->ParseArg(ioList, ioPos, oArgTokenList) );
    TEST_ASSERT( ret == FALSE );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-8-27 9:27:46]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "1.2.2, 20060821) abcd");
    POSITION ioPos     = ioList.GetHeadPosition();
    CTokenList oArgTokenList;
    TEST_RUN( ret = pObj->ParseArg(ioList, ioPos, oArgTokenList) );
    TEST_RUN( ret = pObj->ParseArg(ioList, ioPos, oArgTokenList) );
    TEST_ASSERT( ret == FALSE );
    reader.ClearTokenList(ioList); //!
    reader.ClearTokenList(oArgTokenList); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-8-27 9:37:8]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "1.2.2) abcd");
    POSITION ioPos     = ioList.GetHeadPosition();
    CTokenList oArgTokenList;
    TEST_RUN( ret = pObj->ParseArg(ioList, ioPos, oArgTokenList) );
    TEST_ASSERT( ret == FALSE );
    reader.ClearTokenList(ioList); //!
    reader.ClearTokenList(oArgTokenList); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [3] [正常] [2006-8-27 9:46:40]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "1.2.2; abcd");
    POSITION ioPos     = ioList.GetHeadPosition();
    CTokenList oArgTokenList;
    TEST_EXCEPTION()
    TEST_RUN( ret = pObj->ParseArg(ioList, ioPos, oArgTokenList) );
    TEST_THROW(CCodeException)
    reader.ClearTokenList(ioList); //!
    reader.ClearTokenList(oArgTokenList); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [4] [正常] [2006-8-27 9:47:30]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "1.2.2 1228 584, 20060821) abcd");
    POSITION ioPos     = ioList.GetHeadPosition();
    CTokenList oArgTokenList;
    TEST_RUN( ret = pObj->ParseArg(ioList, ioPos, oArgTokenList) );
    TEST_ASSERT( ret == TRUE );
    reader.ClearTokenList(ioList); //!
    reader.ClearTokenList(oArgTokenList); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [5] [正常] [2006-8-27 9:38:56]

    /// 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -