All tests passed. (refresh)

TextExpectedActual
test_autoinflector:
PassedInflection of 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" }{ "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" }
PassedInflection of drogie{ "drogi", "droga", "drogie", "drodzy", "drogie", "drogiego", "drogiej", "drogich", "drogiemu", "drogim", "drogą", "drogim", "drogimi" }{ "drogi", "droga", "drogie", "drodzy", "drogie", "drogiego", "drogiej", "drogich", "drogiemu", "drogim", "drogą", "drogim", "drogimi" }
PassedInflection of obca{ "obcy", "obca", "obce", "obcy", "obce", "obcego", "obcej", "obcych", "obcemu", "obcym", "obcą", "obcym", "obcymi" }{ "obcy", "obca", "obce", "obcy", "obce", "obcego", "obcej", "obcych", "obcemu", "obcym", "obcą", "obcym", "obcymi" }
PassedInflection of kolorowe{ "kolorowy", "kolorowa", "kolorowe", "kolorowi", "kolorowe", "kolorowego", "kolorowej", "kolorowych", "kolorowemu", "kolorowym", "kolorową", "kolorowym", "kolorowymi" }{ "kolorowy", "kolorowa", "kolorowe", "kolorowi", "kolorowe", "kolorowego", "kolorowej", "kolorowych", "kolorowemu", "kolorowym", "kolorową", "kolorowym", "kolorowymi" }
PassedInflection of żaden{ "żaden", "żadna", "żadne", "żadni", "żadne", "żadnego", "żadnej", "żadnych", "żadnemu", "żadnym", "żadną", "żadnym", "żadnymi" }{ "żaden", "żadna", "żadne", "żadni", "żadne", "żadnego", "żadnej", "żadnych", "żadnemu", "żadnym", "żadną", "żadnym", "żadnymi" }
PassedInflection of pluszaty{ "pluszaty", "pluszata", "pluszate", "pluszaci", "pluszate", "pluszatego", "pluszatej", "pluszatych", "pluszatemu", "pluszatym", "pluszatą", "pluszatym", "pluszatymi" }{ "pluszaty", "pluszata", "pluszate", "pluszaci", "pluszate", "pluszatego", "pluszatej", "pluszatych", "pluszatemu", "pluszatym", "pluszatą", "pluszatym", "pluszatymi" }
PassedInflection of parna{ "parny", "parna", "parne", "parni", "parne", "parnego", "parnej", "parnych", "parnemu", "parnym", "parną", "parnym", "parnymi" }{ "parny", "parna", "parne", "parni", "parne", "parnego", "parnej", "parnych", "parnemu", "parnym", "parną", "parnym", "parnymi" }
PassedInflection of 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" }{ "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" }
PassedInflection of 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" }{ "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" }
PassedInflection of 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" }{ "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" }
PassedInflection of twardy{ "twardy", "twarda", "twarde", "twardzi", "twarde", "twardego", "twardej", "twardych", "twardemu", "twardym", "twardą", "twardym", "twardymi" }{ "twardy", "twarda", "twarde", "twardzi", "twarde", "twardego", "twardej", "twardych", "twardemu", "twardym", "twardą", "twardym", "twardymi" }
PassedInflection of 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" }{ "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" }
PassedInflection of trzecia{ "trzeci", "trzecia", "trzecie", "trzeci", "trzecie", "trzeciego", "trzeciej", "trzecich", "trzeciemu", "trzecim", "trzecią", "trzecim", "trzecimi" }{ "trzeci", "trzecia", "trzecie", "trzeci", "trzecie", "trzeciego", "trzeciej", "trzecich", "trzeciemu", "trzecim", "trzecią", "trzecim", "trzecimi" }
PassedInflection of ś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" }{ "ś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" }
PassedInflection of 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" }{ "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" }
PassedInflection of stare{ "stary", "stara", "stare", "starzy", "stare", "starego", "starej", "starych", "staremu", "starym", "starą", "starym", "starymi" }{ "stary", "stara", "stare", "starzy", "stare", "starego", "starej", "starych", "staremu", "starym", "starą", "starym", "starymi" }
PassedInflection of 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" }{ "rychły", "rychła", "rychłe", "rychli", "rychłe", "rychłego", "rychłej", "rychłych", "rychłemu", "rychłym", "rychłą", "rychłym", "rychłymi" }
PassedInflection of 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" }{ "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" }
PassedInflection of urocza{ "uroczy", "urocza", "urocze", "uroczy", "urocze", "uroczego", "uroczej", "uroczych", "uroczemu", "uroczym", "uroczą", "uroczym", "uroczymi" }{ "uroczy", "urocza", "urocze", "uroczy", "urocze", "uroczego", "uroczej", "uroczych", "uroczemu", "uroczym", "uroczą", "uroczym", "uroczymi" }
PassedInflection of roztargniony{ "roztargniony", "roztargniona", "roztargnione", "roztargnieni", "roztargnione", "roztargnionego", "roztargnionej", "roztargnionych", "roztargnionemu", "roztargnionym", "roztargnioną", "roztargnionym", "roztargnionymi" }{ "roztargniony", "roztargniona", "roztargnione", "roztargnieni", "roztargnione", "roztargnionego", "roztargnionej", "roztargnionych", "roztargnionemu", "roztargnionym", "roztargnioną", "roztargnionym", "roztargnionymi" }
PassedInflection of jednoczesne{ "jednoczesny", "jednoczesna", "jednoczesne", "jednocześni", "jednoczesne", "jednoczesnego", "jednoczesnej", "jednoczesnych", "jednoczesnemu", "jednoczesnym", "jednoczesną", "jednoczesnym", "jednoczesnymi" }{ "jednoczesny", "jednoczesna", "jednoczesne", "jednocześni", "jednoczesne", "jednoczesnego", "jednoczesnej", "jednoczesnych", "jednoczesnemu", "jednoczesnym", "jednoczesną", "jednoczesnym", "jednoczesnymi" }
PassedInflection of przyjazna{ "przyjazny", "przyjazna", "przyjazne", "przyjaźni", "przyjazne", "przyjaznego", "przyjaznej", "przyjaznych", "przyjaznemu", "przyjaznym", "przyjazną", "przyjaznym", "przyjaznymi" }{ "przyjazny", "przyjazna", "przyjazne", "przyjaźni", "przyjazne", "przyjaznego", "przyjaznej", "przyjaznych", "przyjaznemu", "przyjaznym", "przyjazną", "przyjaznym", "przyjaznymi" }
PassedInflection of autentyczny{ "autentyczny", "autentyczna", "autentyczne", "autentyczni", "autentyczne", "autentycznego", "autentycznej", "autentycznych", "autentycznemu", "autentycznym", "autentyczną", "autentycznym", "autentycznymi" }{ "autentyczny", "autentyczna", "autentyczne", "autentyczni", "autentyczne", "autentycznego", "autentycznej", "autentycznych", "autentycznemu", "autentycznym", "autentyczną", "autentycznym", "autentycznymi" }
PassedInflection of 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" }{ "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" }
PassedInflection of cudzy{ "cudzy", "cudza", "cudze", "cudzy", "cudze", "cudzego", "cudzej", "cudzych", "cudzemu", "cudzym", "cudzą", "cudzym", "cudzymi" }{ "cudzy", "cudza", "cudze", "cudzy", "cudze", "cudzego", "cudzej", "cudzych", "cudzemu", "cudzym", "cudzą", "cudzym", "cudzymi" }
PassedInflection of starsze{ "starszy", "starsza", "starsze", "starsi", "starsze", "starszego", "starszej", "starszych", "starszemu", "starszym", "starszą", "starszym", "starszymi" }{ "starszy", "starsza", "starsze", "starsi", "starsze", "starszego", "starszej", "starszych", "starszemu", "starszym", "starszą", "starszym", "starszymi" }

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] = ('"<span class="Latn mention" lang="pl">[[%s#Polish|%s]]</span>"'):format(value, value)
		end
		return "{ " .. table.concat(output, ", ") .. " }"
	end;
}

function tests:check_autoinflect(lemma, expected, options)
	self:equals(
		([=[Inflection of <span class="Latn mention" lang="pl">[[%s#Polish|%s]]</span>]=]):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