diff options
author | Peng Wu <alexepico@gmail.com> | 2011-09-09 15:07:56 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2011-09-09 15:07:56 +0800 |
commit | 014d8c208f4edd8be02929893e270b1fbe17082b (patch) | |
tree | 765571268273b618da7cd85a304c67ee0ae42c5d /tests | |
parent | 65d222d080b2bea07a49b981460435f39bff4f4b (diff) | |
download | libpinyin-014d8c208f4edd8be02929893e270b1fbe17082b.tar.gz libpinyin-014d8c208f4edd8be02929893e270b1fbe17082b.tar.xz libpinyin-014d8c208f4edd8be02929893e270b1fbe17082b.zip |
update test case for pinyin header
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_chewing.cpp | 23 | ||||
-rw-r--r-- | tests/test_phrase.cpp | 11 | ||||
-rw-r--r-- | tests/test_pinyin.cpp | 23 |
3 files changed, 20 insertions, 37 deletions
diff --git a/tests/test_chewing.cpp b/tests/test_chewing.cpp index 912a932..8d88bb2 100644 --- a/tests/test_chewing.cpp +++ b/tests/test_chewing.cpp @@ -27,13 +27,7 @@ int main(int argc, char * argv[]){ pinyin_context_t * context = pinyin_init("../data", "../data"); - PinyinKeyVector pinyin_keys = NULL; - PinyinKeyPosVector pinyin_poses = NULL; - CandidateConstraints constraints = NULL; - MatchResults match_results = NULL; - - pinyin_alloc_auxiliary_arrays - (context, &pinyin_keys, &pinyin_poses, &constraints, &match_results); + pinyin_instance_t * instance = pinyin_get_instance(context); char* linebuf = NULL; size_t size = 0; @@ -47,23 +41,20 @@ int main(int argc, char * argv[]){ break; pinyin_parse_more_chewings - (context, linebuf, pinyin_keys, pinyin_poses); - pinyin_update_constraints(context, pinyin_keys, constraints); - pinyin_get_guessed_tokens(context, pinyin_keys, constraints, - match_results); + (instance, linebuf); + pinyin_guess_sentence(instance); char * sentence = NULL; - pinyin_get_sentence (context, match_results, &sentence); + pinyin_get_sentence (instance, &sentence); printf("%s\n", sentence); g_free(sentence); - pinyin_train(context, pinyin_keys, constraints, match_results); - pinyin_reset(context, pinyin_keys, constraints, match_results); + pinyin_train(instance); + pinyin_reset(instance); pinyin_save(context); } - pinyin_free_auxiliary_arrays - (context, &pinyin_keys, &pinyin_poses, &constraints, &match_results); + pinyin_release_instance(instance); pinyin_fini(context); free(linebuf); return 0; diff --git a/tests/test_phrase.cpp b/tests/test_phrase.cpp index 0137e08..31ed518 100644 --- a/tests/test_phrase.cpp +++ b/tests/test_phrase.cpp @@ -27,8 +27,7 @@ int main(int argc, char * argv[]){ pinyin_context_t * context = pinyin_init("../data", "../data"); - TokenVector tokens = - g_array_new(FALSE, FALSE, sizeof(phrase_token_t)); + pinyin_instance_t * instance = pinyin_get_instance(context); char* linebuf = NULL; size_t size = 0; @@ -41,7 +40,9 @@ int main(int argc, char * argv[]){ if ( strcmp ( linebuf, "quit" ) == 0) break; - pinyin_phrase_segment(context, linebuf, tokens); + pinyin_phrase_segment(instance, linebuf); + MatchResults & tokens = instance->m_match_results; + for ( size_t i = 0; i < tokens->len; ++i ){ phrase_token_t token = g_array_index (tokens, phrase_token_t, i); @@ -50,7 +51,7 @@ int main(int argc, char * argv[]){ continue; char * word = NULL; - pinyin_translate_token(context, token, &word); + pinyin_translate_token(instance, token, &word); printf("%s\t", word); g_free(word); } @@ -59,8 +60,8 @@ int main(int argc, char * argv[]){ pinyin_save(context); } + pinyin_release_instance(instance); pinyin_fini(context); - g_array_free(tokens, TRUE); free(linebuf); return 0; } diff --git a/tests/test_pinyin.cpp b/tests/test_pinyin.cpp index d8bc49a..61671a4 100644 --- a/tests/test_pinyin.cpp +++ b/tests/test_pinyin.cpp @@ -27,13 +27,7 @@ int main(int argc, char * argv[]){ pinyin_context_t * context = pinyin_init("../data", "../data"); - PinyinKeyVector pinyin_keys = NULL; - PinyinKeyPosVector pinyin_poses = NULL; - CandidateConstraints constraints = NULL; - MatchResults match_results = NULL; - - pinyin_alloc_auxiliary_arrays - (context, &pinyin_keys, &pinyin_poses, &constraints, &match_results); + pinyin_instance_t * instance = pinyin_get_instance(context); char* linebuf = NULL; size_t size = 0; @@ -46,23 +40,20 @@ int main(int argc, char * argv[]){ if ( strcmp ( linebuf, "quit" ) == 0) break; - pinyin_parse_more_fulls(context, linebuf, pinyin_keys, pinyin_poses); - pinyin_update_constraints(context, pinyin_keys, constraints); - pinyin_get_guessed_tokens(context, pinyin_keys, constraints, - match_results); + pinyin_parse_more_fulls(instance, linebuf); + pinyin_guess_sentence(instance); char * sentence = NULL; - pinyin_get_sentence (context, match_results, &sentence); + pinyin_get_sentence (instance, &sentence); printf("%s\n", sentence); g_free(sentence); - pinyin_train(context, pinyin_keys, constraints, match_results); - pinyin_reset(context, pinyin_keys, constraints, match_results); + pinyin_train(instance); + pinyin_reset(instance); pinyin_save(context); } - pinyin_free_auxiliary_arrays - (context, &pinyin_keys, &pinyin_poses, &constraints, &match_results); + pinyin_release_instance(instance); pinyin_fini(context); free(linebuf); return 0; |