// 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())
