Initial import to Tizen
[profile/ivi/sphinxbase.git] / test / unit / test_fsg / test_fsg_jsgf.c
1 #include <jsgf.h>
2 #include <fsg_model.h>
3
4 #include "test_macros.h"
5
6 int
7 main(int argc, char *argv[])
8 {
9         logmath_t *lmath;
10         fsg_model_t *fsg;
11         jsgf_t *jsgf;
12         jsgf_rule_t *rule;
13
14         /* Initialize a logmath object to pass to fsg_model_read */
15         lmath = logmath_init(1.0001, 0, 0);
16         jsgf = jsgf_parse_file(LMDIR "/polite.gram", NULL);
17         TEST_ASSERT(jsgf);
18         rule = jsgf_get_rule(jsgf, "<polite.startPolite>");
19         TEST_ASSERT(rule);
20         fsg = jsgf_build_fsg(jsgf, rule, lmath, 7.5);
21         TEST_ASSERT(fsg);
22
23         TEST_ASSERT(fsg_model_add_silence(fsg, "<sil>", -1, 0.3));
24         TEST_ASSERT(fsg_model_add_silence(fsg, "++NOISE++", -1, 0.3));
25         TEST_ASSERT(fsg_model_add_alt(fsg, "please", "please(2)"));
26
27         jsgf_grammar_free(jsgf);
28         fsg_model_write(fsg, stdout);
29         fsg_model_free(fsg);
30         logmath_free(lmath);
31
32         return 0;
33 }