📄 cenumtester.cpp
字号:
/**************************************************
//$$ BEGIN
CTokenList@@1@1@()
POSITION@@0@1@0
CString@@0@3@"Visual Unit"$""$"中文怎么样?"
//$$ END
**************************************************/
/**************************************************
作 者:user1
建立日期:2006-8-24
修改日期:
说 明:测试文件,用于测试[CEnum]。
**************************************************/
#include "stdafx.h"
//
/////////////////////////////////////////////////////////////////////////////
#include "CEnumTester.h"
//
/////////////////////////////////////////////////////////////////////////////
void CEnumTester::ClassTest()
{
TEST_SOURCE_NAME(Enum.cpp);
CUSTOM_TEST(CEnum);
//$$
TEST_CALL_BEGIN(CEnum,1,0)
TEST_CALL1(ParseEnum_CTokenListR_POSITIONR())//ParseEnum(CTokenList&,POSITION&)
TEST_CALL1(GetNextItem_CStringR())//GetNextItem(CString&)
TEST_CALL_END()
//$$
}
//
/////////////////////////////////////////////////////////////////////////////
CEnumTester::CEnumTester()
{
pObj = 0;
}
CEnumTester::~CEnumTester()
{
}
void CEnumTester::BeginCase(int arg)
{
switch(arg)
{
case ARG_DEFAULT:
{
pObj = new TESTCLASS();
break;
}
/*
case :
{
pObj = new TESTCLASS();
break;
}
case :
{
pObj = new TESTCLASS();
break;
}
*/
}
}
void CEnumTester::EndCase(int /*arg*/)
{
delete pObj;
pObj = 0;
}
//自定义测试,用MY_ASSERT(布尔表达式)断言预期输出
/////////////////////////////////////////////////////////////////////////////
void CEnumTester::CustomTest()
{
}
//
/////////////////////////////////////////////////////////////////////////////
void CEnumTester::ParseEnum_CTokenListR_POSITIONR()
{
TEST_BEGIN(CEnum::ParseEnum(CTokenList&,POSITION&));
//$$CASE_BEGIN(ParseEnum_CTokenListR_POSITIONR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList ioList;
CTokenReader reader;
reader.ReadTokenList(ioList, " EnumName {A};ddd,dee");
POSITION ioPos = ioList.GetHeadPosition();
TEST_RUN( pObj->ParseEnum(ioList, ioPos) );
reader.ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-24 22:16:2]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList ioList;
CTokenReader reader;
reader.ReadTokenList(ioList, " {A,B,C=10,D,E};");
POSITION ioPos = ioList.GetHeadPosition();
TEST_RUN( pObj->ParseEnum(ioList, ioPos) );
reader.ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-24 22:50:38]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList ioList;
CTokenReader reader;
reader.ReadTokenList(ioList, " EnumName {A,B,C=0x10,D,E};");
POSITION ioPos = ioList.GetHeadPosition();
TEST_RUN( pObj->ParseEnum(ioList, ioPos) );
reader.ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-8-24 22:45:56]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList ioList;
CTokenReader reader;
reader.ReadTokenList(ioList, " EnumName {A,B,C=0x10,D,E,};");
POSITION ioPos = ioList.GetHeadPosition();
TEST_RUN( pObj->ParseEnum(ioList, ioPos) );
reader.ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [4] [正常] [2006-8-25 21:5:54]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CTokenList ioList;
CTokenReader reader;
reader.ReadTokenList(ioList, " EnumName {C=ABDEE};ddd");
POSITION ioPos = ioList.GetHeadPosition();
TEST_RUN( pObj->ParseEnum(ioList, ioPos) );
reader.ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [5] [正常] [2006-9-16 19:16:10]
BVTEST_BEGIN_2(O,CTokenList,ioList,R,0,POSITION,ioPos,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据;
TEST_FILTER(ioPos != 0);
TEST_RUN( pObj->ParseEnum(ioList, ioPos) );
BVTEST_END(O,2)
//$$ [6] [自动] [2006-8-24 22:16:2]
//$$CASE_END(ParseEnum_CTokenListR_POSITIONR())
TEST_RATE(1000);
TEST_END();
}
//$$ParseEnum_CTokenListR_POSITIONR()
void CEnumTester::GetNextItem_CStringR()
{
TEST_BEGIN(CEnum::GetNextItem(CString&));
BOOL ret;
//$$CASE_BEGIN(GetNextItem_CStringR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oName;
CTokenList ioList;
CTokenReader reader;
reader.ReadTokenList(ioList, " EnumName {A,B,C=10,D,E};");
POSITION ioPos = ioList.GetHeadPosition();
pObj->ParseEnum(ioList, ioPos);
TEST_RUN( ret = pObj->GetNextItem(oName) );
TEST_RUN( ret = pObj->GetNextItem(oName) );
TEST_RUN( ret = pObj->GetNextItem(oName) );
TEST_RUN( ret = pObj->GetNextItem(oName) );
TEST_RUN( ret = pObj->GetNextItem(oName) );
TEST_ASSERT( ret == FALSE );
reader.ClearTokenList(ioList); //!
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-31 21:11:58]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
CString oName;
TEST_RUN( ret = pObj->GetNextItem(oName) );
TEST_RUN( ret = pObj->GetNextItem(oName) );
TEST_RUN( ret = pObj->GetNextItem(oName) );
TEST_RUN( ret = pObj->GetNextItem(oName) );
TEST_RUN( ret = pObj->GetNextItem(oName) );
TEST_ASSERT( ret == FALSE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-31 21:24:15]
//??BVTEST_BEGIN_1(O,CString,oName,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( ret = pObj->GetNextItem(oName) );
//TEST_ASSERT();
//??BVTEST_END(O,1)
//$$ [3] [自动] [2006-8-31 21:11:58]
//$$CASE_END(GetNextItem_CStringR())
TEST_RATE(1000);
TEST_END();
}
//$$GetNextItem_CStringR()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -