示例#1
0
END_TEST

START_TEST (words_with_unknown_letters_should_be_rejected)
{
    int rc = varnam_learn (varnam_instance, "test");
    if (rc != VARNAM_ERROR) {
        ck_abort_msg ("Expected return code to be VARNAM_ERROR");
    }
    ck_assert_str_eq (varnam_get_last_error (varnam_instance),
            "Can't process 't'. One or more characters in 'test' are not known");
}
示例#2
0
END_TEST

START_TEST (numbers_will_be_ignored_while_learning)
{
    int rc;
    strbuf *string;

    rc = varnam_learn (varnam_instance, "01");
    assert_error (rc);
    string = strbuf_init (50);
    strbuf_add (string, "Can't process '0'. One or more characters in '01' are not known");
    ck_assert_str_eq (varnam_get_last_error (varnam_instance), strbuf_to_s (string));

    rc = varnam_learn (varnam_instance, "१०१");
    assert_error (rc);
    strbuf_clear (string);
    strbuf_add (string, "Nothing to learn from '१०१'");
    ck_assert_str_eq (varnam_get_last_error (varnam_instance), strbuf_to_s (string));
    strbuf_destroy (string);
}
示例#3
0
void 
assert_error (int value)
{
    strbuf *string = NULL;
    if (value != VARNAM_ERROR) {
        string = strbuf_init (50);
        strbuf_addf (string, "Expected VARNAM_ERROR, but got %d. %s", value, 
                varnam_get_last_error (varnam_instance));
        ck_abort_msg (strbuf_to_s (string));
    }
}
示例#4
0
END_TEST

START_TEST (words_with_repeating_characters_will_not_be_learned)
{
    int rc;
    strbuf *string;
    const char *word_to_learn = "കകകകകകക";

    rc = varnam_learn (varnam_instance, word_to_learn);
    assert_error (rc);
    string = strbuf_init (50);
    strbuf_addf (string, "'%s' looks incorrect. Not learning anything", word_to_learn);
    ck_assert_str_eq (varnam_get_last_error (varnam_instance), strbuf_to_s (string));
    strbuf_destroy (string);
}
示例#5
0
END_TEST

START_TEST (varnam_import_learnings_wrong_filetype)
{
    FILE* fp;
    int rc;

    fp = fopen ("output/wrong_file_type.txt", "w");
    ck_assert (fp != NULL);

    fprintf (fp, "%s\n", "Wrong filetype");
    fclose (fp);

    rc = varnam_import_learnings_from_file (varnam_instance, "output/wrong_file_type.txt", NULL);
    ck_assert_int_eq (rc, VARNAM_ERROR);
    ck_assert_str_eq ("Couldn't read file 'output/wrong_file_type.txt'. Unknown file type", varnam_get_last_error (varnam_instance));
}