#include "parse-pinyin.h" #include static void test_parse_pinyin_cpp () { std::vector* result = parse_pinyin_cpp ("liyifeng"); g_assert_cmpint (result->size (), ==, 3); g_assert_cmpint (result->at(0)->shengmu_i, ==, 10); g_assert_cmpint (result->at(0)->yunmu_i, ==, 34); g_assert_cmpint (result->at(0)->length, ==, 2); g_assert_cmpint (result->at(1)->shengmu_i, ==, 21); g_assert_cmpint (result->at(1)->yunmu_i, ==, 34); g_assert_cmpint (result->at(1)->length, ==, 2); g_assert_cmpint (result->at(2)->shengmu_i, ==, 5); g_assert_cmpint (result->at(2)->yunmu_i, ==, 32); g_assert_cmpint (result->at(2)->length, ==, 4); for (guint i = 0; i < result->size (); ++i) { delete result->at(i); } delete result; } static void test_parse_pinyin () { GList* result = NULL; Pinyin* thispy = NULL; result = parse_pinyin ("liyifeng", 15); g_assert_cmpint (g_list_length (result), ==, 3); thispy = (Pinyin*) g_list_nth_data (result, 0); g_assert_cmpint (thispy->shengmu_i, ==, 10); g_assert_cmpint (thispy->yunmu_i, ==, 34); g_assert_cmpint (thispy->length, ==, 2); thispy = (Pinyin*) g_list_nth_data (result, 1); g_assert_cmpint (thispy->shengmu_i, ==, 21); g_assert_cmpint (thispy->yunmu_i, ==, 34); g_assert_cmpint (thispy->length, ==, 2); thispy = (Pinyin*) g_list_nth_data (result, 2); g_assert_cmpint (thispy->shengmu_i, ==, 5); g_assert_cmpint (thispy->yunmu_i, ==, 32); g_assert_cmpint (thispy->length, ==, 4); g_list_free_full (result, g_free); } int main (int argc, char *argv[]) { g_test_init (&argc, &argv, NULL); g_test_add_func ("/zero/test_parse_pinyin_cpp", test_parse_pinyin_cpp); g_test_add_func ("/zero/test_parse_pinyin", test_parse_pinyin); return g_test_run (); }