📄 ctokentester.cpp
字号:
/**************************************************
//$$ BEGIN
LPCTSTR@@0@2@""$0
int@INT4@0@5@-2147483647$-1$0$1$2147483647
char@TCHAR$signed_char@0@5@-128$-1$0$1$127
CString@@0@3@"Visual Unit"$""$"中文怎么样?"
//$$ END
**************************************************/
/**************************************************
作 者:user1
建立日期:2006-8-15
修改日期:
说 明:测试文件,用于测试[CToken]。
**************************************************/
#include "stdafx.h"
//
/////////////////////////////////////////////////////////////////////////////
#include "CTokenTester.h"
//
/////////////////////////////////////////////////////////////////////////////
void CTokenTester::ClassTest()
{
TEST_SOURCE_NAME(Token.cpp);
CUSTOM_TEST(CToken);
//$$
TEST_CALL_BEGIN(CToken,1,0)
TEST_CALL1(CopyContent_LPCTSTR_int())//CopyContent(LPCTSTR,int)
TEST_CALL1(CopyContent_LPCTSTR_int_LPCTSTR())//CopyContent(LPCTSTR,int,LPCTSTR)
TEST_CALL1(CatContent_LPCTSTR())//CatContent(LPCTSTR)
TEST_CALL1(ReadWord_LPCTSTR())//ReadWord(LPCTSTR)
TEST_CALL1(ReadDigit_LPCTSTR())//ReadDigit(LPCTSTR)
TEST_CALL1(ReadSingleLineComment_LPCTSTR())//ReadSingleLineComment(LPCTSTR)
TEST_CALL1(ReadMulLineComment_LPCTSTR())//ReadMulLineComment(LPCTSTR)
TEST_CALL1(ReadString_LPCTSTR())//ReadString(LPCTSTR)
TEST_CALL1(ReadWString_LPCTSTR())//ReadWString(LPCTSTR)
TEST_CALL1(ReadChar_LPCTSTR())//ReadChar(LPCTSTR)
TEST_CALL1(ReadWChar_LPCTSTR())//ReadWChar(LPCTSTR)
TEST_CALL1(IsBeginOfWord_char())//IsBeginOfWord(char)
TEST_CALL1(CleanupComment_CStringR())//CleanupComment(CString&)
TEST_CALL_END()
//$$
}
//
/////////////////////////////////////////////////////////////////////////////
CTokenTester::CTokenTester()
{
pObj = 0;
}
CTokenTester::~CTokenTester()
{
}
void CTokenTester::BeginCase(int arg)
{
switch(arg)
{
case ARG_DEFAULT:
{
pObj = new TESTCLASS(1, 1);
break;
}
/*
case :
{
pObj = new TESTCLASS();
break;
}
case :
{
pObj = new TESTCLASS();
break;
}
*/
}
}
void CTokenTester::EndCase(int /*arg*/)
{
delete pObj;
pObj = 0;
}
//自定义测试,用MY_ASSERT(布尔表达式)断言预期输出
/////////////////////////////////////////////////////////////////////////////
void CTokenTester::CustomTest()
{
}
//
/////////////////////////////////////////////////////////////////////////////
void CTokenTester::CopyContent_LPCTSTR_int()
{
TEST_BEGIN(CToken::CopyContent(LPCTSTR,int));
//$$CASE_BEGIN(CopyContent_LPCTSTR_int())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "abdeekde";
int iLen = 2;
TEST_RUN( pObj->CopyContent(ipCode, iLen) );
TEST_ASSERT( strcmp(pObj->mpContent, "ab") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-17 10:1:55]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "abdeekde";
int iLen = 0;
TEST_RUN( pObj->CopyContent(ipCode, iLen) );
TEST_ASSERT( strcmp(pObj->mpContent, "") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-17 10:14:59]
//??BVTEST_BEGIN_2(O,LPCTSTR,ipCode,R,0,int,iLen,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->CopyContent(ipCode, iLen) );
//TEST_ASSERT();
//??BVTEST_END(O,2)
//$$ [3] [自动] [2006-8-17 10:1:55]
//$$CASE_END(CopyContent_LPCTSTR_int())
TEST_RATE(1000);
TEST_END();
}
//$$CopyContent_LPCTSTR_int()
void CTokenTester::CopyContent_LPCTSTR_int_LPCTSTR()
{
TEST_BEGIN(CToken::CopyContent(LPCTSTR,int,LPCTSTR));
//$$CASE_BEGIN(CopyContent_LPCTSTR_int_LPCTSTR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "abcdedeee";
int iLen = 3;
LPCTSTR iHead = "L\"";
LPCTSTR out = "L\"abc";
TEST_RUN( pObj->CopyContent(ipCode, iLen, iHead) );
TEST_ASSERT( strcmp(pObj->mpContent, out) == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-17 10:7:41]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "abcdedeee";
int iLen = 3;
LPCTSTR iHead = "";
LPCTSTR out = "abc";
TEST_RUN( pObj->CopyContent(ipCode, iLen, iHead) );
TEST_ASSERT( strcmp(pObj->mpContent, out) == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-17 10:11:42]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "abcdedeee";
int iLen = 3;
LPCTSTR iHead = NULL;
LPCTSTR out = "abc";
TEST_RUN( pObj->CopyContent(ipCode, iLen, iHead) );
TEST_ASSERT( strcmp(pObj->mpContent, out) == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-8-17 10:12:1]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "abcdedeee";
int iLen = 0;
LPCTSTR iHead = NULL;
LPCTSTR out = "";
TEST_RUN( pObj->CopyContent(ipCode, iLen, iHead) );
TEST_ASSERT( strcmp(pObj->mpContent, out) == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [4] [正常] [2006-8-17 10:12:20]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "";
int iLen = 0;
LPCTSTR iHead = "";
LPCTSTR out = "";
TEST_RUN( pObj->CopyContent(ipCode, iLen, iHead) );
TEST_ASSERT( strcmp(pObj->mpContent, out) == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [5] [正常] [2006-8-17 10:14:16]
//??BVTEST_BEGIN_3(O,LPCTSTR,ipCode,R,0,int,iLen,R,0,LPCTSTR,iHead,R,1)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->CopyContent(ipCode, iLen, iHead) );
//TEST_ASSERT();
//??BVTEST_END(O,3)
//$$ [6] [自动] [2006-8-17 10:7:41]
//$$CASE_END(CopyContent_LPCTSTR_int_LPCTSTR())
TEST_RATE(1000);
TEST_END();
}
//$$CopyContent_LPCTSTR_int_LPCTSTR()
void CTokenTester::CatContent_LPCTSTR()
{
TEST_BEGIN(CToken::CatContent(LPCTSTR));
//$$CASE_BEGIN(CatContent_LPCTSTR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iCat = "1.2.2";
pObj->ReadWord("Visual");
TEST_RUN( pObj->CatContent(iCat) );
TEST_ASSERT( strcmp(pObj->GetContent(), "Visual1.2.2") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-24 14:29:36]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iCat = "1.2.2";
TEST_RUN( pObj->CatContent(iCat) );
TEST_ASSERT( strcmp(pObj->GetContent(), "1.2.2") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-24 14:32:44]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR iCat = NULL;
TEST_RUN( pObj->CatContent(iCat) );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-8-24 14:36:48]
//??BVTEST_BEGIN_1(O,LPCTSTR,iCat,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( pObj->CatContent(iCat) );
//TEST_ASSERT();
//??BVTEST_END(O,1)
//$$ [4] [自动] [2006-8-24 14:29:36]
//$$CASE_END(CatContent_LPCTSTR())
TEST_RATE(1000);
TEST_END();
}
//$$CatContent_LPCTSTR()
void CTokenTester::ReadWord_LPCTSTR()
{
TEST_BEGIN(CToken::ReadWord(LPCTSTR));
int ret;
//$$CASE_BEGIN(ReadWord_LPCTSTR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "include kae";
TEST_RUN( ret = pObj->ReadWord(ipCode) );
TEST_ASSERT( ret == strlen("include") );
TEST_ASSERT( strcmp(pObj->mpContent, "include") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-27 22:15:19]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "include( kae";
TEST_RUN( ret = pObj->ReadWord(ipCode) );
TEST_ASSERT( ret == strlen("include") );
TEST_ASSERT( strcmp(pObj->mpContent, "include") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-27 22:15:19]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "include; kae";
TEST_RUN( ret = pObj->ReadWord(ipCode) );
TEST_ASSERT( ret == strlen("include") );
TEST_ASSERT( strcmp(pObj->mpContent, "include") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-8-27 22:15:19]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "include2; kae";
TEST_RUN( ret = pObj->ReadWord(ipCode) );
TEST_ASSERT( ret == strlen("include2") );
TEST_ASSERT( strcmp(pObj->mpContent, "include2") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [4] [正常] [2006-8-27 22:15:19]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "include_; kae";
TEST_RUN( ret = pObj->ReadWord(ipCode) );
TEST_ASSERT( ret == strlen("include_") );
TEST_ASSERT( strcmp(pObj->mpContent, "include_") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [5] [正常] [2006-8-27 22:15:19]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "include_2; kae";
TEST_RUN( ret = pObj->ReadWord(ipCode) );
TEST_ASSERT( ret == strlen("include_2") );
TEST_ASSERT( strcmp(pObj->mpContent, "include_2") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [6] [正常] [2006-8-27 22:15:19]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "_include_2; kae";
TEST_RUN( ret = pObj->ReadWord(ipCode) );
TEST_ASSERT( ret == strlen("_include_2") );
TEST_ASSERT( strcmp(pObj->mpContent, "_include_2") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [7] [正常] [2006-8-27 22:15:19]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "Abcd\\\nefg; kae";
TEST_RUN( ret = pObj->ReadWord(ipCode) );
TEST_ASSERT( ret == strlen("Abcdefg") + 2 );
TEST_ASSERT( strcmp(pObj->mpContent, "Abcdefg") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [8] [正常] [2006-8-27 22:15:19]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "Abcd\\efg; kae";
TEST_RUN( ret = pObj->ReadWord(ipCode) );
TEST_ASSERT( ret == strlen("Abcd") );
TEST_ASSERT( strcmp(pObj->mpContent, "Abcd") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [9] [正常] [2006-8-27 22:15:19]
//??BVTEST_BEGIN_1(O,LPCTSTR,ipCode,R,0)
//自动边界测试用例,可用TEST_FILTER()过滤输入数据
//TEST_FILTER();
//??TEST_RUN( ret = pObj->ReadWord(ipCode) );
//TEST_ASSERT();
//??BVTEST_END(O,1)
//$$ [10] [自动] [2006-8-27 22:15:19]
//$$CASE_END(ReadWord_LPCTSTR())
TEST_RATE(1000);
TEST_END();
}
//$$ReadWord_LPCTSTR()
void CTokenTester::ReadDigit_LPCTSTR()
{
TEST_BEGIN(CToken::ReadDigit(LPCTSTR));
int ret;
//$$CASE_BEGIN(ReadDigit_LPCTSTR())
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "123.456 kde";
TEST_RUN( ret = pObj->ReadDigit(ipCode) );
TEST_ASSERT( ret == strlen("123.456") );
TEST_ASSERT( strcmp(pObj->mpContent, "123.456") == 0 );
TEST_ASSERT( pObj->mSubType == TTS_DOUBLE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [1] [正常] [2006-8-27 22:16:30]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "0x12AB03 rr";
TEST_RUN( ret = pObj->ReadDigit(ipCode) );
TEST_ASSERT( ret == strlen("0x12AB03") );
TEST_ASSERT( strcmp(pObj->mpContent, "0x12AB03") == 0 );
TEST_ASSERT( pObj->mSubType == TTS_INT );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [2] [正常] [2006-8-27 22:16:30]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "123E-1 dk";
TEST_RUN( ret = pObj->ReadDigit(ipCode) );
TEST_ASSERT( ret == strlen("123E-1") );
TEST_ASSERT( strcmp(pObj->mpContent, "123E-1") == 0 );
TEST_ASSERT( pObj->mSubType == TTS_DOUBLE );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [3] [正常] [2006-8-27 22:16:30]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "0x123E-1 dk";
TEST_RUN( ret = pObj->ReadDigit(ipCode) );
TEST_ASSERT( ret == strlen("0x123E") );
TEST_ASSERT( strcmp(pObj->mpContent, "0x123E") == 0 );
TEST_ASSERT( pObj->mSubType == TTS_INT );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [4] [正常] [2006-9-6 15:46:44]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "123L dd";
TEST_RUN( ret = pObj->ReadDigit(ipCode) );
TEST_ASSERT( ret == strlen("123L") );
TEST_ASSERT( strcmp(pObj->mpContent, "123L") == 0 );
TEST_ASSERT( pObj->mSubType == TTS_LONG );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [5] [正常] [2006-8-27 22:16:30]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "123LU dd";
TEST_RUN( ret = pObj->ReadDigit(ipCode) );
TEST_ASSERT( ret == strlen("123LU") );
TEST_ASSERT( strcmp(pObj->mpContent, "123LU") == 0 );
TEST_ASSERT( pObj->mSubType == TTS_UNSIGNED_LONG );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [6] [正常] [2006-9-6 16:13:9]
///
TEST_CASE_BEGINO( ARG_DEFAULT );
LPCTSTR ipCode = "12\\\n3L dd";
TEST_RUN( ret = pObj->ReadDigit(ipCode) );
TEST_ASSERT( ret == strlen("123L") + 2 );
TEST_ASSERT( strcmp(pObj->mpContent, "123L") == 0 );
TEST_CASE_ENDO( ARG_DEFAULT );
//$$ [7] [正常] [2006-8-27 22:16:30]
///
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -