// lang-de.el - German NLG tests: assertion, question inversion, description.
//
// German is profiled as SOV (base word order in subordinate clauses) with V2
// in main clauses, and uses the "inversion" question strategy.
// Cases: nominative subject "die Katze", accusative object "den Fisch".
//
// Expected outputs (approximate):
//   assert:      "Die Katze isst den Fisch."
//   question:    "Isst die Katze den Fisch?"   (verb-subject inversion)
//   description: "Die Katze ist groß."

fn test_assert() -> String {
    let frame: [String] = sem_frame_lang("assert", "die Katze", "essen", "", "de")
    return sem_realize(frame)
}

fn test_question() -> String {
    // German question: inversion — verb fronts before subject
    let frame: [String] = sem_frame_lang("query", "die Katze", "essen", "", "de")
    return sem_realize(frame)
}

fn test_description() -> String {
    let frame: [String] = sem_frame_lang("describe", "die Katze", "groß", "", "de")
    return sem_realize(frame)
}

println(test_assert())
println(test_question())
println(test_description())
