diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 8b35898..faf5003 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,5 +1,6 @@ SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/test) ADD_EXECUTABLE(segment.demo segment.cpp) +ADD_EXECUTABLE(keyword.demo keyword_demo.cpp) ADD_EXECUTABLE(load_test load_test.cpp) ADD_SUBDIRECTORY(unittest) diff --git a/test/keyword_demo.cpp b/test/keyword_demo.cpp index 50f0538..5de883d 100644 --- a/test/keyword_demo.cpp +++ b/test/keyword_demo.cpp @@ -5,10 +5,9 @@ int main(int argc, char ** argv) { KeywordExtractor extractor("../dict/jieba.dict.utf8", "../dict/hmm_model.utf8", "../dict/idf.utf8"); string s("我是蓝翔技工拖拉机学院手扶拖拉机专业的。不用多久,我就会升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰。"); - string res; vector > wordweights; size_t topN = 5; extractor.extract(s, wordweights, topN); - print(res); + print(wordweights); return EXIT_SUCCESS; } diff --git a/test/unittest/TKeywordExtractor.cpp b/test/unittest/TKeywordExtractor.cpp index 8a84985..9a2b586 100644 --- a/test/unittest/TKeywordExtractor.cpp +++ b/test/unittest/TKeywordExtractor.cpp @@ -45,21 +45,15 @@ TEST(KeywordExtractorTest, Test3) } -//TEST(KeywordExtractorTest, Test4) -//{ -// ifstream ifs("../test/testdata/weicheng.utf8"); -// ASSERT_TRUE(!!ifs); -// string str((istreambuf_iterator(ifs)), (istreambuf_iterator())); -// KeywordExtractor extractor("../dict/jieba.dict.utf8", "../dict/hmm_model.utf8", "../dict/idf.utf8"); -// //const char* res[] = {"小姐", "孙小姐", "方鸿渐", "自己", "没有"}; -// vector > keywords; -// extractor.extract(str, keywords, 5); -// //print(keywords); -// string res; -// res << keywords; -// print(keywords); -// print(__LINE__); -// exit(1); -// ASSERT_EQ(res, "[\"小姐:4268.75\", \"孙小姐:3789.41\", \"方鸿渐:3030.35\", \"自己:2300.54\", \"没有:2104.27\"]"); -// -//} +TEST(KeywordExtractorTest, Test4) +{ + KeywordExtractor extractor("../dict/jieba.dict.utf8", "../dict/hmm_model.utf8", "../dict/idf.utf8"); + string s("我是蓝翔技工拖拉机学院手扶拖拉机专业的。不用多久,我就会升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰。"); + string res; + vector > wordweights; + size_t topN = 5; + extractor.extract(s, wordweights, topN); + res << wordweights; + print(res); + ASSERT_EQ(res, "[\"CEO:11.7392\", \"白富美:11.7392\", \"蓝翔:11.7392\", \"迎娶:10.0505\", \"加薪:10.6426\"]"); +}