// lang-ar.el - Arabic NLG tests: VSO assertion, intonation question. // // Arabic is VSO (Verb-Subject-Object), fusional, RTL script. The word order // test verifies that gram_order_constituents places the verb first for "ar". // Questions use the intonation strategy (statement word order + "?"). // // Expected outputs (approximate): // assert: "يأكل القط السمكة." (VSO: verb-subject-object) // question: "يأكل القط السمكة?" (same VSO order, ? punctuation) fn test_assert() -> String { // VSO order: verb يأكل (eats), subject القط (the cat), object السمكة (the fish) 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, "القط") let form = native_list_append(form, "predicate") let form = native_list_append(form, "يأكل") let form = native_list_append(form, "patient") let form = native_list_append(form, "السمكة") 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, "ar") return realize(form) } fn test_question() -> String { // Intonation question: same VSO order, ? punctuation 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, "القط") let form = native_list_append(form, "predicate") let form = native_list_append(form, "يأكل") let form = native_list_append(form, "patient") let form = native_list_append(form, "السمكة") 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, "ar") return realize(form) } println(test_assert()) println(test_question())