Module:uz-inflection/units/uz-noun/testcases
Appearance
- The following documentation is located at Module:uz-inflection/units/uz-noun/testcases/documentation. [edit]
- Useful links: root page • root page’s subpages • links • transclusions • tested module • sandbox
Navigation
[edit]Active version | Development version | ||
---|---|---|---|
M:uz-inflection | {{uz-inflection}} | M:*/inflection | {{*/inflection}} |
Active version:
unit | testcases | main template | table template |
---|---|---|---|
M:uz-inflection/units/ru-noun | M:/.../testcases | {{ru-decl-noun-z}} | {{ru-decl-noun-table-z}} |
M:uz-inflection/units/uz-noun | M:/.../testcases | {{uz-decl-noun}} | {{uz-decl-noun-table}} |
Test Results
[edit]All tests passed. (refresh)
Text | Expected | Actual | Differs at | |
---|---|---|---|---|
1.01) kitob (type="") nom_sg | kitob | kitob | ||
1.02) kitob (type="") gen_sg | kitobning | kitobning | ||
1.03) kitob (type="") dat_sg | kitobga | kitobga | ||
1.04) kitob (type="") acc_sg | kitobni | kitobni | ||
1.05) kitob (type="") loc_sg | kitobda | kitobda | ||
1.06) kitob (type="") abl_sg | kitobdan | kitobdan | ||
1.07) kitob (type="") nom_pl | kitoblar | kitoblar | ||
1.08) kitob (type="") gen_pl | kitoblarning | kitoblarning | ||
1.09) kitob (type="") dat_pl | kitoblarga | kitoblarga | ||
1.10) kitob (type="") acc_pl | kitoblarni | kitoblarni | ||
1.11) kitob (type="") loc_pl | kitoblarda | kitoblarda | ||
1.12) kitob (type="") abl_pl | kitoblardan | kitoblardan | ||
1.13) kitob (type="") nom_sg_possessive_1sg | kitobim | kitobim | ||
1.14) kitob (type="") gen_sg_possessive_1sg | kitobimning | kitobimning | ||
1.15) kitob (type="") dat_sg_possessive_1sg | kitobimga | kitobimga | ||
1.16) kitob (type="") acc_sg_possessive_1sg | kitobimni | kitobimni | ||
1.17) kitob (type="") loc_sg_possessive_1sg | kitobimda | kitobimda | ||
1.18) kitob (type="") abl_sg_possessive_1sg | kitobimdan | kitobimdan | ||
1.19) kitob (type="") nom_sg_possessive_2sg | kitobing | kitobing | ||
1.20) kitob (type="") gen_sg_possessive_2sg | kitobingning | kitobingning | ||
1.21) kitob (type="") dat_sg_possessive_2sg | kitobingga | kitobingga | ||
1.22) kitob (type="") acc_sg_possessive_2sg | kitobingni | kitobingni | ||
1.23) kitob (type="") loc_sg_possessive_2sg | kitobingda | kitobingda | ||
1.24) kitob (type="") abl_sg_possessive_2sg | kitobingdan | kitobingdan | ||
1.25) kitob (type="") nom_sg_possessive_3sg | kitobi | kitobi | ||
1.26) kitob (type="") gen_sg_possessive_3sg | kitobining | kitobining | ||
1.27) kitob (type="") dat_sg_possessive_3sg | kitobiga | kitobiga | ||
1.28) kitob (type="") acc_sg_possessive_3sg | kitobini | kitobini | ||
1.29) kitob (type="") loc_sg_possessive_3sg | kitobida | kitobida | ||
1.30) kitob (type="") abl_sg_possessive_3sg | kitobidan | kitobidan | ||
1.31) kitob (type="") nom_sg_possessive_1pl | kitobimiz | kitobimiz | ||
1.32) kitob (type="") gen_sg_possessive_1pl | kitobimizning | kitobimizning | ||
1.33) kitob (type="") dat_sg_possessive_1pl | kitobimizga | kitobimizga | ||
1.34) kitob (type="") acc_sg_possessive_1pl | kitobimizni | kitobimizni | ||
1.35) kitob (type="") loc_sg_possessive_1pl | kitobimizda | kitobimizda | ||
1.36) kitob (type="") abl_sg_possessive_1pl | kitobimizdan | kitobimizdan | ||
1.37) kitob (type="") nom_sg_possessive_2pl | kitobingiz | kitobingiz | ||
1.38) kitob (type="") gen_sg_possessive_2pl | kitobingizning | kitobingizning | ||
1.39) kitob (type="") dat_sg_possessive_2pl | kitobingizga | kitobingizga | ||
1.40) kitob (type="") acc_sg_possessive_2pl | kitobingizni | kitobingizni | ||
1.41) kitob (type="") loc_sg_possessive_2pl | kitobingizda | kitobingizda | ||
1.42) kitob (type="") abl_sg_possessive_2pl | kitobingizdan | kitobingizdan | ||
1.43) kitob (type="") nom_sg_possessive_3pl | kitobi | kitobi | ||
1.44) kitob (type="") gen_sg_possessive_3pl | kitobining | kitobining | ||
1.45) kitob (type="") dat_sg_possessive_3pl | kitobiga | kitobiga | ||
1.46) kitob (type="") acc_sg_possessive_3pl | kitobini | kitobini | ||
1.47) kitob (type="") loc_sg_possessive_3pl | kitobida | kitobida | ||
1.48) kitob (type="") abl_sg_possessive_3pl | kitobidan | kitobidan | ||
1.49) kitob (type="") nom_pl_possessive_1sg | kitoblarim | kitoblarim | ||
1.50) kitob (type="") gen_pl_possessive_1sg | kitoblarimning | kitoblarimning | ||
1.51) kitob (type="") dat_pl_possessive_1sg | kitoblarimga | kitoblarimga | ||
1.52) kitob (type="") acc_pl_possessive_1sg | kitoblarimni | kitoblarimni | ||
1.53) kitob (type="") loc_pl_possessive_1sg | kitoblarimda | kitoblarimda | ||
1.54) kitob (type="") abl_pl_possessive_1sg | kitoblarimdan | kitoblarimdan | ||
1.55) kitob (type="") nom_pl_possessive_2sg | kitoblaring | kitoblaring | ||
1.56) kitob (type="") gen_pl_possessive_2sg | kitoblaringning | kitoblaringning | ||
1.57) kitob (type="") dat_pl_possessive_2sg | kitoblaringga | kitoblaringga | ||
1.58) kitob (type="") acc_pl_possessive_2sg | kitoblaringni | kitoblaringni | ||
1.59) kitob (type="") loc_pl_possessive_2sg | kitoblaringda | kitoblaringda | ||
1.60) kitob (type="") abl_pl_possessive_2sg | kitoblaringdan | kitoblaringdan | ||
1.61) kitob (type="") nom_pl_possessive_3sg | kitoblari | kitoblari | ||
1.62) kitob (type="") gen_pl_possessive_3sg | kitoblarining | kitoblarining | ||
1.63) kitob (type="") dat_pl_possessive_3sg | kitoblariga | kitoblariga | ||
1.64) kitob (type="") acc_pl_possessive_3sg | kitoblarini | kitoblarini | ||
1.65) kitob (type="") loc_pl_possessive_3sg | kitoblarida | kitoblarida | ||
1.66) kitob (type="") abl_pl_possessive_3sg | kitoblaridan | kitoblaridan | ||
1.67) kitob (type="") nom_pl_possessive_1pl | kitoblarimiz | kitoblarimiz | ||
1.68) kitob (type="") gen_pl_possessive_1pl | kitoblarimizning | kitoblarimizning | ||
1.69) kitob (type="") dat_pl_possessive_1pl | kitoblarimizga | kitoblarimizga | ||
1.70) kitob (type="") acc_pl_possessive_1pl | kitoblarimizni | kitoblarimizni | ||
1.71) kitob (type="") loc_pl_possessive_1pl | kitoblarimizda | kitoblarimizda | ||
1.72) kitob (type="") abl_pl_possessive_1pl | kitoblarimizdan | kitoblarimizdan | ||
1.73) kitob (type="") nom_pl_possessive_2pl | kitoblaringiz | kitoblaringiz | ||
1.74) kitob (type="") gen_pl_possessive_2pl | kitoblaringizning | kitoblaringizning | ||
1.75) kitob (type="") dat_pl_possessive_2pl | kitoblaringizga | kitoblaringizga | ||
1.76) kitob (type="") acc_pl_possessive_2pl | kitoblaringizni | kitoblaringizni | ||
1.77) kitob (type="") loc_pl_possessive_2pl | kitoblaringizda | kitoblaringizda | ||
1.78) kitob (type="") abl_pl_possessive_2pl | kitoblaringizdan | kitoblaringizdan | ||
1.79) kitob (type="") nom_pl_possessive_3pl | kitoblari | kitoblari | ||
1.80) kitob (type="") gen_pl_possessive_3pl | kitoblarining | kitoblarining | ||
1.81) kitob (type="") dat_pl_possessive_3pl | kitoblariga | kitoblariga | ||
1.82) kitob (type="") acc_pl_possessive_3pl | kitoblarini | kitoblarini | ||
1.83) kitob (type="") loc_pl_possessive_3pl | kitoblarida | kitoblarida | ||
1.84) kitob (type="") abl_pl_possessive_3pl | kitoblaridan | kitoblaridan | ||
2.01) mavzu (type="yisi") nom_sg | mavzu | mavzu | ||
2.02) mavzu (type="yisi") gen_sg | mavzuning | mavzuning | ||
2.03) mavzu (type="yisi") dat_sg | mavzuga | mavzuga | ||
2.04) mavzu (type="yisi") acc_sg | mavzuni | mavzuni | ||
2.05) mavzu (type="yisi") loc_sg | mavzuda | mavzuda | ||
2.06) mavzu (type="yisi") abl_sg | mavzudan | mavzudan | ||
2.07) mavzu (type="yisi") nom_pl | mavzular | mavzular | ||
2.08) mavzu (type="yisi") gen_pl | mavzularning | mavzularning | ||
2.09) mavzu (type="yisi") dat_pl | mavzularga | mavzularga | ||
2.10) mavzu (type="yisi") acc_pl | mavzularni | mavzularni | ||
2.11) mavzu (type="yisi") loc_pl | mavzularda | mavzularda | ||
2.12) mavzu (type="yisi") abl_pl | mavzulardan | mavzulardan | ||
2.13) mavzu (type="yisi") nom_sg_possessive_1sg | mavzuyim | mavzuyim | ||
2.14) mavzu (type="yisi") nom_sg_possessive_3sg | mavzusi | mavzusi | ||
3.01) parvo (type="yiyi") nom_sg | parvo | parvo | ||
3.02) parvo (type="yiyi") gen_sg | parvoning | parvoning | ||
3.03) parvo (type="yiyi") dat_sg | parvoga | parvoga | ||
3.04) parvo (type="yiyi") acc_sg | parvoni | parvoni | ||
3.05) parvo (type="yiyi") loc_sg | parvoda | parvoda | ||
3.06) parvo (type="yiyi") abl_sg | parvodan | parvodan | ||
3.07) parvo (type="yiyi") nom_pl | parvolar | parvolar | ||
3.08) parvo (type="yiyi") gen_pl | parvolarning | parvolarning | ||
3.09) parvo (type="yiyi") dat_pl | parvolarga | parvolarga | ||
3.10) parvo (type="yiyi") acc_pl | parvolarni | parvolarni | ||
3.11) parvo (type="yiyi") loc_pl | parvolarda | parvolarda | ||
3.12) parvo (type="yiyi") abl_pl | parvolardan | parvolardan | ||
3.13) parvo (type="yiyi") nom_sg_possessive_1sg | parvoyim | parvoyim | ||
3.14) parvo (type="yiyi") nom_sg_possessive_3sg | parvoyi | parvoyi | ||
4.01) ishtirok (type="kq") nom_sg | ishtirok | ishtirok | ||
4.02) ishtirok (type="kq") gen_sg | ishtirokning | ishtirokning | ||
4.03) ishtirok (type="kq") dat_sg | ishtirokka | ishtirokka | ||
4.04) ishtirok (type="kq") acc_sg | ishtirokni | ishtirokni | ||
4.05) ishtirok (type="kq") loc_sg | ishtirokda | ishtirokda | ||
4.06) ishtirok (type="kq") abl_sg | ishtirokdan | ishtirokdan | ||
4.07) ishtirok (type="kq") nom_pl | ishtiroklar | ishtiroklar | ||
4.08) ishtirok (type="kq") gen_pl | ishtiroklarning | ishtiroklarning | ||
4.09) ishtirok (type="kq") dat_pl | ishtiroklarga | ishtiroklarga | ||
4.10) ishtirok (type="kq") acc_pl | ishtiroklarni | ishtiroklarni | ||
4.11) ishtirok (type="kq") loc_pl | ishtiroklarda | ishtiroklarda | ||
4.12) ishtirok (type="kq") abl_pl | ishtiroklardan | ishtiroklardan | ||
4.13) ishtirok (type="kq") nom_sg_possessive_1sg | ishtirokim | ishtirokim | ||
4.14) ishtirok (type="kq") nom_sg_possessive_3sg | ishtiroki | ishtiroki | ||
5.01) huquq (type="kq") nom_sg | huquq | huquq | ||
5.02) huquq (type="kq") gen_sg | huquqning | huquqning | ||
5.03) huquq (type="kq") dat_sg | huquqqa | huquqqa | ||
5.04) huquq (type="kq") acc_sg | huquqni | huquqni | ||
5.05) huquq (type="kq") loc_sg | huquqda | huquqda | ||
5.06) huquq (type="kq") abl_sg | huquqdan | huquqdan | ||
5.07) huquq (type="kq") nom_pl | huquqlar | huquqlar | ||
5.08) huquq (type="kq") gen_pl | huquqlarning | huquqlarning | ||
5.09) huquq (type="kq") dat_pl | huquqlarga | huquqlarga | ||
5.10) huquq (type="kq") acc_pl | huquqlarni | huquqlarni | ||
5.11) huquq (type="kq") loc_pl | huquqlarda | huquqlarda | ||
5.12) huquq (type="kq") abl_pl | huquqlardan | huquqlardan | ||
5.13) huquq (type="kq") nom_sg_possessive_1sg | huquqim | huquqim | ||
5.14) huquq (type="kq") nom_sg_possessive_3sg | huquqi | huquqi | ||
6.01) qorin (type="reduced") nom_sg | qorin | qorin | ||
6.02) qorin (type="reduced") gen_sg | qorinning | qorinning | ||
6.03) qorin (type="reduced") dat_sg | qoringa | qoringa | ||
6.04) qorin (type="reduced") acc_sg | qorinni | qorinni | ||
6.05) qorin (type="reduced") loc_sg | qorinda | qorinda | ||
6.06) qorin (type="reduced") abl_sg | qorindan | qorindan | ||
6.07) qorin (type="reduced") nom_pl | qorinlar | qorinlar | ||
6.08) qorin (type="reduced") gen_pl | qorinlarning | qorinlarning | ||
6.09) qorin (type="reduced") dat_pl | qorinlarga | qorinlarga | ||
6.10) qorin (type="reduced") acc_pl | qorinlarni | qorinlarni | ||
6.11) qorin (type="reduced") loc_pl | qorinlarda | qorinlarda | ||
6.12) qorin (type="reduced") abl_pl | qorinlardan | qorinlardan | ||
6.13) qorin (type="reduced") nom_sg_possessive_1sg | qornim | qornim | ||
6.14) qorin (type="reduced") nom_sg_possessive_3sg | qorni | qorni | ||
7.01) metall (type="") nom_sg | metall | metall | ||
7.02) metall (type="") gen_sg | metallning | metallning | ||
7.03) metall (type="") dat_sg | metallga | metallga | ||
7.04) metall (type="") acc_sg | metallni | metallni | ||
7.05) metall (type="") loc_sg | metallda | metallda | ||
7.06) metall (type="") abl_sg | metalldan | metalldan | ||
7.07) metall (type="") nom_pl | metallar | metallar | ||
7.08) metall (type="") gen_pl | metallarning | metallarning | ||
7.09) metall (type="") dat_pl | metallarga | metallarga | ||
7.10) metall (type="") acc_pl | metallarni | metallarni | ||
7.11) metall (type="") loc_pl | metallarda | metallarda | ||
7.12) metall (type="") abl_pl | metallardan | metallardan | ||
7.13) metall (type="") nom_sg_possessive_1sg | metallim | metallim | ||
7.14) metall (type="") nom_sg_possessive_3sg | metalli | metalli | ||
8.01) bobo (type="std") nom_sg | bobo | bobo | ||
8.02) bobo (type="std") gen_sg | boboning | boboning | ||
8.03) bobo (type="std") dat_sg | boboga | boboga | ||
8.04) bobo (type="std") acc_sg | boboni | boboni | ||
8.05) bobo (type="std") loc_sg | boboda | boboda | ||
8.06) bobo (type="std") abl_sg | bobodan | bobodan | ||
8.07) bobo (type="std") nom_pl | bobolar | bobolar | ||
8.08) bobo (type="std") gen_pl | bobolarning | bobolarning | ||
8.09) bobo (type="std") dat_pl | bobolarga | bobolarga | ||
8.10) bobo (type="std") acc_pl | bobolarni | bobolarni | ||
8.11) bobo (type="std") loc_pl | bobolarda | bobolarda | ||
8.12) bobo (type="std") abl_pl | bobolardan | bobolardan | ||
8.13) bobo (type="std") nom_sg_possessive_1sg | bobom | bobom | ||
8.14) bobo (type="std") nom_sg_possessive_3sg | bobosi | bobosi | ||
9.01) tilak (type="std") nom_sg | tilak | tilak | ||
9.02) tilak (type="std") gen_sg | tilakning | tilakning | ||
9.03) tilak (type="std") dat_sg | tilakka | tilakka | ||
9.04) tilak (type="std") acc_sg | tilakni | tilakni | ||
9.05) tilak (type="std") loc_sg | tilakda | tilakda | ||
9.06) tilak (type="std") abl_sg | tilakdan | tilakdan | ||
9.07) tilak (type="std") nom_pl | tilaklar | tilaklar | ||
9.08) tilak (type="std") gen_pl | tilaklarning | tilaklarning | ||
9.09) tilak (type="std") dat_pl | tilaklarga | tilaklarga | ||
9.10) tilak (type="std") acc_pl | tilaklarni | tilaklarni | ||
9.11) tilak (type="std") loc_pl | tilaklarda | tilaklarda | ||
9.12) tilak (type="std") abl_pl | tilaklardan | tilaklardan | ||
9.13) tilak (type="std") nom_sg_possessive_1sg | tilagim | tilagim | ||
9.14) tilak (type="std") nom_sg_possessive_3sg | tilagi | tilagi | ||
10.01) tayoq (type="std") nom_sg | tayoq | tayoq | ||
10.02) tayoq (type="std") gen_sg | tayoqning | tayoqning | ||
10.03) tayoq (type="std") dat_sg | tayoqqa | tayoqqa | ||
10.04) tayoq (type="std") acc_sg | tayoqni | tayoqni | ||
10.05) tayoq (type="std") loc_sg | tayoqda | tayoqda | ||
10.06) tayoq (type="std") abl_sg | tayoqdan | tayoqdan | ||
10.07) tayoq (type="std") nom_pl | tayoqlar | tayoqlar | ||
10.08) tayoq (type="std") gen_pl | tayoqlarning | tayoqlarning | ||
10.09) tayoq (type="std") dat_pl | tayoqlarga | tayoqlarga | ||
10.10) tayoq (type="std") acc_pl | tayoqlarni | tayoqlarni | ||
10.11) tayoq (type="std") loc_pl | tayoqlarda | tayoqlarda | ||
10.12) tayoq (type="std") abl_pl | tayoqlardan | tayoqlardan | ||
10.13) tayoq (type="std") nom_sg_possessive_1sg | tayogʻim | tayogʻim | ||
10.14) tayoq (type="std") nom_sg_possessive_3sg | tayogʻi | tayogʻi | ||
11.01) obroʻ (type="yiyi") nom_sg | obroʻ | obroʻ | ||
11.02) obroʻ (type="yiyi") gen_sg | obroʻning | obroʻning | ||
11.03) obroʻ (type="yiyi") dat_sg | obroʻga | obroʻga | ||
11.04) obroʻ (type="yiyi") acc_sg | obroʻni | obroʻni | ||
11.05) obroʻ (type="yiyi") loc_sg | obroʻda | obroʻda | ||
11.06) obroʻ (type="yiyi") abl_sg | obroʻdan | obroʻdan | ||
11.07) obroʻ (type="yiyi") nom_pl | obroʻlar | obroʻlar | ||
11.08) obroʻ (type="yiyi") gen_pl | obroʻlarning | obroʻlarning | ||
11.09) obroʻ (type="yiyi") dat_pl | obroʻlarga | obroʻlarga | ||
11.10) obroʻ (type="yiyi") acc_pl | obroʻlarni | obroʻlarni | ||
11.11) obroʻ (type="yiyi") loc_pl | obroʻlarda | obroʻlarda | ||
11.12) obroʻ (type="yiyi") abl_pl | obroʻlardan | obroʻlardan | ||
11.13) obroʻ (type="yiyi") nom_sg_possessive_1sg | obroʻyim | obroʻyim | ||
11.14) obroʻ (type="yiyi") nom_sg_possessive_3sg | obroʻyi | obroʻyi | ||
12.01) dohiy (type="") nom_sg | dohiy | dohiy | ||
12.02) dohiy (type="") gen_sg | dohiyning | dohiyning | ||
12.03) dohiy (type="") dat_sg | dohiyga | dohiyga | ||
12.04) dohiy (type="") acc_sg | dohiyni | dohiyni | ||
12.05) dohiy (type="") loc_sg | dohiyda | dohiyda | ||
12.06) dohiy (type="") abl_sg | dohiydan | dohiydan | ||
12.07) dohiy (type="") nom_pl | dohiylar | dohiylar | ||
12.08) dohiy (type="") gen_pl | dohiylarning | dohiylarning | ||
12.09) dohiy (type="") dat_pl | dohiylarga | dohiylarga | ||
12.10) dohiy (type="") acc_pl | dohiylarni | dohiylarni | ||
12.11) dohiy (type="") loc_pl | dohiylarda | dohiylarda | ||
12.12) dohiy (type="") abl_pl | dohiylardan | dohiylardan | ||
12.13) dohiy (type="") nom_sg_possessive_1sg | dohiyim | dohiyim | ||
12.14) dohiy (type="") nom_sg_possessive_3sg | dohiysi | dohiysi |
local dev_prefix = 'uz-'
-- dev_prefix = 'User:Vitalik/' -- comment this on active version
local tests = require('Module:UnitTests')
local inflection = require('Module:' .. dev_prefix .. 'inflection')
local m_links = require('Module:links')
local unit_name = 'uz-noun'
local lang = require('Module:languages').getByCode('uz')
local n = 0
local average = 0
function tests:check_full_inflection(base, possessive_type, expected, comment)
return self:check_inflection(base, possessive_type, expected, comment, true)
end
function tests:check_inflection(base, possessive_type, expected, comment, full)
n = n + 1
local start = os.clock()
local forms = inflection.test(unit_name, base, {possessive_type=possessive_type})
local finished = os.clock()
local delta = finished - start
mw.log('time delta = ' .. delta)
average = ((average * (n - 1)) + delta) / n
mw.log('time average = ' .. average)
local forms_keys
if full == nil then
forms_keys = {
'nom_sg', 'gen_sg', 'dat_sg', 'acc_sg', 'loc_sg', 'abl_sg', 'nom_pl', 'gen_pl', 'dat_pl', 'acc_pl', 'loc_pl', 'abl_pl',
'nom_sg_possessive_1sg', 'nom_sg_possessive_3sg',
}
else
forms_keys = {
'nom_sg', 'gen_sg', 'dat_sg', 'acc_sg', 'loc_sg', 'abl_sg', 'nom_pl', 'gen_pl', 'dat_pl', 'acc_pl', 'loc_pl', 'abl_pl',
'nom_sg_possessive_1sg', 'gen_sg_possessive_1sg', 'dat_sg_possessive_1sg', 'acc_sg_possessive_1sg', 'loc_sg_possessive_1sg', 'abl_sg_possessive_1sg',
'nom_sg_possessive_2sg', 'gen_sg_possessive_2sg', 'dat_sg_possessive_2sg', 'acc_sg_possessive_2sg', 'loc_sg_possessive_2sg', 'abl_sg_possessive_2sg',
'nom_sg_possessive_3sg', 'gen_sg_possessive_3sg', 'dat_sg_possessive_3sg', 'acc_sg_possessive_3sg', 'loc_sg_possessive_3sg', 'abl_sg_possessive_3sg',
'nom_sg_possessive_1pl', 'gen_sg_possessive_1pl', 'dat_sg_possessive_1pl', 'acc_sg_possessive_1pl', 'loc_sg_possessive_1pl', 'abl_sg_possessive_1pl',
'nom_sg_possessive_2pl', 'gen_sg_possessive_2pl', 'dat_sg_possessive_2pl', 'acc_sg_possessive_2pl', 'loc_sg_possessive_2pl', 'abl_sg_possessive_2pl',
'nom_sg_possessive_3pl', 'gen_sg_possessive_3pl', 'dat_sg_possessive_3pl', 'acc_sg_possessive_3pl', 'loc_sg_possessive_3pl', 'abl_sg_possessive_3pl',
'nom_pl_possessive_1sg', 'gen_pl_possessive_1sg', 'dat_pl_possessive_1sg', 'acc_pl_possessive_1sg', 'loc_pl_possessive_1sg', 'abl_pl_possessive_1sg',
'nom_pl_possessive_2sg', 'gen_pl_possessive_2sg', 'dat_pl_possessive_2sg', 'acc_pl_possessive_2sg', 'loc_pl_possessive_2sg', 'abl_pl_possessive_2sg',
'nom_pl_possessive_3sg', 'gen_pl_possessive_3sg', 'dat_pl_possessive_3sg', 'acc_pl_possessive_3sg', 'loc_pl_possessive_3sg', 'abl_pl_possessive_3sg',
'nom_pl_possessive_1pl', 'gen_pl_possessive_1pl', 'dat_pl_possessive_1pl', 'acc_pl_possessive_1pl', 'loc_pl_possessive_1pl', 'abl_pl_possessive_1pl',
'nom_pl_possessive_2pl', 'gen_pl_possessive_2pl', 'dat_pl_possessive_2pl', 'acc_pl_possessive_2pl', 'loc_pl_possessive_2pl', 'abl_pl_possessive_2pl',
'nom_pl_possessive_3pl', 'gen_pl_possessive_3pl', 'dat_pl_possessive_3pl', 'acc_pl_possessive_3pl', 'loc_pl_possessive_3pl', 'abl_pl_possessive_3pl',
}
end
local link = m_links.full_link({term = base, lang = lang, tr = '-'}, nil, true)
local expected_list = mw.text.split(expected, ' / ')
for i, form_key in pairs(forms_keys) do
local zero = i < 10 and '0' or ''
local text = n .. '.' .. zero .. i .. ') ' .. link .. ' (type="' .. (possessive_type or '-') .. '") <b>' .. form_key .. '</b>'
if comment then
text = text .. " <small style='color: gray;'>" .. comment .. "</small>"
end
actual = forms[form_key]
expected = expected_list[i]
self:equals(text, actual, expected)
end
end
function tests:test_inflection()
self:check_full_inflection('kitob', '',
'kitob / kitobning / kitobga / kitobni / kitobda / kitobdan / kitoblar / kitoblarning / kitoblarga / kitoblarni / kitoblarda / kitoblardan / ' ..
'kitobim / kitobimning / kitobimga / kitobimni / kitobimda / kitobimdan / ' ..
'kitobing / kitobingning / kitobingga / kitobingni / kitobingda / kitobingdan / ' ..
'kitobi / kitobining / kitobiga / kitobini / kitobida / kitobidan / ' ..
'kitobimiz / kitobimizning / kitobimizga / kitobimizni / kitobimizda / kitobimizdan / ' ..
'kitobingiz / kitobingizning / kitobingizga / kitobingizni / kitobingizda / kitobingizdan / ' ..
'kitobi / kitobining / kitobiga / kitobini / kitobida / kitobidan / ' ..
'kitoblarim / kitoblarimning / kitoblarimga / kitoblarimni / kitoblarimda / kitoblarimdan / ' ..
'kitoblaring / kitoblaringning / kitoblaringga / kitoblaringni / kitoblaringda / kitoblaringdan / ' ..
'kitoblari / kitoblarining / kitoblariga / kitoblarini / kitoblarida / kitoblaridan / ' ..
'kitoblarimiz / kitoblarimizning / kitoblarimizga / kitoblarimizni / kitoblarimizda / kitoblarimizdan / ' ..
'kitoblaringiz / kitoblaringizning / kitoblaringizga / kitoblaringizni / kitoblaringizda / kitoblaringizdan / ' ..
'kitoblari / kitoblarining / kitoblariga / kitoblarini / kitoblarida / kitoblaridan')
self:check_inflection('mavzu', 'yisi', 'mavzu / mavzuning / mavzuga / mavzuni / mavzuda / mavzudan / mavzular / mavzularning / mavzularga / mavzularni / mavzularda / mavzulardan / mavzuyim / mavzusi')
self:check_inflection('parvo', 'yiyi', 'parvo / parvoning / parvoga / parvoni / parvoda / parvodan / parvolar / parvolarning / parvolarga / parvolarni / parvolarda / parvolardan / parvoyim / parvoyi')
self:check_inflection('ishtirok', 'kq', 'ishtirok / ishtirokning / ishtirokka / ishtirokni / ishtirokda / ishtirokdan / ishtiroklar / ishtiroklarning / ishtiroklarga / ishtiroklarni / ishtiroklarda / ishtiroklardan / ishtirokim / ishtiroki')
self:check_inflection('huquq', 'kq', 'huquq / huquqning / huquqqa / huquqni / huquqda / huquqdan / huquqlar / huquqlarning / huquqlarga / huquqlarni / huquqlarda / huquqlardan / huquqim / huquqi')
self:check_inflection('qorin', 'reduced', 'qorin / qorinning / qoringa / qorinni / qorinda / qorindan / qorinlar / qorinlarning / qorinlarga / qorinlarni / qorinlarda / qorinlardan / qornim / qorni')
self:check_inflection('metall', '', 'metall / metallning / metallga / metallni / metallda / metalldan / metallar / metallarning / metallarga / metallarni / metallarda / metallardan / metallim / metalli')
self:check_inflection('bobo', 'std', 'bobo / boboning / boboga / boboni / boboda / bobodan / bobolar / bobolarning / bobolarga / bobolarni / bobolarda / bobolardan / bobom / bobosi')
self:check_inflection('tilak', 'std', 'tilak / tilakning / tilakka / tilakni / tilakda / tilakdan / tilaklar / tilaklarning / tilaklarga / tilaklarni / tilaklarda / tilaklardan / tilagim / tilagi')
self:check_inflection('tayoq', 'std', 'tayoq / tayoqning / tayoqqa / tayoqni / tayoqda / tayoqdan / tayoqlar / tayoqlarning / tayoqlarga / tayoqlarni / tayoqlarda / tayoqlardan / tayogʻim / tayogʻi')
self:check_inflection('obroʻ', 'yiyi', 'obroʻ / obroʻning / obroʻga / obroʻni / obroʻda / obroʻdan / obroʻlar / obroʻlarning / obroʻlarga / obroʻlarni / obroʻlarda / obroʻlardan / obroʻyim / obroʻyi')
self:check_inflection('dohiy', '', 'dohiy / dohiyning / dohiyga / dohiyni / dohiyda / dohiydan / dohiylar / dohiylarning / dohiylarga / dohiylarni / dohiylarda / dohiylardan / dohiyim / dohiysi')
end
return tests