বিষয়বস্তুতে চলুন

মডিউল:pi-decl/noun/Lana/testcases

উইকিঅভিধান, মুক্ত অভিধান থেকে

এই মডিউলের জন্য মডিউল: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