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

📄 cxmltester.cpp

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


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

#include "stdafx.h"
//
/////////////////////////////////////////////////////////////////////////////
#include "CXmlTester.h"

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

void CXmlTester::ClassTest()
{
    TEST_SOURCE_NAME(Xml.cpp);
    CUSTOM_TEST(CXml);
 
    //$$
    TEST_CALL_BEGIN(CXml,1,0)
    TEST_CALL1(Open_LPCTSTR())//Open(LPCTSTR)
    TEST_CALL1(ReadContent_charPR_CStringR())//ReadContent(char*&,CString&)
    TEST_CALL1(ParseXmlFile_charP())//ParseXmlFile(char*)
    TEST_CALL1(ParseTag_charPR_CStringR_UINTR_BOOL())//ParseTag(char*&,CString&,UINT&,BOOL)
    TEST_CALL1(Save_LPCTSTR())//Save(LPCTSTR)
    TEST_CALL1(AddNode_LPCTSTR_LPCTSTR_LPCTSTR_LPCTSTR())//AddNode(LPCTSTR,LPCTSTR,LPCTSTR,LPCTSTR)
    TEST_CALL1(CreateNode_LPCTSTR_LPCTSTR_LPCTSTR_CXmlNodeP())//CreateNode(LPCTSTR,LPCTSTR,LPCTSTR,CXmlNode*)
    TEST_CALL1(FindNode_LPCTSTR())//FindNode(LPCTSTR)
    TEST_CALL_END()
    //$$
}

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

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

CXmlTester::~CXmlTester()
{

}

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

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

    }
}

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

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

void CXmlTester::CustomTest()
{

}

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

void CXmlTester::Open_LPCTSTR()
{
    TEST_BEGIN(CXml::Open(LPCTSTR));
    BOOL ret;

    //$$CASE_BEGIN(Open_LPCTSTR())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    LPCTSTR iFilePath  = "xmldata/test1.xml";
    TEST_RUN( ret = pObj->Open(iFilePath) );
    TEST_ASSERT( ret == TRUE );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-7-20 15:23:10]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    LPCTSTR iFilePath  = "xmldata/test3.xml";
    TEST_RUN( ret = pObj->Open(iFilePath) );
    TEST_ASSERT( ret == TRUE );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-7-21 15:53:11]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    LPCTSTR iFilePath  = "xmldata/notexist.xml";
    TEST_RUN( ret = pObj->Open(iFilePath) );
    TEST_ASSERT( ret == FALSE );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [3] [正常] [2006-9-29 9:50:46]

    BVTEST_BEGIN_1(O,LPCTSTR,iFilePath,R,0)
    //自动边界测试用例,可用TEST_FILTER()过滤输入数据
    //TEST_FILTER();
    TEST_RUN( ret = pObj->Open(iFilePath) );
    //TEST_ASSERT();
    BVTEST_END(O,1)
    //$$ [4] [自动] [2006-7-20 15:23:10]

    //$$CASE_END(Open_LPCTSTR())

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





void CXmlTester::ReadContent_charPR_CStringR()
{
    TEST_BEGIN(CXml::ReadContent(char*&,CString&));
    BOOL ret;

    //$$CASE_BEGIN(ReadContent_charPR_CStringR())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    char temp[] = "ab,dkee</Tag>";
    char* ipText      = temp;
    CString oContent;
    TEST_RUN( ret = pObj->ReadContent(ipText, oContent) );
    TEST_ASSERT( ret == TRUE );
    TEST_ASSERT( oContent == "ab,dkee" );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-7-20 19:41:1]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    char temp[] = "";
    char* ipText      = temp;
    CString oContent;
    TEST_RUN( ret = pObj->ReadContent(ipText, oContent) );
    TEST_ASSERT( ret == TRUE );
    TEST_ASSERT( oContent == "" );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-7-20 19:54:44]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    char temp[] = "abdkee";
    char* ipText      = temp;
    CString oContent;
    TEST_RUN( ret = pObj->ReadContent(ipText, oContent) );
    TEST_ASSERT( ret == TRUE );
    TEST_ASSERT( oContent == "abdkee" );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [3] [正常] [2006-7-20 19:45:30]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    char temp[] = "</Tag>";
    char* ipText      = temp;
    CString oContent;
    TEST_RUN( ret = pObj->ReadContent(ipText, oContent) );
    TEST_ASSERT( ret == TRUE );
    TEST_ASSERT( oContent == "" );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [4] [正常] [2006-7-20 19:55:5]

    BVTEST_BEGIN_2(O,LPTSTR,ipText,R,0,CString,oContent,R,0)
    //自动边界测试用例,可用TEST_FILTER()过滤输入数据
    //TEST_FILTER();
    TEST_RUN( ret = pObj->ReadContent(ipText, oContent) );
    //TEST_ASSERT();
    BVTEST_END(O,2)
    //$$ [5] [自动] [2006-7-20 19:41:1]

    //$$CASE_END(ReadContent_charPR_CStringR())

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

void CXmlTester::ParseXmlFile_charP()
{
    TEST_BEGIN(CXml::ParseXmlFile(char*));
    BOOL ret;

    //$$CASE_BEGIN(ParseXmlFile_charP())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    char ipText[]     = "<?xml version=\"1.0\"?>\n<xmlRoot>\t\n<parent>kdie</parent>\n</xmlRoot>";
    TEST_RUN( ret = pObj->ParseXmlFile(ipText) );
    TEST_ASSERT( ret == TRUE );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-7-20 23:13:52]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    char ipText[]     = "<?xml version=\"1.0\"?>\n<xmlRoot>\t\n<Tag/>\n<parent>kdie</parent>\n</xmlRoot>";
    TEST_RUN( ret = pObj->ParseXmlFile(ipText) );
    TEST_ASSERT( ret == TRUE );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-7-21 0:28:37]

    BVTEST_BEGIN_1(O,LPTSTR,ipText,R,0)
    //自动边界测试用例,可用TEST_FILTER()过滤输入数据
    //TEST_FILTER();
    TEST_RUN( ret = pObj->ParseXmlFile(ipText) );
    //TEST_ASSERT();
    BVTEST_END(O,1)
    //$$ [3] [自动] [2006-7-20 23:13:52]

    //$$CASE_END(ParseXmlFile_charP())

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

void CXmlTester::ParseTag_charPR_CStringR_UINTR_BOOL()
{
    TEST_BEGIN(CXml::ParseTag(char*&,CString&,UINT&,BOOL));
    BOOL ret;

    //$$CASE_BEGIN(ParseTag_charPR_CStringR_UINTR_BOOL())

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    char temp[] = "<Tag name=\"name\"/>";
    char* ipText = temp;
    CString oTagStr;
    UINT oTagType;
    BOOL iBegin = TRUE;
    TEST_RUN( ret = pObj->ParseTag(ipText, oTagStr, oTagType, iBegin) );
    TEST_ASSERT( ret == TRUE );
    TEST_ASSERT( oTagType == CXml::TAG_FULL );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [1] [正常] [2006-7-21 0:17:28]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    char temp[]    = "<Tag name=\"name>\">";
    char* ipText = temp;
    CString oTagStr;
    UINT oTagType;
    BOOL iBegin = TRUE;
    TEST_RUN( ret = pObj->ParseTag(ipText, oTagStr, oTagType, iBegin) );
    TEST_ASSERT( ret == TRUE );
    TEST_ASSERT( oTagType == CXml::TAG_BEGIN );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [2] [正常] [2006-7-21 0:17:28]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    char temp[]    = "<Tag/>";
    char* ipText = temp;
    CString oTagStr;
    UINT oTagType;
    BOOL iBegin = TRUE;
    TEST_RUN( ret = pObj->ParseTag(ipText, oTagStr, oTagType, iBegin) );
    TEST_ASSERT( ret == TRUE );
    TEST_ASSERT( oTagStr == "<Tag/>" );
    TEST_ASSERT( oTagType == CXml::TAG_FULL );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [3] [正常] [2006-7-21 0:17:28]

    /// 
    TEST_CASE_BEGINO( ARG_DEFAULT );
    char temp[]    = "</Tag>";
    char* ipText = temp;
    CString oTagStr;
    UINT oTagType;
    BOOL iBegin = TRUE;
    TEST_RUN( ret = pObj->ParseTag(ipText, oTagStr, oTagType, iBegin) );
    TEST_ASSERT( ret == TRUE );
    TEST_ASSERT( oTagStr == "</Tag>" );
    TEST_ASSERT( oTagType == CXml::TAG_END );
    TEST_CASE_ENDO( ARG_DEFAULT );
    //$$ [4] [正常] [2006-7-21 0:17:28]

    /// 

⌨️ 快捷键说明

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