// lang-fr-question.el - French question inversion test.
//
// Tests specifically that the French "inversion" question strategy works:
// the verb fronts before the subject, producing Verb-Subject-Object order.
//
// "Parler" (to speak) is an -er verb; "français" is the patient (what is spoken).
// Subject pronoun: "il" (he).
//
// Expected output (approximate):
//   "Parle il français?"   (verb-subject-object inversion)
//
// Note: full French inversion includes a euphonic -t- between verb and pronoun
// ("Parle-t-il") — this requires morphology-fr.el with inversion helpers.
// Without that module the engine produces the bare inverted form.

fn run_test() -> String {
    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, "il")
    let form = native_list_append(form, "predicate")
    let form = native_list_append(form, "parler")
    let form = native_list_append(form, "patient")
    let form = native_list_append(form, "français")
    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, "fr")
    return realize(form)
}

println(run_test())
