mirror of
https://github.com/yanyiwu/cppjieba.git
synced 2025-07-18 00:00:12 +08:00
add unitest for TrieManager
This commit is contained in:
parent
4f21617180
commit
218480aac1
@ -5,7 +5,7 @@ SET(GTEST_ROOT_DIR gtest-1.6.0)
|
||||
|
||||
INCLUDE_DIRECTORIES(${GTEST_ROOT_DIR} ${GTEST_ROOT_DIR}/include ${PROJECT_SOURCE_DIR})
|
||||
ADD_LIBRARY(gtest STATIC ${GTEST_ROOT_DIR}/src/gtest-all.cc)
|
||||
ADD_EXECUTABLE(test.run gtest_main.cc TChineseFilter.cpp TMixSegment.cpp TMPSegment.cpp THMMSegment.cpp TTrie.cpp TFullSegment.cpp TQuerySegment.cpp)
|
||||
ADD_EXECUTABLE(test.run gtest_main.cc TChineseFilter.cpp TMixSegment.cpp TMPSegment.cpp THMMSegment.cpp TTrie.cpp TFullSegment.cpp TQuerySegment.cpp TTrieManager.cpp)
|
||||
TARGET_LINK_LIBRARIES(gtest pthread)
|
||||
TARGET_LINK_LIBRARIES(test.run gtest pthread)
|
||||
|
||||
|
52
test/unittest/TTrieManager.cpp
Normal file
52
test/unittest/TTrieManager.cpp
Normal file
@ -0,0 +1,52 @@
|
||||
#include "src/TrieManager.hpp"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
using namespace CppJieba;
|
||||
|
||||
struct md5_ptr
|
||||
{
|
||||
string md5;
|
||||
Trie* ptr;
|
||||
};
|
||||
typedef struct md5_ptr MD5_PTR;
|
||||
|
||||
static const char* const DICT_FILE[] = {
|
||||
"../test/testdata/jieba.dict.0.utf8",
|
||||
"../test/testdata/jieba.dict.0.utf8",
|
||||
"../test/testdata/jieba.dict.0.utf8",
|
||||
"../test/testdata/jieba.dict.0.1.utf8",
|
||||
"../test/testdata/jieba.dict.0.1.utf8",
|
||||
"../test/testdata/jieba.dict.0.1.utf8",
|
||||
"../test/testdata/jieba.dict.1.utf8",
|
||||
"../test/testdata/jieba.dict.1.utf8",
|
||||
"../test/testdata/jieba.dict.1.utf8",
|
||||
"../test/testdata/jieba.dict.2.utf8",
|
||||
"../test/testdata/jieba.dict.2.utf8",
|
||||
"../test/testdata/jieba.dict.2.utf8",
|
||||
"../test/testdata/jieba.dict.2.utf8"};
|
||||
|
||||
TEST(TrieManagerTest, Test1)
|
||||
{
|
||||
vector<MD5_PTR> tries(sizeof(DICT_FILE)/sizeof(DICT_FILE[0]));
|
||||
for (uint i = 0; i < tries.size(); i++)
|
||||
{
|
||||
tries[i].ptr = TrieManager::getInstance().getTrie(DICT_FILE[i]);
|
||||
ASSERT_TRUE(md5File(DICT_FILE[i], tries[i].md5));
|
||||
}
|
||||
|
||||
for (uint i = 0; i < tries.size(); i++)
|
||||
{
|
||||
for (uint j = i + 1; j < tries.size(); j++)
|
||||
{
|
||||
if (tries[i].md5 == tries[j].md5)
|
||||
{
|
||||
ASSERT_EQ(tries[i].ptr, tries[j].ptr);
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSERT_NE(tries[i].ptr, tries[j].ptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user