Module:pi-decl/noun/Lana/testcases

-- Normally, one would start with -- local tests = require('Module:UnitTests') -- However, this setting is inherited by invoking local tests = require('Module:pi-decl/noun/testcases') tests.remove_noun_tests -- Get rid of the actual tests from the above. function tests:test_consistency -- here be the tests tests:script_consistency_test('Lana') end

local pattern = require("Module:pi-decl/noun/Lana") or nil

local caseno_name = { "nom. s.",  "nom. pl.",   "acc.s.",  "acc.pl", "instr. s.", "instr. pl.", "dat. s.", "dat. pl.", "abl. s.",  "abl. pl.",   "gen. s.", "gen. pl.", "loc. s.",  "loc. pl",    "voc. s.", "voc. pl."}

local function stitch(stem, ending) if string.find(ending, "^⌫⌫⌫") then return mw.ustring.sub(stem, 1, -4)..mw.ustring.sub(ending, 4) elseif string.find(ending, "^⌫⌫") then return mw.ustring.sub(stem, 1, -3)..mw.ustring.sub(ending, 3) elseif string.find(ending, "^⌫") then return mw.ustring.sub(stem, 1, -2)..mw.ustring.sub(ending, 2) else return stem..ending end end

local function compare_caseno(stem, caseno, endings, forms) local nfe = 0; local genform = "" local relend = endings[caseno] while nfe < #relend do		nfe = nfe + 1 genform = genform .. " " .. stitch(stem, relend[nfe]) end -- equals(name, actual, expected, options) tests:equals(caseno_name[caseno], mw.ustring.sub(genform, 2), forms) end

function tests:test_direct -- here be the tests -- simple case: compare_caseno("ᨣᩩᨱ", 1, pattern["a"]["m"], "ᨣᩩᨱᩮᩣ") -- Nom compare_caseno("ᨣᩩᨱ", 2, pattern["a"]["m"], "ᨣᩩᨱᩣ") compare_caseno("ᨣᩩᨱ", 3, pattern["a"]["m"], "ᨣᩩᨱᩴ") -- Acc compare_caseno("ᨣᩩᨱ", 4, pattern["a"]["m"], "ᨣᩩᨱᩮ") compare_caseno("ᨣᩩᨱ", 5, pattern["a"]["m"], "ᨣᩩᨱᩮᨶ") -- Instr compare_caseno("ᨣᩩᨱ", 6, pattern["a"]["m"], "ᨣᩩᨱᩮᩉᩥ ᨣᩩᨱᩮᨽᩥ") compare_caseno("ᨣᩩᨱ", 7, pattern["a"]["m"], "ᨣᩩᨱᩔ ᨣᩩᨱᩣᨿ ᨣᩩᨱᨲ᩠ᨳᩴ") -- Dat compare_caseno("ᨣᩩᨱ", 8, pattern["a"]["m"], "ᨣᩩᨱᩣᨶᩴ") compare_caseno("ᨣᩩᨱ", 9, pattern["a"]["m"], "ᨣᩩᨱᩈ᩠ᨾᩣ ᨣᩩᨱᨾ᩠ᩉᩣ ᨣᩩᨱᩣ")  -- Abl compare_caseno("ᨣᩩᨱ", 10, pattern["a"]["m"], "ᨣᩩᨱᩮᩉᩥ ᨣᩩᨱᩮᨽᩥ") compare_caseno("ᨣᩩᨱ", 11, pattern["a"]["m"], "ᨣᩩᨱᩔ") -- Gen compare_caseno("ᨣᩩᨱ", 12, pattern["a"]["m"], "ᨣᩩᨱᩣᨶᩴ") compare_caseno("ᨣᩩᨱ", 13, pattern["a"]["m"], "ᨣᩩᨱᩈ᩠ᨾᩥᩴ ᨣᩩᨱᨾ᩠ᩉᩥ ᨣᩩᨱᩮ") -- Loc compare_caseno("ᨣᩩᨱ", 14, pattern["a"]["m"], "ᨣᩩᨱᩮᩈᩩ") compare_caseno("ᨣᩩᨱ", 15, pattern["a"]["m"], "ᨣᩩᨱ") -- Voc compare_caseno("ᨣᩩᨱ", 16, pattern["a"]["m"], "ᨣᩩᨱᩣ")

compare_caseno("ᨧᨠ᩠ᨠ", 1, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩴ") -- Nom compare_caseno("ᨧᨠ᩠ᨠ", 2, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩣᨶᩥ") -- ᨧᨠ᩠ᨠᩣ form not supported. compare_caseno("ᨧᨠ᩠ᨠ", 3, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩴ") -- Acc -- ᨧᨠ᩠ᨠᩮ form not supported. compare_caseno("ᨧᨠ᩠ᨠ", 4, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩣᨶᩥ") compare_caseno("ᨧᨠ᩠ᨠ", 5, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩮᨶ") -- Instr compare_caseno("ᨧᨠ᩠ᨠ", 6, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩮᩉᩥ ᨧᨠ᩠ᨠᩮᨽᩥ") compare_caseno("ᨧᨠ᩠ᨠ", 7, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩔ ᨧᨠ᩠ᨠᩣᨿ ᨧᨠ᩠ᨠᨲ᩠ᨳᩴ") -- Dat compare_caseno("ᨧᨠ᩠ᨠ", 8, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩣᨶᩴ") compare_caseno("ᨧᨠ᩠ᨠ", 9, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩈ᩠ᨾᩣ ᨧᨠ᩠ᨠᨾ᩠ᩉᩣ ᨧᨠ᩠ᨠᩣ")  -- Abl compare_caseno("ᨧᨠ᩠ᨠ", 10, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩮᩉᩥ ᨧᨠ᩠ᨠᩮᨽᩥ") compare_caseno("ᨧᨠ᩠ᨠ", 11, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩔ") -- Gen compare_caseno("ᨧᨠ᩠ᨠ", 12, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩣᨶᩴ") compare_caseno("ᨧᨠ᩠ᨠ", 13, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩈ᩠ᨾᩥᩴ ᨧᨠ᩠ᨠᨾ᩠ᩉᩥ ᨧᨠ᩠ᨠᩮ") -- Loc compare_caseno("ᨧᨠ᩠ᨠ", 14, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩮᩈᩩ") compare_caseno("ᨧᨠ᩠ᨠ", 15, pattern["a"]["n"], "ᨧᨠ᩠ᨠ") -- Voc compare_caseno("ᨧᨠ᩠ᨠ", 16, pattern["a"]["n"], "ᨧᨠ᩠ᨠᩣᨶᩥ") -- ᨧᨠ᩠ᨠᩣ form not supported.

compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 1, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩣ") -- Nom compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 2, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩣ") compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 3, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩴ") -- Acc compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 4, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩣᨶᩮ")  -- Really? I'd expected ᨧᨶ᩠ᨴᩥᨾᩮ. compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 5, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩮᨶ") -- Instr compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 6, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩣᩉᩥ ᨧᨶ᩠ᨴᩥᨾᩣᨽᩥ") compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 7, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩔ ᨧᨶ᩠ᨴᩥᨾᩣᨿ") -- Dat -- Why not also ᨧᨶ᩠ᨴᩥᨾᨲ᩠ᨳᩴ? compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 8, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩣᨶᩴ") compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 9, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩈ᩠ᨾᩣ ᨧᨶ᩠ᨴᩥᨾᨾ᩠ᩉᩣ ᨧᨶ᩠ᨴᩥᨾᩣ")  -- Abl compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 10, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩣᩉᩥ ᨧᨶ᩠ᨴᩥᨾᩣᨽᩥ") compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 11, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩔ") -- Gen compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 12, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩣᨶᩴ") compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 13, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩈ᩠ᨾᩥᩴ ᨧᨶ᩠ᨴᩥᨾᨾ᩠ᩉᩥ ᨧᨶ᩠ᨴᩥᨾᩮ") -- Loc compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 14, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩣᩈᩩ") compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 15, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾ") -- Voc compare_caseno("ᨧᨶ᩠ᨴᩥᨾᩣ", 16, pattern["ā"]["m"], "ᨧᨶ᩠ᨴᩥᨾᩣ")

compare_caseno("ᨠᨬ᩠ᨬᩣ", 1, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣ") -- Nom compare_caseno("ᨠᨬ᩠ᨬᩣ", 2, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣᨿᩮᩣ ᨠᨬ᩠ᨬᩣ") compare_caseno("ᨠᨬ᩠ᨬᩣ", 3, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩴ") -- Acc compare_caseno("ᨠᨬ᩠ᨬᩣ", 4, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣᨿᩮᩣ ᨠᨬ᩠ᨬᩣ") compare_caseno("ᨠᨬ᩠ᨬᩣ", 5, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣᨿ") -- Instr compare_caseno("ᨠᨬ᩠ᨬᩣ", 6, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣᩉᩥ ᨠᨬ᩠ᨬᩣᨽᩥ") compare_caseno("ᨠᨬ᩠ᨬᩣ", 7, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣᨿ") -- Dat compare_caseno("ᨠᨬ᩠ᨬᩣ", 8, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣᨶᩴ") compare_caseno("ᨠᨬ᩠ᨬᩣ", 9, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣᨿ")  -- Abl compare_caseno("ᨠᨬ᩠ᨬᩣ", 10, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣᩉᩥ ᨠᨬ᩠ᨬᩣᨽᩥ") compare_caseno("ᨠᨬ᩠ᨬᩣ", 11, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣᨿ") -- Gen compare_caseno("ᨠᨬ᩠ᨬᩣ", 12, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣᨶᩴ") compare_caseno("ᨠᨬ᩠ᨬᩣ", 13, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣᨿ ᨠᨬ᩠ᨬᩣᨿᩴ") -- Loc compare_caseno("ᨠᨬ᩠ᨬᩣ", 14, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣᩈᩩ") compare_caseno("ᨠᨬ᩠ᨬᩣ", 15, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩮ") -- Voc compare_caseno("ᨠᨬ᩠ᨬᩣ", 16, pattern["ā"]["f"], "ᨠᨬ᩠ᨬᩣᨿᩮᩣ ᨠᨬ᩠ᨬᩣ")

compare_caseno("ᨾᩩᨶᩥ", 1, pattern["i"]["m"], "ᨾᩩᨶᩥ") -- Nom compare_caseno("ᨾᩩᨶᩥ", 2, pattern["i"]["m"], "ᨾᩩᨶᨿᩮᩣ ᨾᩩᨶᩦ") compare_caseno("ᨾᩩᨶᩥ", 3, pattern["i"]["m"], "ᨾᩩᨶᩥᩴ") -- Acc compare_caseno("ᨾᩩᨶᩥ", 4, pattern["i"]["m"], "ᨾᩩᨶᨿᩮᩣ ᨾᩩᨶᩦ") compare_caseno("ᨾᩩᨶᩥ", 5, pattern["i"]["m"], "ᨾᩩᨶᩥᨶᩣ") -- Instr compare_caseno("ᨾᩩᨶᩥ", 6, pattern["i"]["m"], "ᨾᩩᨶᩦᩉᩥ ᨾᩩᨶᩦᨽᩥ") compare_caseno("ᨾᩩᨶᩥ", 7, pattern["i"]["m"], "ᨾᩩᨶᩥᩔ ᨾᩩᨶᩥᨶᩮᩣ") -- Dat compare_caseno("ᨾᩩᨶᩥ", 8, pattern["i"]["m"], "ᨾᩩᨶᩦᨶᩴ") compare_caseno("ᨾᩩᨶᩥ", 9, pattern["i"]["m"], "ᨾᩩᨶᩥᩈ᩠ᨾᩣ ᨾᩩᨶᩥᨾ᩠ᩉᩣ")  -- Abl -- Why not ᨾᩩᨶᩥᨶᩣ? compare_caseno("ᨾᩩᨶᩥ", 10, pattern["i"]["m"], "ᨾᩩᨶᩦᩉᩥ ᨾᩩᨶᩦᨽᩥ") compare_caseno("ᨾᩩᨶᩥ", 11, pattern["i"]["m"], "ᨾᩩᨶᩥᩔ ᨾᩩᨶᩥᨶᩮᩣ") -- Gen compare_caseno("ᨾᩩᨶᩥ", 12, pattern["i"]["m"], "ᨾᩩᨶᩦᨶᩴ") compare_caseno("ᨾᩩᨶᩥ", 13, pattern["i"]["m"], "ᨾᩩᨶᩥᩈ᩠ᨾᩥᩴ ᨾᩩᨶᩥᨾ᩠ᩉᩥ") -- Loc -- Why not ᨾᩩᨶᩥᨶᩥ? (Duroiselle doesn't have it either.) compare_caseno("ᨾᩩᨶᩥ", 14, pattern["i"]["m"], "ᨾᩩᨶᩦᩈᩩ") compare_caseno("ᨾᩩᨶᩥ", 15, pattern["i"]["m"], "ᨾᩩᨶᩥ") -- Voc compare_caseno("ᨾᩩᨶᩥ", 16, pattern["i"]["m"], "ᨾᩩᨶᨿᩮᩣ ᨾᩩᨶᩦ")

compare_caseno("ᨩᩣᨲᩥ", 1, pattern["i"]["f"], "ᨩᩣᨲᩥ") -- Nom compare_caseno("ᨩᩣᨲᩥ", 2, pattern["i"]["f"], "ᨩᩣᨲᩥᨿᩮᩣ ᨩᩣᨲᩦ") compare_caseno("ᨩᩣᨲᩥ", 3, pattern["i"]["f"], "ᨩᩣᨲᩥᩴ") -- Acc compare_caseno("ᨩᩣᨲᩥ", 4, pattern["i"]["f"], "ᨩᩣᨲᩥᨿᩮᩣ ᨩᩣᨲᩦ") compare_caseno("ᨩᩣᨲᩥ", 5, pattern["i"]["f"], "ᨩᩣᨲᩥᨿᩣ") -- Instr -- Why no syncopation? compare_caseno("ᨩᩣᨲᩥ", 6, pattern["i"]["f"], "ᨩᩣᨲᩦᩉᩥ ᨩᩣᨲᩦᨽᩥ") compare_caseno("ᨩᩣᨲᩥ", 7, pattern["i"]["f"], "ᨩᩣᨲᩥᨿᩣ") -- Dat -- Why no syncopation? compare_caseno("ᨩᩣᨲᩥ", 8, pattern["i"]["f"], "ᨩᩣᨲᩦᨶᩴ") compare_caseno("ᨩᩣᨲᩥ", 9, pattern["i"]["f"], "ᨩᩣᨲᩥᨿᩣ ᨩᩣᨲ᩠ᨿᩣ")  -- Abl -- Should assimilate! compare_caseno("ᨩᩣᨲᩥ", 10, pattern["i"]["f"], "ᨩᩣᨲᩦᩉᩥ ᨩᩣᨲᩦᨽᩥ") compare_caseno("ᨩᩣᨲᩥ", 11, pattern["i"]["f"], "ᨩᩣᨲᩥᨿᩣ") -- Gen -- Why no syncopation?! compare_caseno("ᨩᩣᨲᩥ", 12, pattern["i"]["f"], "ᨩᩣᨲᩦᨶᩴ") compare_caseno("ᨩᩣᨲᩥ", 13, pattern["i"]["f"], "ᨩᩣᨲᩥᨿᩣ ᨩᩣᨲᩥᨿᩴ ᨩᩣᨲ᩠ᨿᩴ") -- Loc -- Missing alternative? compare_caseno("ᨩᩣᨲᩥ", 14, pattern["i"]["f"], "ᨩᩣᨲᩦᩈᩩ") compare_caseno("ᨩᩣᨲᩥ", 15, pattern["i"]["f"], "ᨩᩣᨲᩥ") -- Voc compare_caseno("ᨩᩣᨲᩥ", 16, pattern["i"]["f"], "ᨩᩣᨲᩥᨿᩮᩣ ᨩᩣᨲᩦ")

compare_caseno("ᩋᨭᩛᩥ", 1, pattern["i"]["n"], "ᩋᨭᩛᩥ") -- Nom  -- ᩋᨭᩛᩥᩴ missing compare_caseno("ᩋᨭᩛᩥ", 2, pattern["i"]["n"], "ᩋᨭᩛᩦᨶᩥ ᩋᨭᩛᩦ") compare_caseno("ᩋᨭᩛᩥ", 3, pattern["i"]["n"], "ᩋᨭᩛᩥᩴ") -- Acc  -- ᩋᨭᩛᩥ missing - but Duroiselle also omits it. compare_caseno("ᩋᨭᩛᩥ", 4, pattern["i"]["n"], "ᩋᨭᩛᩦᨶᩥ ᩋᨭᩛᩦ") compare_caseno("ᩋᨭᩛᩥ", 5, pattern["i"]["n"], "ᩋᨭᩛᩥᨶᩣ") -- Instr compare_caseno("ᩋᨭᩛᩥ", 6, pattern["i"]["n"], "ᩋᨭᩛᩦᩉᩥ ᩋᨭᩛᩦᨽᩥ") compare_caseno("ᩋᨭᩛᩥ", 7, pattern["i"]["n"], "ᩋᨭᩛᩥᩔ ᩋᨭᩛᩥᨶᩮᩣ") -- Dat compare_caseno("ᩋᨭᩛᩥ", 8, pattern["i"]["n"], "ᩋᨭᩛᩦᨶᩴ") compare_caseno("ᩋᨭᩛᩥ", 9, pattern["i"]["n"], "ᩋᨭᩛᩥᩈ᩠ᨾᩣ ᩋᨭᩛᩥᨾ᩠ᩉᩣ")  -- Abl -- Why not ᩋᨭᩛᩥᨶᩣ compare_caseno("ᩋᨭᩛᩥ", 10, pattern["i"]["n"], "ᩋᨭᩛᩦᩉᩥ ᩋᨭᩛᩦᨽᩥ") compare_caseno("ᩋᨭᩛᩥ", 11, pattern["i"]["n"], "ᩋᨭᩛᩥᩔ ᩋᨭᩛᩥᨶᩮᩣ") -- Gen compare_caseno("ᩋᨭᩛᩥ", 12, pattern["i"]["n"], "ᩋᨭᩛᩦᨶᩴ") compare_caseno("ᩋᨭᩛᩥ", 13, pattern["i"]["n"], "ᩋᨭᩛᩥᩈ᩠ᨾᩥᩴ ᩋᨭᩛᩥᨾ᩠ᩉᩥ") -- Loc -- Why not ᩋᨭᩛᩥᨶᩥ (Duroiselle also omits it.) compare_caseno("ᩋᨭᩛᩥ", 14, pattern["i"]["n"], "ᩋᨭᩛᩦᩈᩩ") compare_caseno("ᩋᨭᩛᩥ", 15, pattern["i"]["n"], "ᩋᨭᩛᩥ") -- Voc compare_caseno("ᩋᨭᩛᩥ", 16, pattern["i"]["n"], "ᩋᨭᩛᩦᨶᩥ ᩋᨭᩛᩦ")

compare_caseno("ᩈᩣᨾᩦ", 1, pattern["ī"]["m"], "ᩈᩣᨾᩦ") -- Nom compare_caseno("ᩈᩣᨾᩦ", 2, pattern["ī"]["m"], "ᩈᩣᨾᩥᨶᩮᩣ ᩈᩣᨾᩦ") compare_caseno("ᩈᩣᨾᩦ", 3, pattern["ī"]["m"], "ᩈᩣᨾᩥᩴ ᩈᩣᨾᩥᨶᩴ") -- Acc -- Second form has short file according to my books: ᩈᩣᨾᩥᨶᩴ compare_caseno("ᩈᩣᨾᩦ", 4, pattern["ī"]["m"], "ᩈᩣᨾᩥᨶᩮᩣ ᩈᩣᨾᩦ") compare_caseno("ᩈᩣᨾᩦ", 5, pattern["ī"]["m"], "ᩈᩣᨾᩥᨶᩣ") -- Instr compare_caseno("ᩈᩣᨾᩦ", 6, pattern["ī"]["m"], "ᩈᩣᨾᩦᩉᩥ ᩈᩣᨾᩦᨽᩥ") compare_caseno("ᩈᩣᨾᩦ", 7, pattern["ī"]["m"], "ᩈᩣᨾᩥᩔ ᩈᩣᨾᩥᨶᩮᩣ") -- Dat compare_caseno("ᩈᩣᨾᩦ", 8, pattern["ī"]["m"], "ᩈᩣᨾᩦᨶᩴ") compare_caseno("ᩈᩣᨾᩦ", 9, pattern["ī"]["m"], "ᩈᩣᨾᩥᩈ᩠ᨾᩣ ᩈᩣᨾᩥᨾ᩠ᩉᩣ")  -- Abl -- Why not ᨾᩩᨶᩥᨶᩣ? compare_caseno("ᩈᩣᨾᩦ", 10, pattern["ī"]["m"], "ᩈᩣᨾᩦᩉᩥ ᩈᩣᨾᩦᨽᩥ") compare_caseno("ᩈᩣᨾᩦ", 11, pattern["ī"]["m"], "ᩈᩣᨾᩥᩔ ᩈᩣᨾᩥᨶᩮᩣ") -- Gen compare_caseno("ᩈᩣᨾᩦ", 12, pattern["ī"]["m"], "ᩈᩣᨾᩦᨶᩴ") compare_caseno("ᩈᩣᨾᩦ", 13, pattern["ī"]["m"], "ᩈᩣᨾᩥᩈ᩠ᨾᩥᩴ ᩈᩣᨾᩥᨾ᩠ᩉᩥ") -- Loc -- Why not ᩈᩣᨾᩥᨶᩥ compare_caseno("ᩈᩣᨾᩦ", 14, pattern["ī"]["m"], "ᩈᩣᨾᩦᩈᩩ") compare_caseno("ᩈᩣᨾᩦ", 15, pattern["ī"]["m"], "ᩈᩣᨾᩥ") -- Voc compare_caseno("ᩈᩣᨾᩦ", 16, pattern["ī"]["m"], "ᩈᩣᨾᩥᨶᩮᩣ ᩈᩣᨾᩦ")

compare_caseno("ᨶᨴᩦ", 1, pattern["ī"]["f"], "ᨶᨴᩦ") -- Nom compare_caseno("ᨶᨴᩦ", 2, pattern["ī"]["f"], "ᨶᨴᩥᨿᩮᩣ ᨶᨴᩦ") compare_caseno("ᨶᨴᩦ", 3, pattern["ī"]["f"], "ᨶᨴᩥᩴ ᨶᨴᩥᨿᩴ") -- Acc -- What is this extra form? compare_caseno("ᨶᨴᩦ", 4, pattern["ī"]["f"], "ᨶᨴᩥᨿᩮᩣ ᨶᨴᩦ") compare_caseno("ᨶᨴᩦ", 5, pattern["ī"]["f"], "ᨶᨴᩥᨿᩣ") -- Instr -- Why no syncopation? compare_caseno("ᨶᨴᩦ", 6, pattern["ī"]["f"], "ᨶᨴᩦᩉᩥ ᨶᨴᩦᨽᩥ") compare_caseno("ᨶᨴᩦ", 7, pattern["ī"]["f"], "ᨶᨴᩥᨿᩣ") -- Dat -- Why no syncopation? compare_caseno("ᨶᨴᩦ", 8, pattern["ī"]["f"], "ᨶᨴᩦᨶᩴ") compare_caseno("ᨶᨴᩦ", 9, pattern["ī"]["f"], "ᨶᨴᩥᨿᩣ")  -- Abl -- Why no syncopation? compare_caseno("ᨶᨴᩦ", 10, pattern["ī"]["f"], "ᨶᨴᩦᩉᩥ ᨶᨴᩦᨽᩥ") compare_caseno("ᨶᨴᩦ", 11, pattern["ī"]["f"], "ᨶᨴᩥᨿᩣ") -- Gen -- Why no syncopation?! compare_caseno("ᨶᨴᩦ", 12, pattern["ī"]["f"], "ᨶᨴᩦᨶᩴ") compare_caseno("ᨶᨴᩦ", 13, pattern["ī"]["f"], "ᨶᨴᩥᨿᩣ ᨶᨴᩥᨿᩴ") -- Loc -- Why no syncopation? compare_caseno("ᨶᨴᩦ", 14, pattern["ī"]["f"], "ᨶᨴᩦᩈᩩ") compare_caseno("ᨶᨴᩦ", 15, pattern["ī"]["f"], "ᨶᨴᩥ") -- Voc -- Why is ᨶᨴᩦ rejected? compare_caseno("ᨶᨴᩦ", 16, pattern["ī"]["f"], "ᨶᨴᩥᨿᩮᩣ ᨶᨴᩦ")

compare_caseno("ᨻᨶ᩠ᨵᩩ", 1, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩩ") -- Nom compare_caseno("ᨻᨶ᩠ᨵᩩ", 2, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩅᩮᩣ ᨻᨶ᩠ᨵᩪ") compare_caseno("ᨻᨶ᩠ᨵᩩ", 3, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩩᩴ") -- Acc compare_caseno("ᨻᨶ᩠ᨵᩩ", 4, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩅᩮᩣ ᨻᨶ᩠ᨵᩪ") compare_caseno("ᨻᨶ᩠ᨵᩩ", 5, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩩᨶᩣ") -- Instr compare_caseno("ᨻᨶ᩠ᨵᩩ", 6, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩪᩉᩥ ᨻᨶ᩠ᨵᩪᨽᩥ") compare_caseno("ᨻᨶ᩠ᨵᩩ", 7, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩩᩔ ᨻᨶ᩠ᨵᩩᨶᩮᩣ") -- Dat compare_caseno("ᨻᨶ᩠ᨵᩩ", 8, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩪᨶᩴ") compare_caseno("ᨻᨶ᩠ᨵᩩ", 9, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩩᩈ᩠ᨾᩣ ᨻᨶ᩠ᨵᩩᨾ᩠ᩉᩣ")  -- Abl -- Why not ᨻᨶ᩠ᨵᩩᨶᩣ compare_caseno("ᨻᨶ᩠ᨵᩩ", 10, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩪᩉᩥ ᨻᨶ᩠ᨵᩪᨽᩥ") compare_caseno("ᨻᨶ᩠ᨵᩩ", 11, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩩᩔ ᨻᨶ᩠ᨵᩩᨶᩮᩣ") -- Gen compare_caseno("ᨻᨶ᩠ᨵᩩ", 12, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩪᨶᩴ") compare_caseno("ᨻᨶ᩠ᨵᩩ", 13, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩩᩈ᩠ᨾᩥᩴ ᨻᨶ᩠ᨵᩩᨾ᩠ᩉᩥ") -- Loc compare_caseno("ᨻᨶ᩠ᨵᩩ", 14, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩪᩈᩩ") compare_caseno("ᨻᨶ᩠ᨵᩩ", 15, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩩ") -- Voc compare_caseno("ᨻᨶ᩠ᨵᩩ", 16, pattern["u"]["m"], "ᨻᨶ᩠ᨵᩅᩮ ᨻᨶ᩠ᨵᩅᩮᩣ") -- Why not ᨻᨶ᩠ᨵᩪ? And ᨻᨶ᩠ᨵᩅᩮ is supposed to be peculiar to ᨽᩥᨠ᩠ᨡᩩ!

compare_caseno("ᨵᩮᨶᩩ", 1, pattern["u"]["f"], "ᨵᩮᨶᩩ") -- Nom compare_caseno("ᨵᩮᨶᩩ", 2, pattern["u"]["f"], "ᨵᩮᨶᩩᨿᩮᩣ ᨵᩮᨶᩪ") compare_caseno("ᨵᩮᨶᩩ", 3, pattern["u"]["f"], "ᨵᩮᨶᩩᩴ") -- Acc compare_caseno("ᨵᩮᨶᩩ", 4, pattern["u"]["f"], "ᨵᩮᨶᩩᨿᩮᩣ ᨵᩮᨶᩪ") compare_caseno("ᨵᩮᨶᩩ", 5, pattern["u"]["f"], "ᨵᩮᨶᩩᨿᩣ") -- Instr compare_caseno("ᨵᩮᨶᩩ", 6, pattern["u"]["f"], "ᨵᩮᨶᩪᩉᩥ ᨵᩮᨶᩪᨽᩥ") compare_caseno("ᨵᩮᨶᩩ", 7, pattern["u"]["f"], "ᨵᩮᨶᩩᨿᩣ") -- Dat compare_caseno("ᨵᩮᨶᩩ", 8, pattern["u"]["f"], "ᨵᩮᨶᩪᨶᩴ") compare_caseno("ᨵᩮᨶᩩ", 9, pattern["u"]["f"], "ᨵᩮᨶᩩᨿᩣ")  -- Abl compare_caseno("ᨵᩮᨶᩩ", 10, pattern["u"]["f"], "ᨵᩮᨶᩪᩉᩥ ᨵᩮᨶᩪᨽᩥ") compare_caseno("ᨵᩮᨶᩩ", 11, pattern["u"]["f"], "ᨵᩮᨶᩩᨿᩣ") -- Gen compare_caseno("ᨵᩮᨶᩩ", 12, pattern["u"]["f"], "ᨵᩮᨶᩪᨶᩴ") compare_caseno("ᨵᩮᨶᩩ", 13, pattern["u"]["f"], "ᨵᩮᨶᩩᨿᩣ ᨵᩮᨶᩩᨿᩴ") -- Loc compare_caseno("ᨵᩮᨶᩩ", 14, pattern["u"]["f"], "ᨵᩮᨶᩪᩈᩩ") compare_caseno("ᨵᩮᨶᩩ", 15, pattern["u"]["f"], "ᨵᩮᨶᩩ") -- Voc -- Why no ᨵᩮᨶᩩᨿᩮᩣ? compare_caseno("ᨵᩮᨶᩩ", 16, pattern["u"]["f"], "ᨵᩮᨶᩩᨿᩮᩣ ᨵᩮᨶᩪ")

compare_caseno("ᨧᨠ᩠ᨡᩩ", 1, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩩ") -- Nom  -- ᨧᨠ᩠ᨡᩩᩴ missing compare_caseno("ᨧᨠ᩠ᨡᩩ", 2, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩪᨶᩥ ᨧᨠ᩠ᨡᩪ") compare_caseno("ᨧᨠ᩠ᨡᩩ", 3, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩩᩴ") -- Acc  -- ᨧᨠ᩠ᨡᩩ missing (Not in Duroiselle) compare_caseno("ᨧᨠ᩠ᨡᩩ", 4, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩪᨶᩥ ᨧᨠ᩠ᨡᩪ") compare_caseno("ᨧᨠ᩠ᨡᩩ", 5, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩩᨶᩣ") -- Instr compare_caseno("ᨧᨠ᩠ᨡᩩ", 6, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩪᩉᩥ ᨧᨠ᩠ᨡᩪᨽᩥ") compare_caseno("ᨧᨠ᩠ᨡᩩ", 7, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩩᩔ ᨧᨠ᩠ᨡᩩᨶᩮᩣ") -- Dat compare_caseno("ᨧᨠ᩠ᨡᩩ", 8, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩪᨶᩴ") compare_caseno("ᨧᨠ᩠ᨡᩩ", 9, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩩᩈ᩠ᨾᩣ ᨧᨠ᩠ᨡᩩᨾ᩠ᩉᩣ")  -- Abl -- Why not ᨧᨠ᩠ᨡᩩᨶᩣ? compare_caseno("ᨧᨠ᩠ᨡᩩ", 10, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩪᩉᩥ ᨧᨠ᩠ᨡᩪᨽᩥ") compare_caseno("ᨧᨠ᩠ᨡᩩ", 11, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩩᩔ ᨧᨠ᩠ᨡᩩᨶᩮᩣ") -- Gen compare_caseno("ᨧᨠ᩠ᨡᩩ", 12, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩪᨶᩴ") compare_caseno("ᨧᨠ᩠ᨡᩩ", 13, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩩᩈ᩠ᨾᩥᩴ ᨧᨠ᩠ᨡᩩᨾ᩠ᩉᩥ") -- Loc compare_caseno("ᨧᨠ᩠ᨡᩩ", 14, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩪᩈᩩ") compare_caseno("ᨧᨠ᩠ᨡᩩ", 15, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩩ") -- Voc ᨧᨠ᩠ᨡᩩᩴ compare_caseno("ᨧᨠ᩠ᨡᩩ", 16, pattern["u"]["n"], "ᨧᨠ᩠ᨡᩪᨶᩥ ᨧᨠ᩠ᨡᩪ")

compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 1, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩪ") -- Nom compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 2, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩩᨶᩮᩣ ᩅᩥᨬ᩠ᨬᩪ") compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 3, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩩᩴ") -- Acc compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 4, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩩᨶᩮᩣ ᩅᩥᨬ᩠ᨬᩪ") compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 5, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩩᨶᩣ") -- Instr compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 6, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩪᩉᩥ ᩅᩥᨬ᩠ᨬᩪᨽᩥ") compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 7, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩩᩔ ᩅᩥᨬ᩠ᨬᩩᨶᩮᩣ") -- Dat compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 8, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩪᨶᩴ") compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 9, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩩᩈ᩠ᨾᩣ ᩅᩥᨬ᩠ᨬᩩᨾ᩠ᩉᩣ")  -- Abl -- Why not ᩅᩥᨬ᩠ᨬᩩᨶᩣ compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 10, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩪᩉᩥ ᩅᩥᨬ᩠ᨬᩪᨽᩥ") compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 11, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩩᩔ ᩅᩥᨬ᩠ᨬᩩᨶᩮᩣ") -- Gen compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 12, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩪᨶᩴ") compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 13, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩩᩈ᩠ᨾᩥᩴ ᩅᩥᨬ᩠ᨬᩩᨾ᩠ᩉᩥ") -- Loc compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 14, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩪᩈᩩ") compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 15, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩩ") -- Voc -- But my sources have the long vowel: ᩅᩥᨬ᩠ᨬᩪ compare_caseno("ᩅᩥᨬ᩠ᨬᩪ", 16, pattern["ū"]["m"], "ᩅᩥᨬ᩠ᨬᩩᨶᩮᩣ ᩅᩥᨬ᩠ᨬᩪ")

compare_caseno("ᩈᩔᩪ", 1, pattern["ū"]["f"], "ᩈᩔᩪ") -- Nom compare_caseno("ᩈᩔᩪ", 2, pattern["ū"]["f"], "ᩈᩔᩩᨿᩮᩣ ᩈᩔᩪ") compare_caseno("ᩈᩔᩪ", 3, pattern["ū"]["f"], "ᩈᩔᩩᩴ") -- Acc compare_caseno("ᩈᩔᩪ", 4, pattern["ū"]["f"], "ᩈᩔᩩᨿᩮᩣ ᩈᩔᩪ") compare_caseno("ᩈᩔᩪ", 5, pattern["ū"]["f"], "ᩈᩔᩩᨿᩣ") -- Instr compare_caseno("ᩈᩔᩪ", 6, pattern["ū"]["f"], "ᩈᩔᩪᩉᩥ ᩈᩔᩪᨽᩥ") compare_caseno("ᩈᩔᩪ", 7, pattern["ū"]["f"], "ᩈᩔᩩᨿᩣ") -- Dat compare_caseno("ᩈᩔᩪ", 8, pattern["ū"]["f"], "ᩈᩔᩪᨶᩴ") compare_caseno("ᩈᩔᩪ", 9, pattern["ū"]["f"], "ᩈᩔᩩᨿᩣ")  -- Abl compare_caseno("ᩈᩔᩪ", 10, pattern["ū"]["f"], "ᩈᩔᩪᩉᩥ ᩈᩔᩪᨽᩥ") compare_caseno("ᩈᩔᩪ", 11, pattern["ū"]["f"], "ᩈᩔᩩᨿᩣ") -- Gen compare_caseno("ᩈᩔᩪ", 12, pattern["ū"]["f"], "ᩈᩔᩪᨶᩴ") compare_caseno("ᩈᩔᩪ", 13, pattern["ū"]["f"], "ᩈᩔᩩᨿᩣ ᩈᩔᩩᨿᩴ") -- Loc compare_caseno("ᩈᩔᩪ", 14, pattern["ū"]["f"], "ᩈᩔᩪᩈᩩ") compare_caseno("ᩈᩔᩪ", 15, pattern["ū"]["f"], "ᩈᩔᩩ") -- Voc -- But my sources have the long vowel: ᩈᩔᩪ compare_caseno("ᩈᩔᩪ", 16, pattern["ū"]["f"], "ᩈᩔᩩᨿᩮᩣ ᩈᩔᩪ") end

return tests