Initial import to Tizen
[profile/ivi/sphinxbase.git] / test / unit / test_ngram / test_lm_casefold.c
1 #include <ngram_model.h>\r
2 #include <logmath.h>\r
3 #include <strfuncs.h>\r
4 \r
5 #include "test_macros.h"\r
6 \r
7 #include <stdio.h>\r
8 #include <string.h>\r
9 #include <math.h>\r
10 \r
11 int\r
12 main(int argc, char *argv[])\r
13 {\r
14         logmath_t *lmath;\r
15         ngram_model_t *model;\r
16 \r
17         /* Initialize a logmath object to pass to ngram_read */\r
18         lmath = logmath_init(1.0001, 0, 0);\r
19 \r
20         /* Read a language model */\r
21         model = ngram_model_read(NULL, LMDIR "/100.arpa.DMP", NGRAM_DMP, lmath);\r
22         TEST_ASSERT(model);\r
23 \r
24         ngram_model_casefold(model, NGRAM_UPPER);\r
25 \r
26         TEST_EQUAL(0, strcmp("</s>", ngram_word(model, 5)));\r
27         TEST_EQUAL(0, strcmp("BE", ngram_word(model, 42)));\r
28         TEST_EQUAL(0, strcmp("FLOORED", ngram_word(model, 130)));\r
29         TEST_EQUAL(0, strcmp("ZERO", ngram_word(model, 398)));\r
30         TEST_EQUAL(0, strcmp("~", ngram_word(model, 399)));\r
31 \r
32         ngram_model_casefold(model, NGRAM_LOWER);\r
33 \r
34         TEST_EQUAL(0, strcmp("</s>", ngram_word(model, 5)));\r
35         TEST_EQUAL(0, strcmp("be", ngram_word(model, 42)));\r
36         TEST_EQUAL(0, strcmp("floored", ngram_word(model, 130)));\r
37         TEST_EQUAL(0, strcmp("zero", ngram_word(model, 398)));\r
38         TEST_EQUAL(0, strcmp("~", ngram_word(model, 399)));\r
39 \r
40         ngram_model_free(model);\r
41         logmath_free(lmath);\r
42 \r
43         return 0;\r
44 }\r