END_TEST START_TEST (indic_digit_rendering) { int rc; vword* word; varray *words; rc = varnam_transliterate (varnam_instance, "01", &words); assert_success (rc); ck_assert_int_eq (varray_length (words), 1); word = varray_get (words, 0); ck_assert_str_eq (word->text, "01"); rc = varnam_config (varnam_instance, VARNAM_CONFIG_USE_INDIC_DIGITS, 1); assert_success (rc); rc = varnam_transliterate (varnam_instance, "01", &words); assert_success (rc); ck_assert_int_eq (varray_length (words), 1); word = varray_get (words, 0); ck_assert_str_eq (word->text, "०१"); }
END_TEST START_TEST (cancellation_character_should_force_independent_vowel_form) { int rc; vword* word; varray *words; rc = varnam_transliterate(varnam_instance, "aa_a", &words); assert_success (rc); ck_assert_int_eq (varray_length(words), 1); word = varray_get(words, 0); ck_assert_str_eq (word->text, "aa-value1a-value1"); }
END_TEST START_TEST (dependent_vowel_rendering) { int rc; vword* word; varray *words; rc = varnam_transliterate(varnam_instance, "aaa", &words); assert_success (rc); ck_assert_int_eq (varray_length(words), 1); word = varray_get(words, 0); ck_assert_str_eq (word->text, "aa-value1a-value2"); }
END_TEST START_TEST (init_destroy_loop_memory_stress_test) { int rc, i; char* msg; varnam* handle; varray* output; for (i = 0; i < 100; i++) { rc = varnam_init ("../schemes/ml.vst", &handle, &msg); ck_assert_int_eq (rc, VARNAM_SUCCESS); rc = varnam_transliterate(handle, "navaneeth", &output); ck_assert_int_eq (rc, VARNAM_SUCCESS); varnam_destroy (handle); } }
END_TEST START_TEST (basic_learning) { int rc; varray *words; const char *word_to_learn = "കഖ"; rc = varnam_learn (varnam_instance, word_to_learn); assert_success (rc); /* Here gha is a possibility. But since it is learned, it will be suggested back */ rc = varnam_transliterate (varnam_instance, "kagha", &words); assert_success (rc); ck_assert_int_eq (varray_length (words), 2); ensure_word_list_contains (words, word_to_learn); }
END_TEST START_TEST (confidence_should_get_updated_for_existing_words) { int rc; varray* words; vword* word; const char *word_to_learn = "കഖ"; rc = varnam_learn (varnam_instance, word_to_learn); assert_success (rc); rc = varnam_learn (varnam_instance, word_to_learn); assert_success (rc); rc = varnam_transliterate (varnam_instance, "kagha", &words); assert_success (rc); ck_assert_int_eq (varray_length (words), 2); word = varray_get (words, 0); ck_assert_int_eq (word->confidence, 2); }