Module:User:Surjection/fi-pron-inflect/testcases

Hello, you have come here looking for the meaning of the word Module:User:Surjection/fi-pron-inflect/testcases. In DICTIOUS you will not only get to know all the dictionary meanings for the word Module:User:Surjection/fi-pron-inflect/testcases, but we will also tell you about its etymology, its characteristics and you will know how to say Module:User:Surjection/fi-pron-inflect/testcases in singular and plural. Everything you need to know about the word Module:User:Surjection/fi-pron-inflect/testcases you have here. The definition of the word Module:User:Surjection/fi-pron-inflect/testcases will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModule:User:Surjection/fi-pron-inflect/testcases, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

All tests passed. (refresh)

TextExpectedActual
test_pron_inflect:
Passedkoira → <gen_sg> koiran
Passedopaskoira (opas-koira) → <gen_sg> opaskoiranopas-koiranopas-koiran
Passedpakka → <gen_sg> pakan
Passedkorttipakka (kortti-pakka) → <gen_sg> korttipakankortti-pakankortti-pakan
Passedhiki → <gen_sg> hienhi(.)enhi(.)en
Passedruis (ru(.)is) → <gen_sg> rukiin
Passedruis (ru(.)is) → <par_sg> ruistaru(.)istaru(.)ista
Passedkatu → <gen_sg> kadunkaDunkaDun
Passedkatu → <abl_sg/3> kadultaankaDultaankaDultaan
Passedkatu → <abl_sg/3> kadultansakaDultansa*kaDultansa*
Passedmetsä → <gen_sg> metsänmet!sänmet!sän
Passedkate (*) → <gen_sg> katteen
Passedsade (saDe*) → <gen_sg> sateen
Passedvitsas (vit!sas) → <gen_sg> vitsaan
Passedpudas (puDas) → <gen_sg> putaan
Passedsana → <all_sg> sanalle**
Passednousta (*) → <pres_3sg> nousee
Passednousta (*) → <impr_2sg> nouse**
Passedvoida (voiDa*) → <pres_3sg> voi
Passedvoida (voiDa*) → <impr_2sg> voi**
Passedkoko → <ine_pl> ko’oissa
Passedtietää (*) → <pres_1sg> tiedäntieDäntieDän
Passeddeadline (dedlain) → <gen_sg> deadlinendedlainindedlainin

local tests = require "Module:UnitTests"
local m_pron_inflect = require "Module:User:Surjection/fi-pron-inflect"

local function link_fi(term)
	return '<span class="Latn" lang="fi">]</span>'
end

local function display_respelling(form)
	if form and form ~= "" then
		return "(<kbd>" .. form .. "</kbd>)"
	else
		return ""
	end
end

local function display_infl(infl, grad)
	if grad and grad ~= "" then
		return infl .. "/" .. grad
	else
		return tostring(infl)
	end
end

function tests:test_pron_inflect()
	local examples = {
		{ "koira", 	     "",             10, nil, "gen_sg",   "koiran",      "" },
		{ "opaskoira",   "opas-koira",   10, nil, "gen_sg",   "opaskoiran",  "opas-koiran" },
		{ "pakka",       "",              9, "A", "gen_sg",   "pakan",       "" },
		{ "korttipakka", "kortti-pakka",  9, "A", "gen_sg",   "korttipakan", "kortti-pakan" },
		{ "hiki",        "",              7, "D", "gen_sg",   "hien",        "hi(.)en" },
		{ "ruis",        "ru(.)is",      41, "D", "gen_sg",   "rukiin",      "" },
		{ "ruis",        "ru(.)is",      41, "D", "par_sg",   "ruista",      "ru(.)ista" },
		{ "katu",        "",             10, "F", "gen_sg",   "kadun",       "kaDun" },
		{ "katu",        "",             10, "F", "abl_sg/3", "kadultaan",   "kaDultaan" },
		{ "katu",        "",             10, "F", "abl_sg/3", "kadultansa",  "kaDultansa*" },
		{ "metsä",       "",             10, nil, "gen_sg",   "metsän",      "met!sän" },
		{ "kate",        "*",            48, "C", "gen_sg",   "katteen",     "" },
		{ "sade",        "saDe*",        48, "F", "gen_sg",   "sateen",      "" },
		{ "vitsas",      "vit!sas",      41, nil, "gen_sg",   "vitsaan",     "" },
		{ "pudas",       "puDas",        41, "F", "gen_sg",   "putaan",      "" },
		{ "sana",        "",              9, nil, "all_sg",   "sanalle",     "*" },
		{ "nousta",      "*",            66, nil, "pres_3sg", "nousee",      "" },
		{ "nousta",      "*",            66, nil, "impr_2sg", "nouse",       "*" },
		{ "voida",       "voiDa*",       62, nil, "pres_3sg", "voi",         "" },
		{ "voida",       "voiDa*",       62, nil, "impr_2sg", "voi",         "*" },
		{ "koko",        "",              1, "D", "ine_pl",   "ko’oissa",    "" },
		{ "tietää",      "*",            76, "F", "pres_1sg", "tiedän",      "tieDän" },
		{ "deadline",    "dedlain",       8, nil, "gen_sg",   "deadlinen",   "dedlainin" },
	}
	
	local options = { }
	
	self:iterate(examples,
		function (self, lemma, lemma_pron, infl_class, grad_class, form_tag, form, expected)
			self:equals(
				link_fi(lemma) .. " " .. display_respelling(lemma_pron) .. "  → &lt;" .. form_tag .. "&gt; " .. link_fi(form),
				m_pron_inflect.fi_pron_inflect(lemma, lemma_pron, infl_class, grad_class, form_tag, form),
				expected, options)
		end)
end

return tests