Module:User:Vitalik/inflection/units/ru-noun/testcases/other

local dev_prefix = ''
dev_prefix = 'User:Vitalik/'  -- comment this on active version

local tests = require('Module:' .. dev_prefix .. 'inflection/units/ru-noun/testcases')

function tests:test_inflection()
	-- yo-mark, type 1
	self:check_inflection('осётр', 'm-an', 'b', '', 'осётр / осетра́ / осетру́ / осетра́ / осетро́м / осетре́ / осетры́ / осетро́в / осетра́м / осетро́в / осетра́ми / осетра́х')
    self:check_inflection('печь', 'f-in', 'e', '', 'пе́чь / пе́чи / пе́чи / пе́чь / пе́чью / пе́чи / печи́ / пе́чи / пече́й / печа́м / пе́чи / печа́ми / печа́х')
	self:check_inflection('осётр', 'm-an', 'b', 'ё', 'осётр / осетра́ / осетру́ / осетра́ / осетро́м / осетре́ / осетры́ / осетро́в / осетра́м / осетро́в / осетра́ми / осетра́х')
	self:check_inflection('мёд', 'm-in', 'c', '', 'мёд / мёда / мёду / мёд / мёдом / мёде / меды́ / медо́в / меда́м / меды́ / меда́ми / меда́х')
	self:check_inflection('жёлудь', 'm-in', 'e', '', 'жёлудь / жёлудя / жёлудю / жёлудь / жёлудем / жёлуде / жёлуди / желуде́й / желудя́м / жёлуди / желудя́ми / желудя́х')
	self:check_inflection('щёлочь', 'f-in', 'e', '', 'щёлочь / щёлочи / щёлочи / щёлочь / щёлочью / щёлочи / щёлочи / щелоче́й / щелоча́м / щёлочи / щелоча́ми / щелоча́х')
	-- yo-mark, type 2
	self:check_inflection('звезда́', 'f-in', 'd', 'ё', 'звезда́ / звезды́ / звезде́ / звезду́ / звездо́й / звезде́ / звёзды / звёзд / звёздам / звёзды / звёздами / звёздах')
	self:check_inflection('железа́', 'f-in', 'f', 'ё', 'железа́ / железы́ / железе́ / железу́ / железо́й / железе́ / же́лезы / желёз / железа́м / же́лезы / железа́ми / железа́х')
	self:check_inflection('веретено́', 'n-in', 'd', 'ё', 'веретено́ / веретена́ / веретену́ / веретено́ / веретено́м / веретене́ / веретёна / веретён / веретёнам / веретёна / веретёнами / веретёнах')
	-- (1)-mark
	self:check_inflection('рука́в', 'm-in', 'b', '(1)', '- / - / - / - / - / - / рукава́ / - / - / - / - / -')
	self:check_inflection('ма́стер', 'm-an', 'c', '(1)', '- / - / - / - / - / - / мастера́ / - / - / - / - / -')
	self:check_inflection('я́корь', 'm-in', 'c', '(1)', '- / - / - / - / - / - / якоря́ / - / - / - / - / -')
	self:check_inflection('обшла́г', 'm-in', 'b', '(1)', '- / - / - / - / - / - / обшлага́ / - / - / - / - / -')
	self:check_inflection('о́круг', 'm-in', 'c', '(1)', '- / - / - / - / - / - / округа́ / - / - / - / - / -')
	self:check_inflection('сто́рож', 'm-an', 'c', '(1)', '- / - / - / - / - / - / сторожа́ / - / - / - / - / -')
	self:check_inflection('край', 'm-in', 'c', '(1)', '- / - / - / - / - / - / края́ / - / - / - / - / -')
	self:check_inflection('я́блоко', 'n-in', 'a', '(1)', '- / - / - / - / - / - / я́блоки / - / - / - / - / -')
	-- (2)-mark
	self:check_inflection('грузи́н', 'm-an', 'a', '(2)', '- / - / - / - / - / - / - / грузи́н / - / - / - / -')
	self:check_inflection('раз', 'm-in', 'c', '(2)', '- / - / - / - / - / - / - / раз / - / - / - / -')
	self:check_inflection('во́лос', 'm-in', 'e', '(2)', '- / - / - / - / - / - / - / воло́с / - / - / - / -')
	self:check_inflection('сапо́г', 'm-in', 'b', '(2)', '- / - / - / - / - / - / - / сапо́г / - / - / - / -')
	self:check_inflection('герц', 'm-in', 'a', '(2)', '- / - / - / - / - / - / - / герц / - / - / - / -')
	self:check_inflection('ро́хля', 'f-an', 'a', '(2)', '- / - / - / - / - / - / - / ро́хлей / - / - / - / -')
	self:check_inflection('ко́рча', 'f-in', 'a', '(2)', '- / - / - / - / - / - / - / ко́рчей / - / - / - / -')
	self:check_inflection('о́блако', 'n-in', 'c', '(2)', '- / - / - / - / - / - / - / облако́в / - / - / - / -')
	self:check_inflection('остриё', 'n-in', 'b', '(2)', '- / - / - / - / - / - / - / остриёв / - / - / - / -')
	-- [(2)]-mark
	self:check_inflection('ава́р', 'm-an', 'a', '[(2)]', '- / - / - / - / - / - / - / ава́ров, ава́р / - / - / - / -')
	self:check_inflection('череви́чек', 'm-in', 'a', '*[(2)]', '- / - / - / - / - / - / - / череви́чков, череви́чек / - / - / - / -')
	self:check_inflection('расте́ря', 'f-an', 'a', '[(2)]', '- / - / - / - / - / - / - / расте́рь, расте́рей / - / - / - / -')
	self:check_inflection('ве́рша', 'f-in', 'a', '[(2)]', '- / - / - / - / - / - / - / верш, ве́ршей / - / - / - / -')
	self:check_inflection('пу́тля', 'f-in', 'a', '*[(2)]', '- / - / - / - / - / - / - / пу́тель, пу́тлей / - / - / - / -')
	self:check_inflection('лю́тня', 'f-in', 'a', '*[(2)]', '- / - / - / - / - / - / - / лю́тен, лю́тней / - / - / - / -')
	self:check_inflection('де́ревце', 'n-in', 'c', '*[(2)]', '- / - / - / - / - / - / - / дереве́ц, деревцо́в / - / - / - / -')
	-- (3)-mark
	self:check_inflection('чий', 'm-in', 'a', '(3)', '- / - / - / - / - / чи́и, чи́е / - / - / - / - / - / -')
	self:check_inflection('Ли́я', 'f-an', 'a', '(3)', '- / - / Ли́и, Ли́е / - / - / Ли́и, Ли́е / - / - / - / - / - / -')
	-- degree mark (change in stem)
		-- masculine: words ending with -анин (animated only), -янин (animated only, except семьянин), also болгарин, хазарин, татарин, боярин; -онок (animated only, except подонок, колонок, жаворонок), -ёнок (except милёнок, жигулёнок, окорёнок, голосёнок, ребятёнок), -ёночек (animated only, except несмыслёночек), -оночек (animated only, one word - мышоночек)
	self:check_inflection('ри́млянин', 'm-an', 'a', '', '- / - / - / - / - / - / ри́мляне / ри́млян / - / - / - / -')
	self:check_inflection('южа́нин', 'm-an', 'a', '', '- / - / - / - / - / - / южа́не / южа́н / - / - / - / -')
	self:check_inflection('армяни́н', 'm-an', 'a', '', '- / - / - / - / - / - / армя́не / армя́н / - / - / - / -')
	self:check_inflection('цыплёнок', 'm-an', 'a', '', 'цыплёнок / цыплёнка / цыплёнку / цыплёнка / цыплёнком / цыплёнке / цыпля́та / цыпля́т / цыпля́там / цыпля́т / цыпля́тами / цыпля́тах')
	self:check_inflection('мышо́нок', 'm-an', 'a', '', 'мышо́нок / мышо́нка / мышо́нку / мышо́нка / мышо́нком / мышо́нке / мыша́та / мыша́т / мыша́там / мыша́т / мыша́тами / мыша́тах')
	self:check_inflection('цыплёночек', 'm-an', 'a', '', 'цыплёночек / цыплёночка / цыплёночку / цыплёночка / цыплёночком / цыплёночке / цыпля́тки / цыпля́ток / цыпля́ткам / цыпля́ток / цыпля́тками / цыпля́тках')
	self:check_inflection('мышо́ночек', 'm-an', 'a', '', 'мышо́ночек / мышо́ночка / мышо́ночку / мышо́ночка / мышо́ночком / мышо́ночке / мыша́тки / мыша́ток / мыша́ткам / мыша́ток / мыша́тками / мыша́тках')
	-- combination of marks
	self:check_inflection('боти́нок', 'm-in', 'a', '*(2)', '- / - / - / - / - / - / - / боти́нок / - / - / - / -')
	self:check_inflection('глазо́к', 'm-in', 'd', '*(2)', '- / - / - / - / - / - / - / гла́зок / - / - / - / -')
	self:check_inflection('рожо́к', 'm-in', 'd', '*(2)', '- / - / - / - / - / - / - / ро́жек / - / - / - / -')
	self:check_inflection('глаз', 'm-in', 'c', '(1)(2)', '- / - / - / - / - / - / глаза́ / глаз / - / - / - / -')
	self:check_inflection('весна́', 'f-in', 'd', '*ё', '- / - / - / - / - / - / - / вёсен / - / - / - / -')
	self:check_inflection('схо́дня', 'f-in', 'a', '*(2)', '- / - / - / - / - / - / - / схо́дней / - / - / - / -')
	self:check_inflection('весло́', 'n-in', 'd', '*ё', '- / - / - / - / - / - / - / вёсел / - / - / - / -')
	self:check_inflection('стекло́', 'n-in', 'd', '*ё', '- / - / - / - / - / - / - / стёкол / - / - / - / -')
	self:check_inflection('ведёрко', 'n-in', 'a', '*(1)', '- / - / - / - / - / - / ведёрки / ведёрок / - / - / - / -')
	self:check_inflection('око́шко', 'n-in', 'a', '*(1)', '- / - / - / - / - / - / око́шки / око́шек / - / - / - / -')
	self:check_inflection('о́блачко', 'n-in', 'c', '*(2)', '- / - / - / - / - / - / - / облачко́в / - / - / - / -')
	self:check_inflection('боло́тце', 'n-in', 'a', '*(2)', '- / - / - / - / - / - / - / боло́тцев / - / - / - / -')
	self:check_inflection('пла́тье', 'n-in', 'a', '*(2)', '- / - / - / - / - / - / - / пла́тьев / - / - / - / -')
	self:check_inflection('ли́чико', 'n-in', 'a', '(1)(2)', '- / - / - / - / - / - / ли́чики / ли́чиков / - / - / - / -')
	self:check_inflection('очко́', 'n-in', 'b', '*(1)(2)', '- / - / - / - / - / - / очки́ / очко́в / - / - / - / -')
end

return tests