Module:pl-noun/testcases

local tests = require('Module:UnitTests') local pl_noun = require('Module:pl-noun') local m_links = require('Module:links')

local inflection_mt = { __eq = function (left, right) for key, rvalue in pairs(right) do			local lvalue_nl = m_links.remove_links(left[key]) local rvalue_nl = m_links.remove_links(rvalue) if (rvalue_nl ~= "*") and (lvalue_nl ~= "*") then if lvalue_nl ~= rvalue_nl then return false end end end return true end; __tostring = function (self) local casepos = { noms = 1; nomp = 2; gens = 3; genp = 4; dats = 5; datp = 6; accs = 7; accp = 8; inss = 9; insp = 10; locs = 11; locp = 12; vocs = 13; vocp = 14; }		local output = {} for key, value in pairs(self) do			if m_links.remove_links(value) ~= "*" then output[casepos[key]] = ('%s = " %s "'):format(key, pl_noun.make_links(value, "/")) else output[casepos[key]] = ("%s = *"):format(key) end if key ~= "vocp" and mw.ustring.sub(key, -1) == "p" then output[casepos[key]] = output[casepos[key]] .. " "			end end return "{ " .. table.concat(output, ", ") .. " }"	end; }

function tests:check_autoinflect(pattern, args, lemma, expected) local argstring if args then -- The designer of Lua tables is definitely a being of pure evil. -- Their soul is as black as the darkness waiting at the end of time. local pretty_args = {}

-- First output positional arguments (thos with numeric keys) for k, v in ipairs(args) do			table.insert(pretty_args, v)		end

-- Now output keyword arguments. Do this by iterating over all -- arguments and ignoring numeric keys. for k, v in pairs(args) do			if type(k) ~= "number" then table.insert(pretty_args, k .. "=" .. v)			end end

-- Join with commas. argstring = "|" .. table.concat(pretty_args, "|") else argstring = "" end local desc = [=[Inflection of %s ]=]	desc = desc:format(lemma, lemma, mw.text.nowiki("...-" .. pattern .. argstring .. "}}"))	self:equals(		desc,		setmetatable(pl_noun.autoinflect(pattern, args or {}, lemma or ""), inflection_mt),		setmetatable(expected, inflection_mt)	) end

function tests:test_autoinflect_01_m_pr self:check_autoinflect("m-pr", nil, "gazda", { 		noms = "gazda"; nomp = "gazdowie";		gens = "gazdy"; genp = "gazdów";		dats = "gaździe"; datp = "gazdom";		accs = "gazdę"; accp = "gazdów";		inss = "gazdą"; insp = "gazdami";		locs = "gaździe"; locp = "gazdach";		vocs = "gazdo"; vocp = "gazdowie";	}) self:check_autoinflect("m-pr", nil, "jeniec", { 		noms = "jeniec"; nomp = "jeńcy";		gens = "jeńca"; genp = "jeńców";		dats = "jeńcowi"; datp = "jeńcom";		accs = "jeńca"; accp = "jeńców";		inss = "jeńcem"; insp = "jeńcami";		locs = "jeńcu"; locp = "jeńcach";		vocs = "jeńcze"; vocp = "jeńcy";	}) self:check_autoinflect("m-pr", nil, "jeździec", { 		noms = "jeździec"; nomp = "jeźdźcy";		gens = "jeźdźca"; genp = "jeźdźców";		dats = "jeźdźcowi"; datp = "jeźdźcom";		accs = "jeźdźca"; accp = "jeźdźców";		inss = "jeźdźcem"; insp = "jeźdźcami";		locs = "jeźdźcu"; locp = "jeźdźcach";		vocs = "jeźdźcze"; vocp = "jeźdźcy";	}) self:check_autoinflect("m-pr", nil, "zawodnik", { 		noms = "zawodnik"; nomp = "zawodnicy";		gens = "zawodnika"; genp = "zawodników";		dats = "zawodnikowi"; datp = "zawodnikom";		accs = "zawodnika"; accp = "zawodników";		inss = "zawodnikiem"; insp = "zawodnikami";		locs = "zawodniku"; locp = "zawodnikach";		vocs = "zawodniku"; vocp = "zawodnicy";	}) self:check_autoinflect("m-pr", nil, "władca", { 		noms = "władca"; nomp = "władcy";		gens = "władcy"; genp = "władców";		dats = "władcy"; datp = "władcom";		accs = "władcę"; accp = "władców";		inss = "władcą"; insp = "władcami";		locs = "władcy"; locp = "władcach";		vocs = "władco"; vocp = "władcy";	}) self:check_autoinflect("m-pr", nil, "piekarz", { 		noms = "piekarz"; nomp = "piekarze";		gens = "piekarza"; genp = "piekarzy";		dats = "piekarzowi"; datp = "piekarzom";		accs = "piekarza"; accp = "piekarzy";		inss = "piekarzem"; insp = "piekarzami";		locs = "piekarzu"; locp = "piekarzach";		vocs = "piekarzu"; vocp = "piekarze";	}) self:check_autoinflect("m-pr", nil, "Rosjanin", { 		noms = "Rosjanin"; nomp = "Rosjanie";		gens = "Rosjanina"; genp = "Rosjan";		dats = "Rosjaninowi"; datp = "Rosjanom";		accs = "Rosjanina"; accp = "Rosjan";		inss = "Rosjaninem"; insp = "Rosjanami";		locs = "Rosjaninie"; locp = "Rosjanach";		vocs = "Rosjaninie"; vocp = "Rosjanie";	}) self:check_autoinflect("m-pr", nil, "księgowy", { 		noms = "księgowy"; nomp = "księgowi";		gens = "księgowego"; genp = "księgowych";		dats = "księgowemu"; datp = "księgowym";		accs = "księgowego"; accp = "księgowych";		inss = "księgowym"; insp = "księgowymi";		locs = "księgowym"; locp = "księgowych";		vocs = "księgowy"; vocp = "księgowi";	}) self:check_autoinflect("m-pr", nil, "łowczy", { 		noms = "łowczy"; nomp = "łowczy";		gens = "łowczego"; genp = "łowczych";		dats = "łowczemu"; datp = "łowczym";		accs = "łowczego"; accp = "łowczych";		inss = "łowczym"; insp = "łowczymi";		locs = "łowczym"; locp = "łowczych";		vocs = "łowczy"; vocp = "łowczy";	}) self:check_autoinflect("m-pr", nil, "Olgierd", { 		noms = "Olgierd"; nomp = "Olgierdzi";		gens = "Olgierda"; genp = "Olgierdów";		dats = "Olgierdowi"; datp = "Olgierdom";		accs = "Olgierda"; accp = "Olgierdów";		inss = "Olgierdem"; insp = "Olgierdami";		locs = "Olgierdzie"; locp = "Olgierdach";		vocs = "Olgierdzie"; vocp = "Olgierdzi";	}) end

function tests:test_autoinflect_02_m_an self:check_autoinflect("m-an", nil, "kurczak", { 		noms = "kurczak"; nomp = "kurczaki";		gens = "kurczaka"; genp = "kurczaków";		dats = "kurczakowi"; datp = "kurczakom";		accs = "kurczaka"; accp = "kurczaki";		inss = "kurczakiem"; insp = "kurczakami";		locs = "kurczaku"; locp = "kurczakach";		vocs = "kurczaku"; vocp = "kurczaki";	}) self:check_autoinflect("m-an", { dats = "kotu" }, "kot", { 		noms = "kot"; nomp = "koty";		gens = "kota"; genp = "kotów";		dats = "kotu"; datp = "kotom";		accs = "kota"; accp = "koty";		inss = "kotem"; insp = "kotami";		locs = "kocie"; locp = "kotach";		vocs = "kocie"; vocp = "koty";	}) self:check_autoinflect("m-an", {"bob", "r", "bóbr"}, "bóbr", { 		noms = "bóbr"; nomp = "bobry";		gens = "bobra"; genp = "bobrów";		dats = "bobrowi"; datp = "bobrom";		accs = "bobra"; accp = "bobry";		inss = "bobrem"; insp = "bobrami";		locs = "bobrze"; locp = "bobrach";		vocs = "bobrze"; vocp = "bobry";	}) end

function tests:test_autoinflect_03_m_in self:check_autoinflect("m-in", nil, "głos", { 		noms = "głos"; nomp = "głosy";		gens = "głosu"; genp = "głosów";		dats = "głosowi"; datp = "głosom";		accs = "głos"; accp = "głosy";		inss = "głosem"; insp = "głosami";		locs = "głosie"; locp = "głosach";		vocs = "głosie"; vocp = "głosy";	}) self:check_autoinflect("m-in", {"bó", "l", "u"}, "ból", { 		noms = "ból"; nomp = "bóle";		gens = "bólu"; genp = "bóli";		dats = "bólowi"; datp = "bólom";		accs = "ból"; accp = "bóle";		inss = "bólem"; insp = "bólami";		locs = "bólu"; locp = "bólach";		vocs = "bólu"; vocp = "bóle";	}) self:check_autoinflect("m-in", nil, "garnek", { 		noms = "garnek"; nomp = "garnki";		gens = "garnka"; genp = "garnków";		dats = "garnkowi"; datp = "garnkom";		accs = "garnek"; accp = "garnki";		inss = "garnkiem"; insp = "garnkami";		locs = "garnku"; locp = "garnkach";		vocs = "garnku"; vocp = "garnki";	}) self:check_autoinflect("m-in", nil, "korek", { 		noms = "korek"; nomp = "korki";		gens = "korka"; genp = "korków";		dats = "korkowi"; datp = "korkom";		accs = "korek"; accp = "korki";		inss = "korkiem"; insp = "korkami";		locs = "korku"; locp = "korkach";		vocs = "korku"; vocp = "korki";	}) self:check_autoinflect("m-in", nil, "szacunek", { 		noms = "szacunek"; nomp = "szacunki";		gens = "szacunku"; genp = "szacunków";		dats = "szacunkowi"; datp = "szacunkom";		accs = "szacunek"; accp = "szacunki";		inss = "szacunkiem"; insp = "szacunkami";		locs = "szacunku"; locp = "szacunkach";		vocs = "szacunku"; vocp = "szacunki";	}) self:check_autoinflect("m-in", {"", "", "a"}, "młot", { 		noms = "młot"; nomp = "młoty";		gens = "młota"; genp = "młotów";		dats = "młotowi"; datp = "młotom";		accs = "młot"; accp = "młoty";		inss = "młotem"; insp = "młotami";		locs = "młocie"; locp = "młotach";		vocs = "młocie"; vocp = "młoty";	}) self:check_autoinflect("m-in", {"", "sn", "u", "sen"}, "sen", { 		noms = "sen"; nomp = "sny";		gens = "snu"; genp = "snów";		dats = "snowi"; datp = "snom";		accs = "sen"; accp = "sny";		inss = "snem"; insp = "snami";		locs = "śnie"; locp = "snach";		vocs = "śnie"; vocp = "sny";	}) self:check_autoinflect("m-in", nil, "próg", { 		noms = "próg"; nomp = "progi";		gens = "progu"; genp = "progów";		dats = "progowi"; datp = "progom";		accs = "próg"; accp = "progi";		inss = "progiem"; insp = "progami";		locs = "progu"; locp = "progach";		vocs = "progu"; vocp = "progi";	}) self:check_autoinflect("m-in", nil, "słownik", { 		noms = "słownik"; nomp = "słowniki";		gens = "słownika"; genp = "słowników";		dats = "słownikowi"; datp = "słownikom";		accs = "słownik"; accp = "słowniki";		inss = "słownikiem"; insp = "słownikami";		locs = "słowniku"; locp = "słownikach";		vocs = "słowniku"; vocp = "słowniki";	}) self:check_autoinflect("m-in", nil, "półpasiec", { 		noms = "półpasiec"; nomp = "półpaśce";		gens = "półpaśca"; genp = "półpaśców";		dats = "półpaścowi"; datp = "półpaścom";		accs = "półpasiec"; accp = "półpaśce";		inss = "półpaścem"; insp = "półpaścami";		locs = "półpaścu"; locp = "półpaścach";		vocs = "półpaścu"; vocp = "półpaśce";	}) self:check_autoinflect("m-in", nil, "dziedziniec", { 		noms = "dziedziniec"; nomp = "dziedzińce";		gens = "dziedzińca"; genp = "dziedzińców";		dats = "dziedzińcowi"; datp = "dziedzińcom";		accs = "dziedziniec"; accp = "dziedzińce";		inss = "dziedzińcem"; insp = "dziedzińcami";		locs = "dziedzińcu"; locp = "dziedzińcach";		vocs = "dziedzińcu"; vocp = "dziedzińce";	}) self:check_autoinflect("m-in", nil, "mebel", { 		noms = "mebel"; nomp = "meble";		gens = "mebla"; genp = "mebli";		dats = "meblowi"; datp = "meblom";		accs = "mebel"; accp = "meble";		inss = "meblem"; insp = "meblami";		locs = "meblu"; locp = "meblach";		vocs = "meblu"; vocp = "meble";	}) self:check_autoinflect("m-in", nil, "węgieł", { 		noms = "węgieł"; nomp = "węgły";		gens = "węgła"; genp = "węgłów";		dats = "węgłowi"; datp = "węgłom";		accs = "węgieł"; accp = "węgły";		inss = "węgłem"; insp = "węgłami";		locs = "węgle"; locp = "węgłach";		vocs = "węgle"; vocp = "węgły";	}) self:check_autoinflect("m-in", nil, "węgiel", { 		noms = "węgiel"; nomp = "węgle";		gens = "węgla"; genp = "węgli";		dats = "węglowi"; datp = "węglom";		accs = "węgiel"; accp = "węgle";		inss = "węglem"; insp = "węglami";		locs = "węglu"; locp = "węglach";		vocs = "węglu"; vocp = "węgle";	}) self:check_autoinflect("m-in", nil, "węzeł", { 		noms = "węzeł"; nomp = "węzły";		gens = "węzła"; genp = "węzłów";		dats = "węzłowi"; datp = "węzłom";		accs = "węzeł"; accp = "węzły";		inss = "węzłem"; insp = "węzłami";		locs = "węźle"; locp = "węzłach";		vocs = "węźle"; vocp = "węzły";	}) self:check_autoinflect("m-in", nil, "organizm", { 		noms = "organizm"; nomp = "organizmy";		gens = "organizmu"; genp = "organizmów";		dats = "organizmowi"; datp = "organizmom";		accs = "organizm"; accp = "organizmy";		inss = "organizmem"; insp = "organizmami";		locs = "organizmie"; locp = "organizmach";		vocs = "organizmie"; vocp = "organizmy";	}) end

function tests:test_autoinflect_04_f self:check_autoinflect("f", nil, "bułka", { 		noms = "bułka"; nomp = "bułki";		gens = "bułki"; genp = "bułek";		dats = "bułce"; datp = "bułkom";		accs = "bułkę"; accp = "bułki";		inss = "bułką"; insp = "bułkami";		locs = "bułce"; locp = "bułkach";		vocs = "bułko"; vocp = "bułki";	}) self:check_autoinflect("f", nil, "galaktyka", { 		noms = "galaktyka"; nomp = "galaktyki";		gens = "galaktyki"; genp = "galaktyk";		dats = "galaktyce"; datp = "galaktykom";		accs = "galaktykę"; accp = "galaktyki";		inss = "galaktyką"; insp = "galaktykami";		locs = "galaktyce"; locp = "galaktykach";		vocs = "galaktyko"; vocp = "galaktyki";	}) self:check_autoinflect("f", {"kono", "pi"}, "konopia", { 		noms = "konopia"; nomp = "konopie";		gens = "konopi"; genp = "konopi";		dats = "konopi";  datp = "konopiom";		accs = "konopię"; accp = "konopie";		inss = "konopią"; insp = "konopiami";		locs = "konopi";  locp = "konopiach";		vocs = "konopio"; vocp = "konopie";	}) self:check_autoinflect("f", nil, "entalpia", { 		noms = "entalpia"; nomp = "entalpie";		gens = "entalpii"; genp = "entalpii/entalpij (archaic)";		dats = "entalpii"; datp = "entalpiom";		accs = "entalpię"; accp = "entalpie";		inss = "entalpią"; insp = "entalpiami";		locs = "entalpii"; locp = "entalpiach";		vocs = "entalpio"; vocp = "entalpie";	}) self:check_autoinflect("f", nil, "kategoria", { 		noms = "kategoria"; nomp = "kategorie";		gens = "kategorii"; genp = "kategorii/kategoryj (archaic)";		dats = "kategorii"; datp = "kategoriom";		accs = "kategorię"; accp = "kategorie";		inss = "kategorią"; insp = "kategoriami";		locs = "kategorii"; locp = "kategoriach";		vocs = "kategorio"; vocp = "kategorie";	}) self:check_autoinflect("f", nil, "czara", { 		noms = "czara"; nomp = "czary";		gens = "czary"; genp = "czar";		dats = "czarze"; datp = "czarom";		accs = "czarę"; accp = "czary";		inss = "czarą"; insp = "czarami";		locs = "czarze"; locp = "czarach";		vocs = "czaro"; vocp = "czary";	}) self:check_autoinflect("f", nil, "pryzma", { 		noms = "pryzma"; nomp = "pryzmy";		gens = "pryzmy"; genp = "pryzm";		dats = "pryzmie"; datp = "pryzmom";		accs = "pryzmę"; accp = "pryzmy";		inss = "pryzmą"; insp = "pryzmami";		locs = "pryzmie"; locp = "pryzmach";		vocs = "pryzmo"; vocp = "pryzmy";	}) self:check_autoinflect("f", nil, "budowla", { 		noms = "budowla"; nomp = "budowle";		gens = "budowli"; genp = "budowli";		dats = "budowli"; datp = "budowlom";		accs = "budowlę"; accp = "budowle";		inss = "budowlą"; insp = "budowlami";		locs = "budowli"; locp = "budowlach";		vocs = "budowlo"; vocp = "budowle";	}) self:check_autoinflect("f", nil, "żmija", { 		noms = "żmija"; nomp = "żmije";		gens = "żmii"; genp = "żmij";		dats = "żmii"; datp = "żmijom";		accs = "żmiję"; accp = "żmije";		inss = "żmiją"; insp = "żmijami";		locs = "żmii"; locp = "żmijach";		vocs = "żmijo"; vocp = "żmije";	}) self:check_autoinflect("f", nil, "pasja", { 		noms = "pasja"; nomp = "pasje";		gens = "pasji"; genp = "pasji/pasyj";		dats = "pasji"; datp = "pasjom";		accs = "pasję"; accp = "pasje";		inss = "pasją"; insp = "pasjami";		locs = "pasji"; locp = "pasjach";		vocs = "pasjo"; vocp = "pasje";	})

self:check_autoinflect("f", {"uprzę", "ż", "e", "uprząż"}, "uprząż", { 		noms = "uprząż"; nomp = "uprzęże";		gens = "uprzęży"; genp = "uprzęży";		dats = "uprzęży"; datp = "uprzężom";		accs = "uprząż"; accp = "uprzęże";		inss = "uprzężą"; insp = "uprzężami";		locs = "uprzęży"; locp = "uprzężach";		vocs = "uprzęży"; vocp = "uprzęże";	}) self:check_autoinflect("f", { nomp = "brwi"}, "brew", { 		noms = "brew"; nomp = "brwi";		gens = "brwi"; genp = "brwi";		dats = "brwi"; datp = "brwiom";		accs = "brew"; accp = "brwi";		inss = "brwią"; insp = "brwiami";		locs = "brwi"; locp = "brwiach";		vocs = "brwi"; vocp = "brwi";	}) self:check_autoinflect("f", nil, "twarz", { 		noms = "twarz"; nomp = "twarze";		gens = "twarzy"; genp = "twarzy";		dats = "twarzy"; datp = "twarzom";		accs = "twarz"; accp = "twarze";		inss = "twarzą"; insp = "twarzami";		locs = "twarzy"; locp = "twarzach";		vocs = "twarzy"; vocp = "twarze";	})

self:check_autoinflect("f", nil, "stal", { 		noms = "stal"; nomp = "stale";		gens = "stali"; genp = "stali";		dats = "stali"; datp = "stalom";		accs = "stal"; accp = "stale";		inss = "stalą"; insp = "stalami";		locs = "stali"; locp = "stalach";		vocs = "stali"; vocp = "stale";	}) self:check_autoinflect("f", nil, "nożyczki", { 		noms = "*"; nomp = "nożyczki";		gens = "*"; genp = "nożyczek";		dats = "*"; datp = "nożyczkom";		accs = "*"; accp = "nożyczki";		inss = "*"; insp = "nożyczkami";		locs = "*"; locp = "nożyczkach";		vocs = "*"; vocp = "nożyczki";	}) self:check_autoinflect("f", nil, "Czechy", { 		noms = "*"; nomp = "Czechy";		gens = "*"; genp = "Czech";		dats = "*"; datp = "Czechom";		accs = "*"; accp = "Czechy";		inss = "*"; insp = "Czechami";		locs = "*"; locp = "Czechach";		vocs = "*"; vocp = "Czechy";	}) self:check_autoinflect("f", nil, "kość", { 		noms = "kość"; nomp = "kości";		gens = "kości"; genp = "kości";		dats = "kości"; datp = "kościom";		accs = "kość"; accp = "kości";		inss = "kością"; insp = "kościami";		locs = "kości"; locp = "kościach";		vocs = "kości"; vocp = "kości";	}) self:check_autoinflect("f", nil, "palarnia", { 		noms = "palarnia"; nomp = "palarnie";		gens = "palarni"; genp = "palarni";		dats = "palarni"; datp = "palarniom";		accs = "palarnię"; accp = "palarnie";		inss = "palarnią"; insp = "palarniami";		locs = "palarni"; locp = "palarniach";		vocs = "palarnio"; vocp = "palarnie";	}) self:check_autoinflect("f", nil, "kniahini", { 		noms = "kniahini"; nomp = "kniahinie";		gens = "kniahini"; genp = "kniahiń";		dats = "kniahini"; datp = "kniahiniom";		accs = "kniahinię"; accp = "kniahinie";		inss = "kniahinią"; insp = "kniahiniami";		locs = "kniahini"; locp = "kniahiniach";		vocs = "kniahini"; vocp = "kniahinie";	}) self:check_autoinflect("f-adj", nil, "radna", { 		noms = "radna"; nomp = "radne";		gens = "radnej"; genp = "radnych";		dats = "radnej"; datp = "radnym";		accs = "radną"; accp = "radne";		inss = "radną"; insp = "radnymi";		locs = "radnej"; locp = "radnych";		vocs = "radna"; vocp = "radne";	}) self:check_autoinflect("f-adj", { vocs ="bratowo"}, "bratowa", { 		noms = "bratowa"; nomp = "bratowe";		gens = "bratowej"; genp = "bratowych";		dats = "bratowej"; datp = "bratowym";		accs = "bratową"; accp = "bratowe";		inss = "bratową"; insp = "bratowymi";		locs = "bratowej"; locp = "bratowych";		vocs = "bratowo"; vocp = "bratowe";	}) end

function tests:test_autoinflect_05_n self:check_autoinflect("n", nil, "jarzmo", { 		noms = "jarzmo"; nomp = "jarzma";		gens = "jarzma"; genp = "jarzm";		dats = "jarzmu"; datp = "jarzmom";		accs = "jarzmo"; accp = "jarzma";		inss = "jarzmem"; insp = "jarzmami";		locs = "jarzmie"; locp = "jarzmach";		vocs = "jarzmo"; vocp = "jarzma";	}) self:check_autoinflect("n", nil, "jajko", { 		noms = "jajko"; nomp = "jajka";		gens = "jajka"; genp = "jajek";		dats = "jajku"; datp = "jajkom";		accs = "jajko"; accp = "jajka";		inss = "jajkiem"; insp = "jajkami";		locs = "jajku"; locp = "jajkach";		vocs = "jajko"; vocp = "jajka";	}) self:check_autoinflect("n", nil, "lekarstwo", { 		noms = "lekarstwo"; nomp = "lekarstwa";		gens = "lekarstwa"; genp = "lekarstw";		dats = "lekarstwu"; datp = "lekarstwom";		accs = "lekarstwo"; accp = "lekarstwa";		inss = "lekarstwem"; insp = "lekarstwami";		locs = "lekarstwie"; locp = "lekarstwach";		vocs = "lekarstwo"; vocp = "lekarstwa";	}) self:check_autoinflect("n", nil, "bagno", { 		noms = "bagno"; nomp = "bagna";		gens = "bagna"; genp = "bagien";		dats = "bagnu"; datp = "bagnom";		accs = "bagno"; accp = "bagna";		inss = "bagnem"; insp = "bagnami";		locs = "bagnie"; locp = "bagnach";		vocs = "bagno"; vocp = "bagna";	}) self:check_autoinflect("n", nil, "szkło", { 		noms = "szkło"; nomp = "szkła";		gens = "szkła"; genp = "szkieł";		dats = "szkłu"; datp = "szkłom";		accs = "szkło"; accp = "szkła";		inss = "szkłem"; insp = "szkłami";		locs = "szkle"; locp = "szkłach";		vocs = "szkło"; vocp = "szkła";	}) self:check_autoinflect("n", nil, "życie", { 		noms = "życie"; nomp = "życia";		gens = "życia"; genp = "żyć";		dats = "życiu"; datp = "życiom";		accs = "życie"; accp = "życia";		inss = "życiem"; insp = "życiami";		locs = "życiu"; locp = "życiach";		vocs = "życie"; vocp = "życia";	}) self:check_autoinflect("n", nil, "nozdrze", { 		noms = "nozdrze"; nomp = "nozdrza";		gens = "nozdrza"; genp = "nozdrzy";		dats = "nozdrzu"; datp = "nozdrzom";		accs = "nozdrze"; accp = "nozdrza";		inss = "nozdrzem"; insp = "nozdrzami";		locs = "nozdrzu"; locp = "nozdrzach";		vocs = "nozdrze"; vocp = "nozdrza";	}) self:check_autoinflect("n", nil, "cielę", { 		noms = "cielę"; nomp = "cielęta";		gens = "cielęcia"; genp = "cieląt";		dats = "cielęciu"; datp = "cielętom";		accs = "cielę"; accp = "cielęta";		inss = "cielęciem"; insp = "cielętami";		locs = "cielęciu"; locp = "cielętach";		vocs = "cielę"; vocp = "cielęta";	}) self:check_autoinflect("n", nil, "imię", { 		noms = "imię"; nomp = "imiona";		gens = "imienia"; genp = "imion";		dats = "imieniu"; datp = "imionom";		accs = "imię"; accp = "imiona";		inss = "imieniem"; insp = "imionami";		locs = "imieniu"; locp = "imionach";		vocs = "imię"; vocp = "imiona";	}) self:check_autoinflect("n", nil, "obserwatorium", { 		noms = "obserwatorium"; nomp = "obserwatoria";		gens = "obserwatorium"; genp = "obserwatoriów";		dats = "obserwatorium"; datp = "obserwatoriom";		accs = "obserwatorium"; accp = "obserwatoria";		inss = "obserwatorium"; insp = "obserwatoriami";		locs = "obserwatorium"; locp = "obserwatoriach";		vocs = "obserwatorium"; vocp = "obserwatoria";	}) self:check_autoinflect("n-adj", nil, "młode", { 		noms = "młode"; nomp = "młode";		gens = "młodego"; genp = "młodych";		dats = "młodemu"; datp = "młodym";		accs = "młode"; accp = "młode";		inss = "młodym"; insp = "młodymi";		locs = "młodym"; locp = "młodych";		vocs = "młode"; vocp = "młode";	})

-- to simplify adding new tests local x = [=[ self:check_autoinflect("n", nil, "słowo", { 		noms = ""; nomp = "";		gens = ""; genp = "";		dats = ""; datp = "";		accs = ""; accp = "";		inss = ""; insp = "";		locs = ""; locp = "";		vocs = ""; vocp = "";	}) ]=] end

return tests