#include <stdio.h>
#include <locale.h>
#include "pinyin_internal.h"
+#include "tests_helper.h"
void print_help(){
printf("Usage: test_phrase_lookup\n");
}
printf("\n");
#endif
- phrase_lookup->convert_to_utf8(results, "\n", result_string);
+ phrase_lookup->convert_to_utf8(results, result_string);
if (result_string)
printf("%s\n", result_string);
else
}
int main(int argc, char * argv[]){
- int i = 1;
setlocale(LC_ALL, "");
- //deal with options.
- while ( i < argc ){
- if ( strcmp ("--help", argv[i]) == 0 ){
- print_help();
- exit(0);
- } else {
- print_help();
- exit(EINVAL);
- }
- ++i;
- }
-
- //init phrase table
- FacadePhraseTable phrase_table;
+ /* init phrase table */
+ FacadePhraseTable2 phrase_table;
MemoryChunk * chunk = new MemoryChunk;
chunk->load("../../data/phrase_index.bin");
phrase_table.load(chunk, NULL);
- //init phrase index
+ /* init phrase index */
FacadePhraseIndex phrase_index;
- for (size_t i = 0; i < PHRASE_INDEX_LIBRARY_COUNT; ++i) {
- const char * bin_file = pinyin_phrase_files[i];
- if (NULL == bin_file)
- continue;
- gchar * filename = g_build_filename("..", "..", "data", bin_file,NULL);
- chunk = new MemoryChunk;
- chunk->load(filename);
- phrase_index.load(i, chunk);
- g_free(filename);
- }
+ if (!load_phrase_index(&phrase_index))
+ exit(ENOENT);
- //init bi-gram
+ /* init bi-gram */
Bigram system_bigram;
system_bigram.attach("../../data/bigram.db", ATTACH_READONLY);
Bigram user_bigram;
- //init phrase lookup
+ /* init phrase lookup */
PhraseLookup phrase_lookup(&phrase_table, &phrase_index,
&system_bigram, &user_bigram);
- //try one sentence
+ /* try one sentence */
char * linebuf = NULL;
size_t size = 0;
ssize_t read;
if ( strcmp ( linebuf, "quit" ) == 0)
break;
- //check non-ucs4 characters
+ /* check non-ucs4 characters */
const glong num_of_chars = g_utf8_strlen(linebuf, -1);
glong len = 0;
ucs4_t * sentence = g_utf8_to_ucs4(linebuf, -1, NULL, &len, NULL);