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

📄 cexfunctiontester.cpp

📁 这是一个能够自动生成文档的程序
💻 CPP
📖 第 1 页 / 共 4 页
字号:
    CTokenReader reader;
    reader.ReadTokenList(iList, "int i[");
    TEST_RUN( ret = pObj->ParseOneParameter(iList) );
    reader.ClearTokenList(iList); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [10] [正常] [2006-9-23 9:37:58]

    BVTEST_BEGIN_1(O,CTokenList,iList,R,0)
    //自动边界测试用例,可用TEST_FILTER()过滤输入数据
    //TEST_FILTER();
    TEST_RUN( ret = pObj->ParseOneParameter(iList) );
    //TEST_ASSERT();
    BVTEST_END(O,1)
    //$$ [11] [自动] [2006-9-18 19:42:0]

    //$$CASE_END(ParseOneParameter_CTokenListR())

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

void CExFunctionTester::GetPrototype_CStringR()
{
    TEST_BEGIN(CExFunction::GetPrototype(CString&));

    //$$CASE_BEGIN(GetPrototype_CStringR())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CString oPrototype;
    CTokenReader reader;
    CTokenList list;
    reader.ReadTokenList(list, "static int MyFunc(int i, int j)");
    CExFunction::ParseDeclare(list, TRIM_PRIVATE, *pObj);
    TEST_RUN( pObj->GetPrototype(oPrototype) );
    reader.ClearTokenList(list); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-9-18 20:35:55]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CString oPrototype;
    CTokenReader reader;
    CTokenList list;
    reader.ReadTokenList(list, "const int* MyFunc(int i, int j)");
    CExFunction::ParseDeclare(list, TRIM_PRIVATE, *pObj);
    TEST_RUN( pObj->GetPrototype(oPrototype) );
    reader.ClearTokenList(list); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-9-19 16:27:30]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CString oPrototype;
    CTokenReader reader;
    CTokenList list;
    reader.ReadTokenList(list, "virtual int* MyFunc(int i, int j)");
    CExFunction::ParseDeclare(list, TRIM_PRIVATE, *pObj);
    TEST_RUN( pObj->GetPrototype(oPrototype) );
    reader.ClearTokenList(list); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [3] [正常] [2006-9-19 16:35:57]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CString oPrototype;
    CTokenReader reader;
    CTokenList list;
    reader.ReadTokenList(list, "static int* MyFunc(int i, int j)");
    CExFunction::ParseDeclare(list, TRIM_PRIVATE, *pObj);
    TEST_RUN( pObj->GetPrototype(oPrototype) );
    reader.ClearTokenList(list); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [4] [正常] [2006-9-19 16:36:47]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CString oPrototype;
    CTokenReader reader;
    CTokenList list;
    reader.ReadTokenList(list, "const int* MyFunc(int i[10], int j)");
    CExFunction::ParseDeclare(list, TRIM_PRIVATE, *pObj);
    TEST_RUN( pObj->GetPrototype(oPrototype) );
    reader.ClearTokenList(list); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [5] [正常] [2006-9-19 17:40:16]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CString oPrototype;
    CTokenReader reader;
    CTokenList list;
    reader.ReadTokenList(list, "const int* MyFunc(int i=10, int j)");
    CExFunction::ParseDeclare(list, TRIM_PRIVATE, *pObj);
    TEST_RUN( pObj->GetPrototype(oPrototype) );
    reader.ClearTokenList(list); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [6] [正常] [2006-9-19 17:50:19]

    BVTEST_BEGIN_1(O,CString,oPrototype,R,0)
    //自动边界测试用例,可用TEST_FILTER()过滤输入数据
    //TEST_FILTER();
    TEST_RUN( pObj->GetPrototype(oPrototype) );
    //TEST_ASSERT();
    BVTEST_END(O,1)
    //$$ [7] [自动] [2006-9-18 20:35:55]

    //$$CASE_END(GetPrototype_CStringR())

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

void CExFunctionTester::ParseTail_CTokenListR_CExFunctionR()
{
    TEST_BEGIN(CExFunction::ParseTail(CTokenList&,CExFunction&));

    //$$CASE_BEGIN(ParseTail_CTokenListR_CExFunctionR())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList   ;
    CTokenReader reader;
    reader.ReadTokenList(iList, " const");
    CExFunction oFunc  ;
    TEST_RUN( pObj->ParseTail(iList, oFunc) );
    TEST_ASSERT( ISTRIM(oFunc.mTrim, CONST) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-9-19 17:51:57]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList;
    CTokenReader reader;
    reader.ReadTokenList(iList, " =0");
    CExFunction oFunc;
    TEST_RUN( pObj->ParseTail(iList, oFunc) );
    TEST_ASSERT( ISTRIM(oFunc.mTrim, PUREVIRTUAL) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-9-19 17:59:13]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList;
    CTokenReader reader;
    reader.ReadTokenList(iList, " ");
    CExFunction oFunc;
    TEST_RUN( pObj->ParseTail(iList, oFunc) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [3] [正常] [2006-9-19 18:0:3]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList;
    CTokenReader reader;
    reader.ReadTokenList(iList, " id");
    CExFunction oFunc;
    TEST_RUN( pObj->ParseTail(iList, oFunc) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [4] [正常] [2006-9-19 18:0:17]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList;
    CTokenReader reader;
    reader.ReadTokenList(iList, " ==0");
    CExFunction oFunc;
    TEST_RUN( pObj->ParseTail(iList, oFunc) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [5] [正常] [2006-9-19 18:0:31]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList;
    CTokenReader reader;
    reader.ReadTokenList(iList, " =");
    CExFunction oFunc;
    TEST_RUN( pObj->ParseTail(iList, oFunc) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [6] [正常] [2006-9-19 18:0:59]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList;
    CTokenReader reader;
    reader.ReadTokenList(iList, " =1");
    CExFunction oFunc;
    TEST_RUN( pObj->ParseTail(iList, oFunc) );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [7] [正常] [2006-9-19 18:1:16]

    //??BVTEST_BEGIN_2(O,CTokenList,iList,R,0,CExFunction,oFunc,R,0)
    //自动边界测试用例,可用TEST_FILTER()过滤输入数据
    //TEST_FILTER();
    //??TEST_RUN( pObj->ParseTail(iList, oFunc) );
    //TEST_ASSERT();
    //??BVTEST_END(O,2)
    //$$ [8] [自动] [2006-9-19 17:51:57]

    //$$CASE_END(ParseTail_CTokenListR_CExFunctionR())

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


void CExFunctionTester::ParseFunction_CTokenListR_UINT_BOOL_CTokenListP_POSITIONP_BOOL()
{
    TEST_BEGIN(CExFunction::ParseFunction(CTokenList&,UINT,BOOL,CTokenList*,POSITION*,BOOL));
    CExFunction* ret;

    //$$CASE_BEGIN(ParseFunction_CTokenListR_UINT_BOOL_CTokenListP_POSITIONP_BOOL())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList;
    CTokenReader reader;
    reader.ReadTokenList(iList, "int CMyClass::Add(int i, int* pj);");
    UINT iAccessTrim       = TRIM_PUBLIC;
    BOOL iDefinition       = FALSE;
    CTokenList* iopSrcList  = &iList;
    POSITION iopPos        = iList.GetHeadPosition();
    BOOL iIsInType         = TRUE;
    TEST_RUN( ret = pObj->ParseFunction(iList, iAccessTrim, iDefinition, iopSrcList, &iopPos, iIsInType) );
    TEST_ASSERT( ret->GetName() == "Add" );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-9-21 17:24:42]

    //??BVTEST_BEGIN_6(O,CTokenList,iList,R,0,UINT,iAccessTrim,R,0,BOOL,iDefinition,R,0,CTokenList,iopSrcList,P,1,POSITION,iopPos,P,0,BOOL,iIsInType,R,1)
    //自动边界测试用例,可用TEST_FILTER()过滤输入数据
    //TEST_FILTER();
    //??TEST_RUN( ret = pObj->ParseFunction(iList, iAccessTrim, iDefinition, iopSrcList, iopPos, iIsInType) );
    //TEST_ASSERT();
    //??BVTEST_END(O,6)
    //$$ [2] [自动] [2006-9-21 17:24:42]

    //$$CASE_END(ParseFunction_CTokenListR_UINT_BOOL_CTokenListP_POSITIONP_BOOL())

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

void CExFunctionTester::ParseOneParameter2_CTokenListR()
{
    TEST_BEGIN(CExFunction::ParseOneParameter2(CTokenList&));
    PARAMETER* ret;

    //$$CASE_BEGIN(ParseOneParameter2_CTokenListR())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    //为了模拟实际的情况,采用两个列表,这是为了避免测试代码产生内存泄露;
    CTokenList iList, list;
    CTokenReader reader;
    reader.ReadTokenList(list, "int i=0"); //记号序列保存到list;
    POSITION pos = list.GetHeadPosition();
    while(pos) iList.AddTail(list.GetNext(pos)); //将list的拷贝作为参数;
    TEST_RUN( ret = pObj->ParseOneParameter2(iList) );
    TEST_ASSERT( ret->type == "int" );
    TEST_ASSERT( ret->name == "i" );
    TEST_ASSERT( ret->array == "" );
    TEST_ASSERT( ret->defVal == "0" );
    delete ret; //!
    reader.ClearTokenList(list); //! 删除list,以保证完整删除所有记号指针
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-9-18 19:42:0]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList, list;
    CTokenReader reader;
    reader.ReadTokenList(list, "int i=GetAge(\"name\")");
    POSITION pos = list.GetHeadPosition();
    while(pos) iList.AddTail(list.GetNext(pos));
    TEST_RUN( ret = pObj->ParseOneParameter2(iList) );
    TEST_ASSERT( ret->type == "int" );
    TEST_ASSERT( ret->name == "i" );
    TEST_ASSERT( ret->array == "" );
    LPCTSTR defVal = "GetAge(\"name\")"; //!
    TEST_ASSERT( ret->defVal == defVal );
    delete ret; //!
    reader.ClearTokenList(list); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-9-18 19:42:0]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList, list;
    CTokenReader reader;
    reader.ReadTokenList(list, "int i[10]");
    POSITION pos = list.GetHeadPosition();
    while(pos) iList.AddTail(list.GetNext(pos));
    TEST_RUN( ret = pObj->ParseOneParameter2(iList) );
    TEST_ASSERT( ret->type == "int" );
    TEST_ASSERT( ret->name == "i" );
    TEST_ASSERT( ret->array == "[10]" );
    TEST_ASSERT( ret->defVal == "" );
    delete ret; //!
    reader.ClearTokenList(list); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [3] [正常] [2006-9-18 19:42:0]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList, list;
    CTokenReader reader;
    reader.ReadTokenList(list, "const int");
    POSITION pos = list.GetHeadPosition();
    while(pos) iList.AddTail(list.GetNext(pos));
    TEST_RUN( ret = pObj->ParseOneParameter2(iList) );
    TEST_ASSERT( ret->type == "const int" );
    TEST_ASSERT( ret->name == "" );
    TEST_ASSERT( ret->array == "" );
    TEST_ASSERT( ret->defVal == "" );
    delete ret; //!
    reader.ClearTokenList(list); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [4] [正常] [2006-9-18 19:42:0]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList, list;
    CTokenReader reader;
    reader.ReadTokenList(list, "int&*");
    POSITION pos = list.GetHeadPosition();
    while(pos) iList.AddTail(list.GetNext(pos));
    TEST_RUN( ret = pObj->ParseOneParameter2(iList) );
    TEST_ASSERT( ret->type == "int&*" );
    TEST_ASSERT( ret->name == "" );
    TEST_ASSERT( ret->array == "" );
    TEST_ASSERT( ret->defVal == "" );
    delete ret; //!
    reader.ClearTokenList(list); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [5] [正常] [2006-9-18 19:42:0]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList, list;
    CTokenReader reader;
    reader.ReadTokenList(list, "const CList < CString *, CString * >* list");
    POSITION pos = list.GetHeadPosition();
    while(pos) iList.AddTail(list.GetNext(pos));
    TEST_RUN( ret = pObj->ParseOneParameter2(iList) );
    TEST_ASSERT( ret->type == "const CList<CString*,CString*>*" );
    TEST_ASSERT( ret->name == "list" );
    TEST_ASSERT( ret->array == "" );
    TEST_ASSERT( ret->defVal == "" );
    delete ret; //!
    reader.ClearTokenList(list); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [6] [正常] [2006-9-18 19:42:0]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList, list;
    CTokenReader reader;
    reader.ReadTokenList(list, "");
    POSITION pos = list.GetHeadPosition();
    while(pos) iList.AddTail(list.GetNext(pos));
    TEST_RUN( ret = pObj->ParseOneParameter2(iList) );
    TEST_ASSERT( ret == NULL );
    reader.ClearTokenList(list); //!
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [7] [正常] [2006-9-18 19:42:0]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    CTokenList iList, list;

⌨️ 快捷键说明

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