summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2012-05-18 11:09:30 +0800
committerPeng Wu <alexepico@gmail.com>2012-05-18 11:09:30 +0800
commit54b8d345cb1c5f527a58457e6619004f5ecf4fb0 (patch)
tree1c6180619d8694b64c66c633f715a0babaea7a7b
parent0b7fc32237ebdadb5f049835c026b8c19fdee6a8 (diff)
downloadlibpinyin-54b8d345cb1c5f527a58457e6619004f5ecf4fb0.tar.gz
libpinyin-54b8d345cb1c5f527a58457e6619004f5ecf4fb0.tar.xz
libpinyin-54b8d345cb1c5f527a58457e6619004f5ecf4fb0.zip
refine tests
-rw-r--r--tests/Makefile.am5
-rw-r--r--tests/lookup/test_phrase_lookup.cpp20
-rw-r--r--tests/lookup/test_pinyin_lookup.cpp42
-rw-r--r--tests/tests_helper.h47
4 files changed, 78 insertions, 36 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 6cc9e51..1c0bf09 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -30,7 +30,8 @@ INCLUDES = -I$(top_srcdir)/src \
-I$(top_srcdir)/src/lookup \
@GLIB2_CPPFLAGS@
-noinst_HEADERS = timer.h
+noinst_HEADERS = timer.h \
+ tests_helper.h
noinst_PROGRAMS = test_pinyin \
test_phrase \
@@ -46,4 +47,4 @@ test_phrase_LDADD = ../src/libpinyin.la @GLIB2_LDFLAGS@
test_chewing_SOURCES = test_chewing.cpp
-test_chewing_LDADD = ../src/libpinyin.la @GLIB2_LDFLAGS@ \ No newline at end of file
+test_chewing_LDADD = ../src/libpinyin.la @GLIB2_LDFLAGS@
diff --git a/tests/lookup/test_phrase_lookup.cpp b/tests/lookup/test_phrase_lookup.cpp
index 3d5fbec..42a715f 100644
--- a/tests/lookup/test_phrase_lookup.cpp
+++ b/tests/lookup/test_phrase_lookup.cpp
@@ -23,6 +23,7 @@
#include <stdio.h>
#include <locale.h>
#include "pinyin_internal.h"
+#include "tests_helper.h"
void print_help(){
printf("Usage: test_phrase_lookup\n");
@@ -77,23 +78,8 @@ int main(int argc, char * argv[]){
/* 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;
- bool retval = chunk->load(filename);
- if (!retval) {
- fprintf(stderr, "open %s failed!\n", bin_file);
- exit(ENOENT);
- }
-
- phrase_index.load(i, chunk);
- g_free(filename);
- }
+ if (!init_phrase_index(&phrase_index))
+ exit(ENOENT);
/* init bi-gram */
Bigram system_bigram;
diff --git a/tests/lookup/test_pinyin_lookup.cpp b/tests/lookup/test_pinyin_lookup.cpp
index 4bb07ef..6aa34a9 100644
--- a/tests/lookup/test_pinyin_lookup.cpp
+++ b/tests/lookup/test_pinyin_lookup.cpp
@@ -1,6 +1,29 @@
+/*
+ * libpinyin
+ * Library to deal with pinyin.
+ *
+ * Copyright (C) 2012 Peng Wu <alexepico@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
#include "timer.h"
#include <string.h>
#include "pinyin_internal.h"
+#include "tests_helper.h"
size_t bench_times = 100;
@@ -15,23 +38,8 @@ int main( int argc, char * argv[]){
largetable.load(options, chunk, NULL);
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;
- bool retval = chunk->load(filename);
- if (!retval) {
- fprintf(stderr, "open %s failed!\n", bin_file);
- exit(ENOENT);
- }
-
- phrase_index.load(i, chunk);
- g_free(filename);
- }
+ if (!init_phrase_index(&phrase_index))
+ exit(ENOENT);
Bigram system_bigram;
system_bigram.attach("../../data/bigram.db", ATTACH_READONLY);
diff --git a/tests/tests_helper.h b/tests/tests_helper.h
new file mode 100644
index 0000000..b6cda61
--- /dev/null
+++ b/tests/tests_helper.h
@@ -0,0 +1,47 @@
+/*
+ * libpinyin
+ * Library to deal with pinyin.
+ *
+ * Copyright (C) 2012 Peng Wu <alexepico@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef TESTS_HELPER_H
+#define TESTS_HELPER_H
+
+static bool init_phrase_index(FacadePhraseIndex * phrase_index){
+ MemoryChunk * chunk = NULL;
+ 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;
+ bool retval = chunk->load(filename);
+ if (!retval) {
+ fprintf(stderr, "open %s failed!\n", bin_file);
+ return false;
+ }
+
+ phrase_index->load(i, chunk);
+ g_free(filename);
+ }
+ return true;
+}
+
+#endif