// lang-fi.el - Finnish NLG tests: assertion, question with -ko particle. // // Finnish is SOV, agglutinative, 15 grammatical cases. Questions use the // "particle" strategy: statement order with -ko/-kö suffix on the verb. // The realizer appends "-ko" for Finnish (see realize_question_lang). // // "kalaa" is the partitive form of kala (fish) — the engine produces the // base form unless morphology-fi.el is loaded with suffix tables. // // Expected outputs (approximate): // assert: "Kissa syö kalaa." (SOV order) // question: "Kissa syö kalaa-ko?" (SOV + -ko particle on verb or sentence end) fn test_assert() -> String { // SOV: subject Kissa (cat), verb syö (eats), object kalaa (fish-PARTITIVE) let form: [String] = native_list_empty() let form = native_list_append(form, "intent") let form = native_list_append(form, "assert") let form = native_list_append(form, "agent") let form = native_list_append(form, "kissa") let form = native_list_append(form, "predicate") let form = native_list_append(form, "syö") let form = native_list_append(form, "patient") let form = native_list_append(form, "kalaa") let form = native_list_append(form, "location") let form = native_list_append(form, "") let form = native_list_append(form, "tense") let form = native_list_append(form, "present") let form = native_list_append(form, "aspect") let form = native_list_append(form, "simple") let form = native_list_append(form, "lang") let form = native_list_append(form, "fi") return realize(form) } fn test_question() -> String { // Finnish question particle: statement order + -ko appended by realizer let form: [String] = native_list_empty() let form = native_list_append(form, "intent") let form = native_list_append(form, "question") let form = native_list_append(form, "agent") let form = native_list_append(form, "kissa") let form = native_list_append(form, "predicate") let form = native_list_append(form, "syö") let form = native_list_append(form, "patient") let form = native_list_append(form, "kalaa") let form = native_list_append(form, "location") let form = native_list_append(form, "") let form = native_list_append(form, "tense") let form = native_list_append(form, "present") let form = native_list_append(form, "aspect") let form = native_list_append(form, "simple") let form = native_list_append(form, "lang") let form = native_list_append(form, "fi") return realize(form) } println(test_assert()) println(test_question())