All tests passed. (refresh)
Text | Expected | Actual | |
---|---|---|---|
![]() | koira → <gen_sg> koiran | ||
![]() | opaskoira (opas-koira) → <gen_sg> opaskoiran | opas-koiran | opas-koiran |
![]() | pakka → <gen_sg> pakan | ||
![]() | korttipakka (kortti-pakka) → <gen_sg> korttipakan | kortti-pakan | kortti-pakan |
![]() | hiki → <gen_sg> hien | hi(.)en | hi(.)en |
![]() | ruis (ru(.)is) → <gen_sg> rukiin | ||
![]() | ruis (ru(.)is) → <par_sg> ruista | ru(.)ista | ru(.)ista |
![]() | katu → <gen_sg> kadun | kaDun | kaDun |
![]() | katu → <abl_sg/3> kadultaan | kaDultaan | kaDultaan |
![]() | katu → <abl_sg/3> kadultansa | kaDultansa* | kaDultansa* |
![]() | metsä → <gen_sg> metsän | met!sän | met!sän |
![]() | kate (*) → <gen_sg> katteen | ||
![]() | sade (saDe*) → <gen_sg> sateen | ||
![]() | vitsas (vit!sas) → <gen_sg> vitsaan | ||
![]() | pudas (puDas) → <gen_sg> putaan | ||
![]() | sana → <all_sg> sanalle | * | * |
![]() | nousta (*) → <pres_3sg> nousee | ||
![]() | nousta (*) → <impr_2sg> nouse | * | * |
![]() | voida (voiDa*) → <pres_3sg> voi | ||
![]() | voida (voiDa*) → <impr_2sg> voi | * | * |
![]() | koko → <ine_pl> ko’oissa | ||
![]() | tietää (*) → <pres_1sg> tiedän | tieDän | tieDän |
![]() | deadline (dedlain) → <gen_sg> deadlinen | dedlainin | dedlainin |
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) .. " → <" .. form_tag .. "> " .. 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