update test case for pinyin header
authorPeng Wu <alexepico@gmail.com>
Fri, 9 Sep 2011 07:07:56 +0000 (15:07 +0800)
committerPeng Wu <alexepico@gmail.com>
Fri, 9 Sep 2011 07:07:56 +0000 (15:07 +0800)
tests/test_chewing.cpp
tests/test_phrase.cpp
tests/test_pinyin.cpp

index 912a93252ee2786ee61b936fe3d14cb559113eec..8d88bb2960a93e75b7887bbe586b462145e9a90f 100644 (file)
@@ -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;
index 0137e0889af40c7db8fad7fdb27f7cfdd2093e87..31ed51818944669c24f8c63d763395d928fb55f0 100644 (file)
@@ -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;
 }
index d8bc49a3700263ae2ea134d2e7ace6f1cde52b33..61671a449e8c6800ebd2a95082ac24b41dcb6def 100644 (file)
@@ -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;