📄 cexfunctiontester.cpp
字号:
///
TEST_CASE_BEGINO( ARG_DEFAULT );
//由于合并时会删除完全相同的函数,这里要在堆上生成对象;
CExFunction* ipOther = new CExFunction();
CTokenList list;
CTokenReader reader;
reader.ReadTokenList(list, "int MyFunc()");
CExFunction::ParseDeclare(list, TRIM_PUBLIC, *ipOther);
ipOther->SetDefined(TRUE);
CTokenList list2;
reader.ReadTokenList(list2, "int MyFunc(int i)");
CExFunction::ParseDeclare(list2, TRIM_PUBLIC, *pObj);
CExFunction* pFunc3 = new CExFunction();
CTokenList list3;
reader.ReadTokenList(list3, "int MyFunc(int i, int j)");
CExFunction::ParseDeclare(list3, TRIM_PUBLIC, *pFunc3);
pObj->UniteFunction(pFunc3);
TEST_RUN( pObj->UniteFunction(ipOther) );
reader.ClearTokenList(list); //!
reader.ClearTokenList(list2); //!
reader.ClearTokenList(list3); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-9-14 17:9:45]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
//由于合并时会删除完全相同的函数,这里要在堆上生成对象;
CExFunction* ipOther = new CExFunction();
CTokenList list;
CTokenReader reader;
reader.ReadTokenList(list, "int MyFunc()");
CExFunction::ParseDeclare(list, TRIM_PUBLIC, *ipOther);
ipOther->SetDefined(TRUE);
CTokenList list2;
reader.ReadTokenList(list2, "int MyFunc(int i)");
CExFunction::ParseDeclare(list2, TRIM_PUBLIC, *pObj);
CExFunction* pFunc3 = new CExFunction();
CTokenList list3;
reader.ReadTokenList(list3, "int MyFunc()");
CExFunction::ParseDeclare(list3, TRIM_PUBLIC, *pFunc3);
pObj->UniteFunction(pFunc3);
TEST_RUN( pObj->UniteFunction(ipOther) );
reader.ClearTokenList(list); //!
reader.ClearTokenList(list2); //!
reader.ClearTokenList(list3); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [4] [正常] [2006-9-14 17:13:5]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
//由于合并时会删除完全相同的函数,这里要在堆上生成对象;
CExFunction* ipOther = new CExFunction();
CTokenList list;
CTokenReader reader;
reader.ReadTokenList(list, "int MyFunc()");
CExFunction::ParseDeclare(list, TRIM_PUBLIC, *ipOther);
CTokenList list2;
reader.ReadTokenList(list2, "int MyFunc()");
CExFunction::ParseDeclare(list2, TRIM_PUBLIC, *pObj);
TEST_RUN( pObj->UniteFunction(ipOther) );
reader.ClearTokenList(list); //!
reader.ClearTokenList(list2); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [5] [正常] [2006-9-14 18:9:12]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
//由于合并时会删除完全相同的函数,这里要在堆上生成对象;
CExFunction* ipOther = new CExFunction();
CTokenList list;
CTokenReader reader;
reader.ReadTokenList(list, "int MyFunc()");
CExFunction::ParseDeclare(list, TRIM_PUBLIC, *ipOther);
CTokenList list2;
reader.ReadTokenList(list2, "int MyFunc(int i)");
CExFunction::ParseDeclare(list2, TRIM_PUBLIC, *pObj);
CExFunction* pFunc3 = new CExFunction();
CTokenList list3;
reader.ReadTokenList(list3, "int MyFunc()");
CExFunction::ParseDeclare(list3, TRIM_PUBLIC, *pFunc3);
pObj->UniteFunction(pFunc3);
TEST_RUN( pObj->UniteFunction(ipOther) );
reader.ClearTokenList(list); //!
reader.ClearTokenList(list2); //!
reader.ClearTokenList(list3); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [6] [正常] [2006-9-14 18:9:34]
//??BVTEST_BEGIN_1(O,CExFunction,ipOther,P,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->UniteFunction(ipOther) );
//TEST_ASSERT();
//??BVTEST_END(O,1)
//$$ [7] [自动] [2006-9-14 15:41:46]
//$$CASE_END(UniteFunction_CExFunctionP())
TEST_RATE(1000);
TEST_END();
}
//$$UniteFunction_CExFunctionP()
void CExFunctionTester::ParsePrecursor_CTokenListR_CExFunctionR_BOOL()
{
TEST_BEGIN(CExFunction::ParsePrecursor(CTokenList&,CExFunction&,BOOL));
//$$CASE_BEGIN(ParsePrecursor_CTokenListR_CExFunctionR_BOOL())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "const unsigned int*");
CExFunction oFunc;
BOOL iIsInType = TRUE;
TEST_RUN( pObj->ParsePrecursor(iList, oFunc, iIsInType) );
TEST_ASSERT( oFunc.GetReturnType() == "const unsigned int*" );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-9-18 18:52:15]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "const unsigned int* Namespace::Class::");
CExFunction oFunc;
BOOL iIsInType = FALSE;
TEST_RUN( pObj->ParsePrecursor(iList, oFunc, iIsInType) );
TEST_ASSERT( oFunc.GetReturnType() == "const unsigned int*" );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-9-18 18:52:15]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "CList <int *, int * > *");
CExFunction oFunc;
BOOL iIsInType = TRUE;
TEST_RUN( pObj->ParsePrecursor(iList, oFunc, iIsInType) );
TEST_ASSERT( oFunc.GetReturnType() == "CList<int*,int*>*" );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-9-18 18:52:15]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "template<int> CList<int*, int*>*");
CExFunction oFunc;
BOOL iIsInType = TRUE;
TEST_RUN( pObj->ParsePrecursor(iList, oFunc, iIsInType) );
TEST_ASSERT( oFunc.GetReturnType() == "CList<int*,int*>*" );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [4] [正常] [2006-9-18 18:52:15]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "inline const unsigned int*");
CExFunction oFunc;
BOOL iIsInType = TRUE;
TEST_RUN( pObj->ParsePrecursor(iList, oFunc, iIsInType) );
TEST_ASSERT( oFunc.GetReturnType() == "const unsigned int*" );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [5] [正常] [2006-9-18 18:52:15]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "virtual const unsigned int*");
CExFunction oFunc;
BOOL iIsInType = TRUE;
TEST_RUN( pObj->ParsePrecursor(iList, oFunc, iIsInType) );
TEST_ASSERT( oFunc.GetReturnType() == "const unsigned int*" );
TEST_ASSERT( ISTRIM(oFunc.mTrim, VIRTUAL) );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [6] [正常] [2006-9-19 16:38:37]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "static const unsigned int*");
CExFunction oFunc;
BOOL iIsInType = TRUE;
TEST_RUN( pObj->ParsePrecursor(iList, oFunc, iIsInType) );
TEST_ASSERT( oFunc.GetReturnType() == "const unsigned int*" );
TEST_ASSERT( oFunc.mTrim & TRIM_STATIC );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [7] [正常] [2006-9-19 16:40:23]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "CMyClass*");
CExFunction oFunc;
gIdens.AddIdentifier("CMyClass", ID_TYPE);
BOOL iIsInType = TRUE;
TEST_RUN( pObj->ParsePrecursor(iList, oFunc, iIsInType) );
TEST_ASSERT( oFunc.GetReturnType() == "CMyClass*" );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [8] [正常] [2006-9-18 18:52:15]
//??BVTEST_BEGIN_3(O,CTokenList,iList,R,0,CExFunction,oFunc,R,0,BOOL,iIsInType,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->ParsePrecursor(iList, oFunc, iIsInType) );
//TEST_ASSERT();
//??BVTEST_END(O,3)
//$$ [9] [自动] [2006-9-18 18:52:15]
//$$CASE_END(ParsePrecursor_CTokenListR_CExFunctionR_BOOL())
TEST_RATE(1000);
TEST_END();
}
//$$ParsePrecursor_CTokenListR_CExFunctionR_BOOL()
void CExFunctionTester::ParseDeclare_CTokenListR_UINT_CExFunctionR_BOOL()
{
TEST_BEGIN(CExFunction::ParseDeclare(CTokenList&,UINT,CExFunction&,BOOL));
//$$CASE_BEGIN(ParseDeclare_CTokenListR_UINT_CExFunctionR_BOOL())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList ;
CTokenReader reader;
reader.ReadTokenList(iList, "void Func(int i, int* j) {}");
UINT iAccessTrim = TRIM_PRIVATE;
CExFunction oFunc ;
BOOL iIsInType = FALSE;
TEST_RUN( pObj->ParseDeclare(iList, iAccessTrim, oFunc, iIsInType) );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-9-18 19:35:10]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "void Func(int i[10], int* j) {}");
UINT iAccessTrim = TRIM_PRIVATE;
CExFunction oFunc;
BOOL iIsInType = FALSE;
TEST_RUN( pObj->ParseDeclare(iList, iAccessTrim, oFunc, iIsInType) );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-9-19 17:46:18]
//??BVTEST_BEGIN_4(O,CTokenList,iList,R,0,UINT,iAccessTrim,R,0,CExFunction,oFunc,R,0,BOOL,iIsInType,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->ParseDeclare(iList, iAccessTrim, oFunc, iIsInType) );
//TEST_ASSERT();
//??BVTEST_END(O,4)
//$$ [3] [自动] [2006-9-18 19:35:10]
//$$CASE_END(ParseDeclare_CTokenListR_UINT_CExFunctionR_BOOL())
TEST_RATE(1000);
TEST_END();
}
//$$ParseDeclare_CTokenListR_UINT_CExFunctionR_BOOL()
void CExFunctionTester::ParseOneParameter_CTokenListR()
{
TEST_BEGIN(CExFunction::ParseOneParameter(CTokenList&));
PARAMETER* ret;
//$$CASE_BEGIN(ParseOneParameter_CTokenListR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "int i=0");
TEST_RUN( ret = pObj->ParseOneParameter(iList) );
TEST_ASSERT( ret->type == "int" );
TEST_ASSERT( ret->name == "i" );
TEST_ASSERT( ret->array == "" );
TEST_ASSERT( ret->defVal == "0" );
reader.ClearTokenList(iList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-9-18 19:42:0]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "int i=GetAge(\"name\")");
TEST_RUN( ret = pObj->ParseOneParameter(iList) );
reader.ClearTokenList(iList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-9-18 19:42:0]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "int i[10]");
TEST_RUN( ret = pObj->ParseOneParameter(iList) );
reader.ClearTokenList(iList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-9-18 19:42:0]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "const int");
TEST_RUN( ret = pObj->ParseOneParameter(iList) );
reader.ClearTokenList(iList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [4] [正常] [2006-9-18 19:42:0]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "int&*");
TEST_RUN( ret = pObj->ParseOneParameter(iList) );
reader.ClearTokenList(iList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [5] [正常] [2006-9-18 19:42:0]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "const CList < CString *, CString * >* list");
TEST_RUN( ret = pObj->ParseOneParameter(iList) );
reader.ClearTokenList(iList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [6] [正常] [2006-9-18 19:42:0]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "");
TEST_RUN( ret = pObj->ParseOneParameter(iList) );
reader.ClearTokenList(iList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [7] [正常] [2006-9-18 19:42:0]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "int");
TEST_RUN( ret = pObj->ParseOneParameter(iList) );
reader.ClearTokenList(iList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [8] [正常] [2006-9-23 9:34:18]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
CTokenReader reader;
reader.ReadTokenList(iList, "int i=");
TEST_RUN( ret = pObj->ParseOneParameter(iList) );
reader.ClearTokenList(iList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [9] [正常] [2006-9-23 9:37:32]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList iList;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -