Module:pl-adj/testcases

local tests = require('Module:UnitTests') local pl_adj = require('Module:pl-adj')

local inflection_mt = { __eq = function (left, right) for key, rvalue in ipairs(right) do			local lvalue = left[key] if lvalue ~= rvalue then return false end end return true end; __tostring = function (self) local output = {} for i, value in ipairs(self) do			output[#output + 1] = ('" %s "'):format(value, value) end return "{ " .. table.concat(output, ", ") .. " }"	end; }

function tests:check_autoinflect(lemma, expected, options) self:equals(		([=[Inflection of %s ]=]):format(lemma, lemma),		setmetatable(pl_adj.autoinflect(lemma, options or {}), inflection_mt),		setmetatable(expected, inflection_mt)	) end

function tests:test_autoinflector self:check_autoinflect("krótki", { 		"krótki", "krótka", "krótkie", "krótcy", "krótkie",		"krótkiego", "krótkiej", "krótkich",		"krótkiemu", "krótkim", "krótką", "krótkim", "krótkimi"	})

self:check_autoinflect("drogie", { 		"drogi", "droga", "drogie", "drodzy", "drogie",		"drogiego", "drogiej", "drogich",		"drogiemu", "drogim", "drogą", "drogim", "drogimi"	})

self:check_autoinflect("obca", {		"obcy", "obca", "obce", "obcy", "obce",		"obcego", "obcej", "obcych",		"obcemu", "obcym", "obcą", "obcym", "obcymi"	})

self:check_autoinflect("kolorowe", {		"kolorowy", "kolorowa", "kolorowe", "kolorowi", "kolorowe",		"kolorowego", "kolorowej", "kolorowych",		"kolorowemu", "kolorowym", "kolorową", "kolorowym", "kolorowymi"	})

self:check_autoinflect("żaden", {		"żaden", "żadna", "żadne", "żadni", "żadne",		"żadnego", "żadnej", "żadnych",		"żadnemu", "żadnym", "żadną", "żadnym", "żadnymi"	})

self:check_autoinflect("pluszaty", {		"pluszaty", "pluszata", "pluszate", "pluszaci", "pluszate",		"pluszatego", "pluszatej", "pluszatych",		"pluszatemu", "pluszatym", "pluszatą", "pluszatym", "pluszatymi"	})

self:check_autoinflect("parna", {		"parny", "parna", "parne", "parni", "parne",		"parnego", "parnej", "parnych",		"parnemu", "parnym", "parną", "parnym", "parnymi"	})

self:check_autoinflect("większe", {		"większy", "większa", "większe", "więksi", "większe",		"większego", "większej", "większych",		"większemu", "większym", "większą", "większym", "większymi"	})

self:check_autoinflect("zajęczy", {		"zajęczy", "zajęcza", "zajęcze", "zajęczy", "zajęcze",		"zajęczego", "zajęczej", "zajęczych",		"zajęczemu", "zajęczym", "zajęczą", "zajęczym", "zajęczymi"	})

self:check_autoinflect("biegnące", {		"biegnący", "biegnąca", "biegnące", "biegnący", "biegnące",		"biegnącego", "biegnącej", "biegnących",		"biegnącemu", "biegnącym", "biegnącą", "biegnącym", "biegnącymi"	})

self:check_autoinflect("twardy", {		"twardy", "twarda", "twarde", "twardzi", "twarde",		"twardego", "twardej", "twardych",		"twardemu", "twardym", "twardą", "twardym", "twardymi"	})

self:check_autoinflect("szczęśliwe", {		"szczęśliwy", "szczęśliwa", "szczęśliwe", "szczęśliwi", "szczęśliwe",		"szczęśliwego", "szczęśliwej", "szczęśliwych",		"szczęśliwemu", "szczęśliwym", "szczęśliwą", "szczęśliwym", "szczęśliwymi"	})

self:check_autoinflect("trzecia", {		"trzeci", "trzecia", "trzecie", "trzeci", "trzecie",		"trzeciego", "trzeciej", "trzecich",		"trzeciemu", "trzecim", "trzecią", "trzecim", "trzecimi"	})

self:check_autoinflect("świeże", {		"świeży", "świeża", "świeże", "świeży", "świeże",		"świeżego", "świeżej", "świeżych",		"świeżemu", "świeżym", "świeżą", "świeżym", "świeżymi"	})

self:check_autoinflect("rączy", {		"rączy", "rącza", "rącze", "rączy", "rącze",		"rączego", "rączej", "rączych",		"rączemu", "rączym", "rączą", "rączym", "rączymi"	})

self:check_autoinflect("stare", {		"stary", "stara", "stare", "starzy", "stare",		"starego", "starej", "starych",		"staremu", "starym", "starą", "starym", "starymi"	})

self:check_autoinflect("rychła", {		"rychły", "rychła", "rychłe", "rychli", "rychłe",		"rychłego", "rychłej", "rychłych",		"rychłemu", "rychłym", "rychłą", "rychłym", "rychłymi"	})

self:check_autoinflect("mądre", {		"mądry", "mądra", "mądre", "mądrzy", "mądre",		"mądrego", "mądrej", "mądrych",		"mądremu", "mądrym", "mądrą", "mądrym", "mądrymi"	})

self:check_autoinflect("urocza", {		"uroczy", "urocza", "urocze", "uroczy", "urocze",		"uroczego", "uroczej", "uroczych",		"uroczemu", "uroczym", "uroczą", "uroczym", "uroczymi"	})

self:check_autoinflect("roztargniony", {		"roztargniony", "roztargniona", "roztargnione", "roztargnieni", "roztargnione",		"roztargnionego", "roztargnionej", "roztargnionych",		"roztargnionemu", "roztargnionym", "roztargnioną", "roztargnionym", "roztargnionymi"	})

self:check_autoinflect("jednoczesne", {		"jednoczesny", "jednoczesna", "jednoczesne", "jednocześni", "jednoczesne",		"jednoczesnego", "jednoczesnej", "jednoczesnych",		"jednoczesnemu", "jednoczesnym", "jednoczesną", "jednoczesnym", "jednoczesnymi"	})

self:check_autoinflect("przyjazna", {		"przyjazny", "przyjazna", "przyjazne", "przyjaźni", "przyjazne",		"przyjaznego", "przyjaznej", "przyjaznych",		"przyjaznemu", "przyjaznym", "przyjazną", "przyjaznym", "przyjaznymi"	})

self:check_autoinflect("autentyczny", {		"autentyczny", "autentyczna", "autentyczne", "autentyczni", "autentyczne",		"autentycznego", "autentycznej", "autentycznych",		"autentycznemu", "autentycznym", "autentyczną", "autentycznym", "autentycznymi"	})

self:check_autoinflect("zewnętrzne", {		"zewnętrzny", "zewnętrzna", "zewnętrzne", "zewnętrzni", "zewnętrzne",		"zewnętrznego", "zewnętrznej", "zewnętrznych",		"zewnętrznemu", "zewnętrznym", "zewnętrzną", "zewnętrznym", "zewnętrznymi"	})

self:check_autoinflect("cudzy", {		"cudzy", "cudza", "cudze", "cudzy", "cudze",		"cudzego", "cudzej", "cudzych",		"cudzemu", "cudzym", "cudzą", "cudzym", "cudzymi"	})

self:check_autoinflect("starsze", {		"starszy", "starsza", "starsze", "starsi", "starsze",		"starszego", "starszej", "starszych",		"starszemu", "starszym", "starszą", "starszym", "starszymi"	}) end

return tests