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

📄 ctypetester.cpp

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


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

#include "stdafx.h"
//
/////////////////////////////////////////////////////////////////////////////
#include "CTypeTester.h"

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

void CTypeTester::ClassTest()
{
    TEST_SOURCE_NAME(Class.cpp);
    CUSTOM_TEST(CType);
 
    //$$
    TEST_CALL_BEGIN(CType,1,0)
    TEST_CALL1(ParseBody_CTokenListR_POSITIONR())//ParseBody(CTokenList&,POSITION&)
    TEST_CALL1(ParseDeclare_CTokenListR_POSITIONR())//ParseDeclare(CTokenList&,POSITION&)
    TEST_CALL1(ParseMember_CTokenListR_POSITIONR())//ParseMember(CTokenList&,POSITION&)
    TEST_CALL1(ParseTypedef_CTokenListR_POSITIONR())//ParseTypedef(CTokenList&,POSITION&)
    TEST_CALL_END()
    //$$
}

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

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

CTypeTester::~CTypeTester()
{

}

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

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

    }
}

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

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

void CTypeTester::CustomTest()
{

}

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











void CTypeTester::ParseBody_CTokenListR_POSITIONR()
{
    TEST_BEGIN(CType::ParseBody(CTokenList&,POSITION&));

    //$$CASE_BEGIN(ParseBody_CTokenListR_POSITIONR())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "public:CMyClass();~CMyClass();");
    POSITION ioPos             = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseBody(ioList, ioPos) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-9-2 10:59:34]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "CMyClass();~CMyClass();");
    POSITION ioPos             = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseBody(ioList, ioPos) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-9-2 10:59:34]

    //??BVTEST_BEGIN_2(O,CTokenList,ioList,R,0,POSITION,ioPos,R,0)
    //自动边界测试用例,可用TEST_FILTER()过滤输入数据
    //TEST_FILTER();
    //??TEST_RUN( pObj->ParseBody(ioList, ioPos) );
    //TEST_ASSERT();
    //??BVTEST_END(O,2)
    //$$ [3] [自动] [2006-9-2 10:59:34]

    //$$CASE_END(ParseBody_CTokenListR_POSITIONR())

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

void CTypeTester::ParseDeclare_CTokenListR_POSITIONR()
{
    TEST_BEGIN(CType::ParseDeclare(CTokenList&,POSITION&));
    BOOL ret;

    //$$CASE_BEGIN(ParseDeclare_CTokenListR_POSITIONR())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "CMyClass {");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( ret = pObj->ParseDeclare(ioList, ioPos) );
    TEST_ASSERT( pObj->mName == "CMyClass" );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-9-2 11:54:51]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "CMyClass : public CList<TYPE, ARG_TYPE> {");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( ret = pObj->ParseDeclare(ioList, ioPos) );
    TEST_ASSERT( pObj->mName == "CMyClass" );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-9-17 17:19:2]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "CMyClass;");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( ret = pObj->ParseDeclare(ioList, ioPos) );
    TEST_ASSERT( pObj->mName == "CMyClass" );
    TEST_ASSERT( ret == FALSE );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [3] [正常] [2006-9-2 11:54:51]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "CMyClass : public CMyBase1{");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( ret = pObj->ParseDeclare(ioList, ioPos) );
    TEST_ASSERT( pObj->mName == "CMyClass" );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [4] [正常] [2006-9-2 11:54:51]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "CMyClass : public CMyBase1, CMyBase2{");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( ret = pObj->ParseDeclare(ioList, ioPos) );
    TEST_ASSERT( pObj->mName == "CMyClass" );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [5] [正常] [2006-9-2 11:54:51]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "CMyClass : public CMyBase1, public CMyBase2{");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( ret = pObj->ParseDeclare(ioList, ioPos) );
    TEST_ASSERT( pObj->mName == "CMyClass" );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [6] [正常] [2006-9-2 11:54:51]

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

    //$$CASE_END(ParseDeclare_CTokenListR_POSITIONR())

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















void CTypeTester::ParseMember_CTokenListR_POSITIONR()
{
    TEST_BEGIN(CType::ParseMember(CTokenList&,POSITION&));

    //$$CASE_BEGIN(ParseMember_CTokenListR_POSITIONR())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "int mAge");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseMember(ioList, ioPos) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-9-8 11:25:15]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "int GetAge()");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseMember(ioList, ioPos) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-9-8 11:25:15]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "int GetAge(LPCTSTR iName){return name};");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseMember(ioList, ioPos) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [3] [正常] [2006-9-10 12:44:35]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseMember(ioList, ioPos) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [4] [正常] [2006-9-10 12:53:11]

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

    //$$CASE_END(ParseMember_CTokenListR_POSITIONR())

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

void CTypeTester::ParseTypedef_CTokenListR_POSITIONR()
{
    TEST_BEGIN(CType::ParseTypedef(CTokenList&,POSITION&));

    //$$CASE_BEGIN(ParseTypedef_CTokenListR_POSITIONR())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "int MYINT;");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseTypedef(ioList, ioPos) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-9-8 18:39:47]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "struct tagStr{int i; in tj;} MYSTR;");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseTypedef(ioList, ioPos) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-9-9 16:26:20]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "struct tagStr{int i; in tj;} MYSTR,*PMYSTR;");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseTypedef(ioList, ioPos) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [3] [正常] [2006-9-9 16:36:50]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList ioList;
    CTokenReader reader;
    reader.ReadTokenList(ioList, "int (pf*)()");
    POSITION ioPos     = ioList.GetHeadPosition();
    TEST_RUN( pObj->ParseTypedef(ioList, ioPos) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [4] [正常] [2006-9-8 20:8:16]

    //??BVTEST_BEGIN_2(O,CTokenList,ioList,R,0,POSITION,ioPos,R,0)
    //自动边界测试用例,可用TEST_FILTER()过滤输入数据
    //TEST_FILTER();
    //??TEST_RUN( pObj->ParseTypedef(ioList, ioPos) );
    //TEST_ASSERT();
    //??BVTEST_END(O,2)
    //$$ [5] [自动] [2006-9-8 18:39:47]

    //$$CASE_END(ParseTypedef_CTokenListR_POSITIONR())

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

⌨️ 快捷键说明

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