Archived
Rename: nlg → elp (Engram Language Protocol)
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
// test-gez.el - Ge'ez (Classical Ethiopic) morphology tests
|
||||
// Tests morph_conjugate dispatch for "gez", copula "be" (root kwn),
|
||||
// verb "hbl" (give), and morph_pluralize fallback.
|
||||
// NOTE: Ge'ez uses Ethiopic Fidel script; the El VM outputs non-ASCII as
|
||||
// numeric hashes, so str_eq comparisons are used internally (they work
|
||||
// correctly on UTF-8 byte equality).
|
||||
|
||||
fn test_gez() {
|
||||
let profile: [String] = lang_profile_gez()
|
||||
|
||||
// Copula "be" perfect 3sg m -> "ሆነ" (honä, base form)
|
||||
let r1: String = morph_conjugate("be", "perfect", "third", "singular", profile)
|
||||
if !str_eq(r1, "ሆነ") {
|
||||
println("FAIL: gez copula perfect 3sg: expected 'hona' got '" + r1 + "'")
|
||||
} else {
|
||||
println("PASS: gez copula perfect 3sg")
|
||||
}
|
||||
|
||||
// Copula "be" imperfect 3sg m -> "ይሆን" (yǝhon)
|
||||
let r2: String = morph_conjugate("be", "imperfect", "third", "singular", profile)
|
||||
if !str_eq(r2, "ይሆን") {
|
||||
println("FAIL: gez copula imperfect 3sg: expected 'yehon' got '" + r2 + "'")
|
||||
} else {
|
||||
println("PASS: gez copula imperfect 3sg")
|
||||
}
|
||||
|
||||
// "hbl" (to give) perfect 3sg m -> "ሰጠ" (säṭṭä)
|
||||
let r3: String = morph_conjugate("hbl", "perfect", "third", "singular", profile)
|
||||
if !str_eq(r3, "ሰጠ") {
|
||||
println("FAIL: gez hbl perfect 3sg: expected 'satta' got '" + r3 + "'")
|
||||
} else {
|
||||
println("PASS: gez hbl perfect 3sg")
|
||||
}
|
||||
|
||||
// "hbl" (to give) imperfect 3sg m -> "ይሰጥ" (yǝsäṭ)
|
||||
let r4: String = morph_conjugate("hbl", "imperfect", "third", "singular", profile)
|
||||
if !str_eq(r4, "ይሰጥ") {
|
||||
println("FAIL: gez hbl imperfect 3sg: expected 'yesat' got '" + r4 + "'")
|
||||
} else {
|
||||
println("PASS: gez hbl imperfect 3sg")
|
||||
}
|
||||
|
||||
// morph_pluralize: semitic/agglutinative fallback returns noun unchanged
|
||||
let r5: String = morph_pluralize("ንጉሥ", profile)
|
||||
if !str_eq(r5, "ንጉሥ") {
|
||||
println("FAIL: gez pluralize fallback: expected noun unchanged got '" + r5 + "'")
|
||||
} else {
|
||||
println("PASS: gez pluralize fallback")
|
||||
}
|
||||
}
|
||||
|
||||
test_gez()
|
||||
Reference in New Issue
Block a user