diff --git a/src/SegmentBase.hpp b/src/SegmentBase.hpp index 4fe73b2..ee990ac 100644 --- a/src/SegmentBase.hpp +++ b/src/SegmentBase.hpp @@ -26,14 +26,14 @@ namespace CppJieba virtual bool cut(Unicode::const_iterator begin, Unicode::const_iterator end, vector& res)const = 0; virtual bool cut(const string& str, vector& res)const { - if(!_getInitFlag()) - { - LogError("not inited."); - return false; - } + assert(_getInitFlag()); + //if(!_getInitFlag()) + //{ + // LogError("not inited."); + // return false; + //} Unicode unico; #ifdef NO_FILTER - unico.clear(); if(!TransCode::decode(str, unico)) { LogFatal("str[%s] decode failed.", str.c_str()); diff --git a/test/unittest/TMixSegment.cpp b/test/unittest/TMixSegment.cpp index f9e0b9e..efeb333 100644 --- a/test/unittest/TMixSegment.cpp +++ b/test/unittest/TMixSegment.cpp @@ -6,10 +6,16 @@ using namespace CppJieba; TEST(MixSegmentTest, Test1) { MixSegment segment("../dicts/jieba.dict.utf8", "../dicts/hmm_model.utf8");; - const char* str = "我来自北京邮电大学。。。学号 123456"; - const char* res[] = {"我", "来自", "北京邮电大学", "。","。","。","。","学号", " 123456"}; - string s; - vector buf(res, res + sizeof(res)/sizeof(res[0])); + const char* str = "我来自北京邮电大学。。。 学号 123456"; + const char* res[] = {"我", "来自", "北京邮电大学", "。","。","。"," ","学号", " 123456"}; + //string s; + //vector buf(res, res + sizeof(res)/sizeof(res[0])); + vector words; + ASSERT_EQ(segment.init(), true); + ASSERT_EQ(segment.cut(str, words), true); + EXPECT_EQ(words, vector(res, res + sizeof(res)/sizeof(res[0]))); + //print(words); + //for(uint i = 0; i < sizeof(res)/sizeof(res[0]); i++) //{ // buf.push_back()