8 of 58 tests failed. (refresh)

TextExpectedActual
test_autoinflect_01_m_pr:
FailedInflection of gazda
...-m-pr}}
{ 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" }
{ noms = "gazda", nomp = "gazdowie/gazdy (deprecative)"
, 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" }
FailedInflection of jeniec
...-m-pr}}
{ 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" }
{ noms = "jeniec", nomp = "jeńcy/jeńce (deprecative)"
, 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" }
FailedInflection of jeździec
...-m-pr}}
{ 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" }
{ noms = "jeździec", nomp = "jeźdźcy/jeźdźce (deprecative)"
, 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" }
FailedInflection of zawodnik
...-m-pr}}
{ 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" }
{ noms = "zawodnik", nomp = "zawodnicy/zawodniki (deprecative)"
, 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" }
FailedInflection of władca
...-m-pr}}
{ 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" }
{ noms = "władca", nomp = "władcy/władce (deprecative)"
, 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" }
PassedInflection of piekarz
...-m-pr}}
{ 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" }
{ 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" }
PassedInflection of Rosjanin
...-m-pr}}
{ 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" }
{ 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" }
PassedInflection of księgowy
...-m-pr}}
{ 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" }
{ 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" }
PassedInflection of łowczy
...-m-pr}}
{ 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" }
{ 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" }
FailedInflection of Olgierd
...-m-pr}}
{ 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" }
{ noms = "Olgierd", nomp = "Olgierdzi/Olgierdy (deprecative)"
, 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" }
TextExpectedActual
test_autoinflect_02_m_an:
Script error during testing: Module:pl-noun:1602: Invalid declension pattern: m-an
stack traceback:
	[C]: ?
	[C]: in function 'error'
	Module:pl-noun:1602: in function 'autoinflect'
	Module:pl-noun/testcases:73: in function 'check_autoinflect'
	Module:pl-noun/testcases:172: in function <Module:pl-noun/testcases:171>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:369: in function <Module:UnitTests:328>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
	[C]: in function 'expandTemplate'
	mw.lua:333: in function 'expandTemplate'
	Module:documentation:894: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActual
test_autoinflect_03_m_in:
PassedInflection of głos
...-m-in}}
{ 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" }
{ 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" }
PassedInflection of ból
...-m-in|bó|l|u}}
{ 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" }
{ 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" }
PassedInflection of garnek
...-m-in}}
{ 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" }
{ 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" }
PassedInflection of korek
...-m-in}}
{ 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" }
{ 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" }
PassedInflection of szacunek
...-m-in}}
{ 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" }
{ 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" }
PassedInflection of młot
...-m-in|||a}}
{ 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" }
{ 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" }
PassedInflection of sen
...-m-in||sn|u|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" }
{ 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" }
PassedInflection of próg
...-m-in}}
{ 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" }
{ 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" }
PassedInflection of słownik
...-m-in}}
{ 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" }
{ 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" }
PassedInflection of półpasiec
...-m-in}}
{ 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" }
{ 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" }
PassedInflection of dziedziniec
...-m-in}}
{ 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" }
{ 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" }
PassedInflection of mebel
...-m-in}}
{ 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" }
{ 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" }
PassedInflection of węgieł
...-m-in}}
{ 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" }
{ 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" }
PassedInflection of węgiel
...-m-in}}
{ 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" }
{ 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" }
PassedInflection of węzeł
...-m-in}}
{ 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" }
{ 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" }
PassedInflection of organizm
...-m-in}}
{ 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" }
{ 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" }
TextExpectedActual
test_autoinflect_04_f:
PassedInflection of bułka
...-f}}
{ 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" }
{ 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" }
PassedInflection of galaktyka
...-f}}
{ 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" }
{ 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" }
PassedInflection of konopia
...-f|kono|pi}}
{ 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" }
{ 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" }
PassedInflection of entalpia
...-f}}
{ 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" }
{ 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" }
PassedInflection of kategoria
...-f}}
{ 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" }
{ 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" }
PassedInflection of czara
...-f}}
{ 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" }
{ 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" }
PassedInflection of pryzma
...-f}}
{ 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" }
{ 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" }
PassedInflection of budowla
...-f}}
{ 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" }
{ 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" }
PassedInflection of żmija
...-f}}
{ 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" }
{ 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" }
FailedInflection of pasja
...-f}}
{ 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" }
{ noms = "pasja", nomp = "pasje"
, gens = "pasji", genp = "pasji/pasyj (archaic)"
, dats = "pasji", datp = "pasjom"
, accs = "pasję", accp = "pasje"
, inss = "pasją", insp = "pasjami"
, locs = "pasji", locp = "pasjach"
, vocs = "pasjo", vocp = "pasje" }
PassedInflection of uprząż
...-f|uprzę|ż|e|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" }
{ 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" }
PassedInflection of brew
...-f|nomp=brwi}}
{ 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" }
{ 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" }
PassedInflection of twarz
...-f}}
{ 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" }
{ 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" }
PassedInflection of stal
...-f}}
{ 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" }
{ 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" }
PassedInflection of nożyczki
...-f}}
{ 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" }
{ noms = "nożyczka", nomp = "nożyczki"
, gens = "nożyczki", genp = "nożyczek"
, dats = "nożyczce", datp = "nożyczkom"
, accs = "nożyczkę", accp = "nożyczki"
, inss = "nożyczką", insp = "nożyczkami"
, locs = "nożyczce", locp = "nożyczkach"
, vocs = "nożyczko", vocp = "nożyczki" }
PassedInflection of Czechy
...-f}}
{ noms = *, nomp = "Czechy"
, gens = *, genp = "Czech"
, dats = *, datp = "Czechom"
, accs = *, accp = "Czechy"
, inss = *, insp = "Czechami"
, locs = *, locp = "Czechach"
, vocs = *, vocp = "Czechy" }
{ noms = "Czecha", nomp = "Czechy"
, gens = "Czechy", genp = "Czech"
, dats = "Czesze", datp = "Czechom"
, accs = "Czechę", accp = "Czechy"
, inss = "Czechą", insp = "Czechami"
, locs = "Czesze", locp = "Czechach"
, vocs = "Czecho", vocp = "Czechy" }
PassedInflection of kość
...-f}}
{ 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" }
{ 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" }
PassedInflection of palarnia
...-f}}
{ 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" }
{ 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" }
PassedInflection of kniahini
...-f}}
{ 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" }
{ 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" }
PassedInflection of radna
...-f-adj}}
{ 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" }
{ 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" }
PassedInflection of bratowa
...-f-adj|vocs=bratowo}}
{ 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" }
{ 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" }
TextExpectedActual
test_autoinflect_05_n:
PassedInflection of jarzmo
...-n}}
{ 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" }
{ 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" }
PassedInflection of jajko
...-n}}
{ 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" }
{ 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" }
PassedInflection of lekarstwo
...-n}}
{ 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" }
{ 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" }
PassedInflection of bagno
...-n}}
{ 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" }
{ 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" }
PassedInflection of szkło
...-n}}
{ 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" }
{ 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" }
PassedInflection of życie
...-n}}
{ 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" }
{ 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" }
PassedInflection of nozdrze
...-n}}
{ 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" }
{ 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" }
PassedInflection of cielę
...-n}}
{ 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" }
{ 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" }
PassedInflection of imię
...-n}}
{ 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" }
{ 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" }
PassedInflection of obserwatorium
...-n}}
{ 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" }
{ 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" }
PassedInflection of młode
...-n-adj}}
{ 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" }
{ 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" }

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 = "<span class="Latn mention" lang="pl">%s</span>"'):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]] .. "<br />"
			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 <span class="Latn mention" lang="pl">[[%s#Polish|%s]]</span><br /><code>%s</code>]=]
	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