PuzzleSDK
UnitTest.cpp 文件参考
#include "UnitTest.h"
#include "ui/UIHelper.h"
#include "network/Uri.h"
#include "base/ccUtils.h"
#include "math/MathUtil.inl"
+ UnitTest.cpp 的引用(Include)关系图:

浏览源代码.

命名空间

namespace  UnitTest
 

宏定义

#define EXPECT_EQ(a, b)   assert((a) == (b))
 
#define EXPECT_NE(a, b)   assert((a) != (b))
 
#define EXPECT_TRUE(a)   assert(a)
 
#define EXPECT_FALSE(a)   assert(!(a))
 
#define TEST_CODE_NUM   11
 

函数

static void doUTFConversion ()
 
static void __checkMathUtilResult (const char *description, const float *a1, const float *a2, int size)
 

变量

 USING_NS_CC
 
static const char16_t __utf16Code []
 
static const unsigned char __utf8Code []
 
static const char16_t WHITE_SPACE_CODE []
 

宏定义说明

◆ EXPECT_EQ

#define EXPECT_EQ (   a,
 
)    assert((a) == (b))

在文件 UnitTest.cpp63 行定义.

◆ EXPECT_FALSE

#define EXPECT_FALSE (   a)    assert(!(a))

在文件 UnitTest.cpp66 行定义.

◆ EXPECT_NE

#define EXPECT_NE (   a,
 
)    assert((a) != (b))

在文件 UnitTest.cpp64 行定义.

◆ EXPECT_TRUE

#define EXPECT_TRUE (   a)    assert(a)

在文件 UnitTest.cpp65 行定义.

◆ TEST_CODE_NUM

#define TEST_CODE_NUM   11

在文件 UnitTest.cpp662 行定义.

函数说明

◆ __checkMathUtilResult()

static void __checkMathUtilResult ( const char *  description,
const float *  a1,
const float *  a2,
int  size 
)
static

在文件 UnitTest.cpp1476 行定义.

1477{
1478 log("-------------checking %s ----------------------------", description);
1479 // Check whether the result of the optimized instruction is the same as which is implemented in C
1480 for (int i = 0; i < size; ++i)
1481 {
1482 bool r = fabs(a1[i] - a2[i]) < 0.00001f;//FLT_EPSILON;
1483 if (r)
1484 {
1485 log("Correct: a1[%d]=%f, a2[%d]=%f", i, a1[i], i, a2[i]);
1486 }
1487 else
1488 {
1489 log("Wrong: a1[%d]=%f, a2[%d]=%f", i, a1[i], i, a2[i]);
1490 }
1491 CCASSERT(r, "The optimized instruction is implemented in a wrong way, please check it!");
1492 }
1493}

被这些函数引用 MathUtilTest::onEnter().

+ 这是这个函数的调用关系图:

◆ doUTFConversion()

static void doUTFConversion ( )
static

在文件 UnitTest.cpp728 行定义.

729{
730 bool isSuccess = false;
731
732 std::string originalUTF8 = (const char*)__utf8Code;
733 std::u16string originalUTF16 = __utf16Code;
734
735 //---------------------------
736 std::string utf8Str;
737 isSuccess = StringUtils::UTF16ToUTF8(originalUTF16, utf8Str);
738
739 if (isSuccess)
740 {
741 isSuccess = memcmp(utf8Str.data(), originalUTF8.data(), originalUTF8.length()+1)==0;
742 }
743
744 CCASSERT(isSuccess, "StringUtils::UTF16ToUTF8 failed");
745
746 //---------------------------
747 std::u16string utf16Str;
748 isSuccess = StringUtils::UTF8ToUTF16(originalUTF8, utf16Str);
749
750 if (isSuccess)
751 {
752 isSuccess = memcmp(utf16Str.data(), originalUTF16.data(), originalUTF16.length()+1)==0;
753 }
754
755 CCASSERT(isSuccess && (utf16Str.length() == TEST_CODE_NUM), "StringUtils::UTF8ToUTF16 failed");
756
757 //---------------------------
758 auto vec1 = StringUtils::getChar16VectorFromUTF16String(originalUTF16);
759
760 CCASSERT(vec1.size() == originalUTF16.length(), "StringUtils::getChar16VectorFromUTF16String failed");
761
762 //---------------------------
763 std::vector<char16_t> vec2( vec1 );
764 vec2.push_back(0x2009);
765 vec2.push_back(0x2009);
766 vec2.push_back(0x2009);
767 vec2.push_back(0x2009);
768
769 std::vector<char16_t> vec3( vec2 );
770 StringUtils::trimUTF16Vector(vec2);
771
772 CCASSERT(vec1.size() == vec2.size(), "StringUtils::trimUTF16Vector failed");
773
774 for (size_t i = 0; i < vec2.size(); i++ )
775 {
776 CCASSERT(vec1.at(i) == vec2.at(i), "StringUtils::trimUTF16Vector failed");
777 }
778
779 //---------------------------
780 CCASSERT(StringUtils::getCharacterCountInUTF8String(originalUTF8) == TEST_CODE_NUM, "StringUtils::getCharacterCountInUTF8String failed");
781
782 //---------------------------
783 CCASSERT(StringUtils::getIndexOfLastNotChar16(vec3, 0x2009) == (vec1.size()-1), "StringUtils::getIndexOfLastNotChar16 failed");
784
785 //---------------------------
786 CCASSERT(originalUTF16.length() == TEST_CODE_NUM, "The length of the original utf16 string isn't equal to TEST_CODE_NUM");
787
788 //---------------------------
789 size_t whiteCodeNum = sizeof(WHITE_SPACE_CODE) / sizeof(WHITE_SPACE_CODE[0]);
790 for( size_t i = 0; i < whiteCodeNum; i++ )
791 {
792 CCASSERT(StringUtils::isUnicodeSpace(WHITE_SPACE_CODE[i]), "StringUtils::isUnicodeSpace failed");
793 }
794
795 CCASSERT(!StringUtils::isUnicodeSpace(0xFFFF), "StringUtils::isUnicodeSpace failed");
796
797 CCASSERT(!StringUtils::isCJKUnicode(0xFFFF) && StringUtils::isCJKUnicode(0x3100), "StringUtils::isCJKUnicode failed");
798}
static const unsigned char __utf8Code[]
Definition: UnitTest.cpp:682
static const char16_t WHITE_SPACE_CODE[]
Definition: UnitTest.cpp:699
#define TEST_CODE_NUM
Definition: UnitTest.cpp:662
static const char16_t __utf16Code[]
Definition: UnitTest.cpp:664

引用了 __utf16Code, __utf8Code, TEST_CODE_NUM , 以及 WHITE_SPACE_CODE.

被这些函数引用 UTFConversionTest::onEnter().

+ 这是这个函数的调用关系图:

变量说明

◆ __utf16Code

const char16_t __utf16Code[]
static
初始值:
=
{
0x3042,
0x3044,
0x3046,
0x3048,
0x304A,
0x3042,
0x3044,
0x3046,
0x3048,
0x304A,
0x0041,
0x0000,
}

在文件 UnitTest.cpp664 行定义.

被这些函数引用 doUTFConversion().

◆ __utf8Code

const unsigned char __utf8Code[]
static
初始值:
=
{
0xE3,0x81,0x82,
0xE3,0x81,0x84,
0xE3,0x81,0x86,
0xE3,0x81,0x88,
0xE3,0x81,0x8A,
0xE3,0x81,0x82,
0xE3,0x81,0x84,
0xE3,0x81,0x86,
0xE3,0x81,0x88,
0xE3,0x81,0x8A,
0x41,
0x00,
}

在文件 UnitTest.cpp682 行定义.

被这些函数引用 doUTFConversion().

◆ USING_NS_CC

USING_NS_CC

在文件 UnitTest.cpp30 行定义.

◆ WHITE_SPACE_CODE

const char16_t WHITE_SPACE_CODE[]
static
初始值:
=
{
0x0009,
0x000A,
0x000B,
0x000C,
0x000D,
0x0020,
0x0085,
0x00A0,
0x1680,
0x2000,
0x2001,
0x2002,
0x2003,
0x2004,
0x2005,
0x2006,
0x2007,
0x2008,
0x2009,
0x200A,
0x2028,
0x2029,
0x202F,
0x205F,
0x3000
}

在文件 UnitTest.cpp699 行定义.

被这些函数引用 doUTFConversion().