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

📄 cvariabletester.cpp

📁 这是一个能够自动生成文档的程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/**************************************************
//$$ BEGIN
CToken@@1@1@()
CVariable@@1@1@()
CTokenList@@1@1@()
POSITION@@0@1@0
LPCTSTR@@0@2@""$0
unsigned_int@UINT$DWORD@0@3@0$1$0xFFFFFFFF
CVariableList@@1@1@()
BOOL@@0@2@0$1
CString@@0@3@"Visual Unit"$""$"中文怎么样?"
//$$ END
**************************************************/


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

#include "stdafx.h"
//
/////////////////////////////////////////////////////////////////////////////
#include "CVariableTester.h"

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

void CVariableTester::ClassTest()
{
    TEST_SOURCE_NAME(Variable.cpp);
    CUSTOM_TEST(CVariable);
 
    //$$
    TEST_CALL_BEGIN(CVariable,1,0)
    TEST_CALL1(UniteType_CTokenP())//UniteType(CToken*)
    TEST_CALL1(ParseOneVariable_CVariablePR_CTokenListR_POSITIONR_LPCTSTR())//ParseOneVariable(CVariable*&,CTokenList&,POSITION&,LPCTSTR)
    TEST_CALL1(ParseVariable_CTokenListR_UINT_CVariableListR_BOOL())//ParseVariable(CTokenList&,UINT,CVariableList&,BOOL)
    TEST_CALL1(ParseVariableType_CTokenListR_POSITIONR_BOOLR_CStringR_UINTR())//ParseVariableType(CTokenList&,POSITION&,BOOL&,CString&,UINT&)
    TEST_CALL_END()
    //$$
}

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

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

CVariableTester::~CVariableTester()
{

}

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

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

    }
}

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

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

void CVariableTester::CustomTest()
{

}

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



void CVariableTester::UniteType_CTokenP()
{
    TEST_BEGIN(CVariable::UniteType(CToken*));

    //$$CASE_BEGIN(UniteType_CTokenP())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CToken ipOperator(1, 1, TT_TIMES);
    pObj->mType = "int**";
    TEST_RUN( pObj->UniteType(&ipOperator) );
    TEST_ASSERT( pObj->mType == "int*" );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-9-6 10:40:29]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CToken ipOperator(1, 1, TT_BIT_AND);
    pObj->mType = "int";
    TEST_RUN( pObj->UniteType(&ipOperator) );
    TEST_ASSERT( pObj->mType == "int*" );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-9-6 10:51:54]

    //??BVTEST_BEGIN_1(O,CToken,ipOperator,P,0)
    //自动边界测试用例,可用TEST_FILTER()过滤输入数据
    //TEST_FILTER();
    //??TEST_RUN( pObj->UniteType(ipOperator) );
    //TEST_ASSERT();
    //??BVTEST_END(O,1)
    //$$ [3] [自动] [2006-9-6 10:40:29]

    //$$CASE_END(UniteType_CTokenP())

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













void CVariableTester::ParseOneVariable_CVariablePR_CTokenListR_POSITIONR_LPCTSTR()
{
    TEST_BEGIN(CVariable::ParseOneVariable(CVariable*&,CTokenList&,POSITION&,LPCTSTR));
    BOOL ret;

    //$$CASE_BEGIN(ParseOneVariable_CVariablePR_CTokenListR_POSITIONR_LPCTSTR())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CVariable* opVar;
    CTokenList iList;
    CTokenReader reader;
    reader.ReadTokenList(iList, "i;");
    POSITION ioPos    = iList.GetHeadPosition();
    LPCTSTR iType     = "int";
    TEST_RUN( ret = pObj->ParseOneVariable(opVar, iList, ioPos, iType) );
    TEST_ASSERT( ret == FALSE );
    TEST_ASSERT( opVar->GetName() == "i" );
    CString type; opVar->GetType(type); //!
    TEST_ASSERT( type == "int" );
    reader.ClearTokenList(iList); //!
    delete opVar; //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-9-11 22:47:16]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CVariable* opVar;
    CTokenList iList;
    CTokenReader reader;
    reader.ReadTokenList(iList, "(i);");
    POSITION ioPos    = iList.GetHeadPosition();
    LPCTSTR iType     = "int";
    TEST_RUN( ret = pObj->ParseOneVariable(opVar, iList, ioPos, iType) );
    TEST_ASSERT( ret == FALSE );
    TEST_ASSERT( opVar->GetName() == "i" );
    CString type; opVar->GetType(type); //!
    TEST_ASSERT( type == "int" );
    reader.ClearTokenList(iList); //!
    delete opVar; //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-9-11 22:53:48]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CVariable* opVar;
    CTokenList iList;
    CTokenReader reader;
    reader.ReadTokenList(iList, "i[10][20];");
    POSITION ioPos    = iList.GetHeadPosition();
    LPCTSTR iType     = "int";
    TEST_RUN( ret = pObj->ParseOneVariable(opVar, iList, ioPos, iType) );
    TEST_ASSERT( ret == FALSE );
    TEST_ASSERT( opVar->GetName() == "i" );
    CString type; opVar->GetType(type); //!
    TEST_ASSERT( type == "int" );
    reader.ClearTokenList(iList); //!
    delete opVar; //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [3] [正常] [2006-9-11 22:54:30]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CVariable* opVar;
    CTokenList iList;
    CTokenReader reader;
    reader.ReadTokenList(iList, "((i));");
    POSITION ioPos    = iList.GetHeadPosition();
    LPCTSTR iType     = "int";
    TEST_RUN( ret = pObj->ParseOneVariable(opVar, iList, ioPos, iType) );
    TEST_ASSERT( ret == FALSE );
    TEST_ASSERT( opVar->GetName() == "i" );
    CString type; opVar->GetType(type); //!
    TEST_ASSERT( type == "int" );
    reader.ClearTokenList(iList); //!
    delete opVar; //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [4] [正常] [2006-9-11 22:54:5]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CVariable* opVar;
    CTokenList iList;
    CTokenReader reader;
    reader.ReadTokenList(iList, "i,j;");
    POSITION ioPos    = iList.GetHeadPosition();
    LPCTSTR iType     = "int";
    TEST_RUN( ret = pObj->ParseOneVariable(opVar, iList, ioPos, iType) );
    TEST_ASSERT( ret == TRUE );
    TEST_ASSERT( opVar->GetName() == "i" );
    CString type; opVar->GetType(type); //!
    TEST_ASSERT( type == "int" );
    reader.ClearTokenList(iList); //!
    delete opVar; //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [5] [正常] [2006-9-11 22:48:58]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CVariable* opVar;
    CTokenList iList;
    CTokenReader reader;
    reader.ReadTokenList(iList, "*i,j;");
    POSITION ioPos    = iList.GetHeadPosition();
    LPCTSTR iType     = "int";
    TEST_RUN( ret = pObj->ParseOneVariable(opVar, iList, ioPos, iType) );
    TEST_ASSERT( ret == TRUE );
    TEST_ASSERT( opVar->GetName() == "i" );
    CString type; opVar->GetType(type); //!
    TEST_ASSERT( type == "int*" );
    reader.ClearTokenList(iList); //!
    delete opVar; //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [6] [正常] [2006-9-11 23:5:18]

⌨️ 快捷键说明

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