// test-akk.el - Akkadian morphology tests
// Tests morph_conjugate dispatch for "akk", copula "bašû" (via "be"),
// verb "alāku" (go), and morph_pluralize fallback.

fn test_akk() {
    let profile: [String] = lang_profile_akk()

    // Copula "be" present 3sg -> "ibašši"
    let r1: String = morph_conjugate("be", "present", "third", "singular", profile)
    if !str_eq(r1, "ibašši") {
        println("FAIL: akk copula present 3sg: expected 'ibašši' got '" + r1 + "'")
    } else {
        println("PASS: akk copula present 3sg")
    }

    // Copula "be" past 3sg -> "ibašši" (bašû has no separate past; present used)
    let r2: String = morph_conjugate("be", "past", "third", "singular", profile)
    if !str_eq(r2, "ibašši") {
        println("FAIL: akk copula past 3sg: expected 'ibašši' got '" + r2 + "'")
    } else {
        println("PASS: akk copula past 3sg")
    }

    // "alāku" (to go) present 3sg -> "illak"
    let r3: String = morph_conjugate("alāku", "present", "third", "singular", profile)
    if !str_eq(r3, "illak") {
        println("FAIL: akk alaku present 3sg: expected 'illak' got '" + r3 + "'")
    } else {
        println("PASS: akk alaku present 3sg")
    }

    // "alāku" past 1sg -> "allak" (no past/present distinction; present used)
    let r4: String = morph_conjugate("alāku", "past", "first", "singular", profile)
    if !str_eq(r4, "allak") {
        println("FAIL: akk alaku past 1sg: expected 'allak' got '" + r4 + "'")
    } else {
        println("PASS: akk alaku past 1sg")
    }

    // morph_pluralize: fusional fallback returns noun unchanged
    let r5: String = morph_pluralize("šarrum", profile)
    if !str_eq(r5, "šarrum") {
        println("FAIL: akk pluralize fallback: expected 'šarrum' got '" + r5 + "'")
    } else {
        println("PASS: akk pluralize fallback")
    }
}

test_akk()
