Module:es-headword/testcases
Appearance
- පහත දැක්වෙන උපදෙස්, Module:es-headword/testcases/documentation හි පිහිටා ඇත. Module:es-headword/testcases/documentation]]. [සංස්කරණය]
- ප්රයෝජනවත් සබැඳි: root page • root page’s subpages • සබැඳි • transclusions • tested module • sandbox
2 of 0 tests failed. (refresh)
Text | Expected | Actual | |
---|---|---|---|
ending in -o | |||
Script error during testing: Module:es-headword/testcases:20: attempt to call upvalue 'adjective_forms' (a nil value)stack traceback: [C]: in function 'adjective_forms' Module:es-headword/testcases:20: in function 'func' Module:UnitTests:295: in function 'iterate' Module:es-headword/testcases:166: in function <Module:es-headword/testcases:124> (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:895: in function 'chunk' mw.lua:527: in function <mw.lua:507> [C]: ? |
Text | Expected | Actual | |
---|---|---|---|
nouns ending in unstressed vowel or á, é, ó | |||
Script error during testing: Module:es-headword/testcases:10: attempt to call upvalue 'make_plural_noun' (a nil value)stack traceback: [C]: in function 'make_plural_noun' Module:es-headword/testcases:10: in function 'func' Module:UnitTests:295: in function 'iterate' Module:es-headword/testcases:121: in function <Module:es-headword/testcases:27> (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:895: in function 'chunk' mw.lua:527: in function <mw.lua:507> [C]: ? |
local tests = require("Module:UnitTests")
local make_plural_noun = require("Module:es-headword").make_plural_noun
local adjective_forms = require("Module:es-headword").adjective_forms
local function link(word)
return "[[" .. word .. "#Spanish|" .. word .. "]]"
end
function tests:check_noun_plurals(singular, expected_plural, gender)
local r = make_plural_noun(singular, gender)
local test = r.pl
if r.pl2 then test = test .. ", " .. r.pl2 end
self:equals(link(singular),
test,
expected_plural)
end
function tests:check_adjective_forms(singular, expected_forms, gender)
local forms = adjective_forms(singular, gender)
self:equals(link(singular),
forms.ms .. ", " .. forms.mp .. ", " .. forms.fs .. ", " .. forms.fp,
expected_forms.ms .. ", " .. expected_forms.mp .. ", " .. expected_forms.fs .. ", " .. expected_forms.fp)
end
function tests:test_noun_plurals()
local examples = {
"nouns ending in unstressed vowel or á, é, ó",
{"pera", "peras"},
{"bota", "botas"},
{"sonido", "sonidos"},
{"panti", "pantis"},
{"café", "cafés"},
{"papá", "papás"},
{"buró", "burós"},
"nouns ending in í or ú",
{"tisú", "tisús, tisúes"},
{"tabú", "tabús, tabúes"},
{"israelí", "israelís, israelíes"},
{"marroquí", "marroquís, marroquíes"},
"nouns ending in a vowel + y, l, r, n, d, j, or ch",
{"rey", "reyes"},
{"panel", "paneles"},
{"color", "colores"},
{"alféizar", "alféizares"},
{"can", "canes"},
{"césped", "céspedes"},
{"reloj", "relojes"},
{"sándwich", "sándwiches"},
{"orden", "órdenes"},
{"volumen", "volúmenes"},
{"brasil", "brasiles"},
{"níquel", "níqueles"}, -- maybe shouldn't have a plural, but ...
{"íleon", "íleones"},
"single syllable, ending in s or x",
{"mes", "meses"},
{"fax", "faxes"},
"nouns ending in a vowel + z",
{"luz", "luces"},
{"lápiz", "lápices"},
{"actriz", "actrices"},
{"voz", "voces"},
{"maíz", "maíces"},
"noun ending in tz",
{"kibbutz", "kibbutz"},
"nouns ending in a stressed vowel + consonant",
{"botón", "botones"},
{"compás", "compases"},
{"acreditación", "acreditaciones"},
{"champiñón", "champiñones"},
{"tahúr", "tahúres"},
"nouns ending in a consonant cluster",
{"iceberg", "icebergs"},
"nouns ending in a vowel + a consonant other than l, r, n, d, z, j, s, x, or ch",
{"esnob", "esnobs"},
{"zigzag", "zigzags"},
{"crac", "cracs"},
{"mamut", "mamuts"},
"nouns ending in s or x with more than 1 syllable, last syllable unstressed",
{"análisis", "análisis"},
{"jueves", "jueves"},
{"lunes", "lunes"},
{"tórax", "tórax"},
{"cóccix", "cóccix"},
{"ibex", "ibex"},
{"carcax", "carcax"},
{"bíceps", "bíceps"},
"nouns ending in l, r, n, d, z, j, 3 or more syllables, accented on third to last syllable",
{"polisíndeton", "polisíndeton"},
"noun + adjective",
{"número arábigo", "números arábigos", "m"},
{"fórmula química", "fórmulas químicas", "f"},
{"accidente cerebrovascular", "accidentes cerebrovasculares", "m"},
{"arándano azul", "arándanos azules", "m"},
{"avión común", "aviones comunes", "m"},
{"católica romana", "católicas romanas", "f"},
"noun + prepositional phrase (de, del)",
{"hombre de letras", "hombres de letras"},
{"hombre del mundo", "hombres del mundo"},
{"acero al carbono", "aceros al carbono"},
"other",
{"esmoquin", "esmóquines"},
{"guion", "guiones"},
{"ciempiés", "ciempiés"}
}
tests:iterate(examples, "check_noun_plurals")
end
function tests:test_adjective_forms()
local examples = {
"ending in -o",
{"ponzoñoso", {["ms"] = "ponzoñoso", ["mp"] = "ponzoñosos", ["fs"] = "ponzoñosa", ["fp"] = "ponzoñosas"}},
"ending in -a",
{"química", {["ms"] = "químico", ["mp"] = "químicos", ["fs"] = "química", ["fp"] = "químicas"}, "f"},
"ending in -e",
{"tolerable", {["ms"] = "tolerable", ["mp"] = "tolerables", ["fs"] = "tolerable", ["fp"] = "tolerables"}},
"ending in -ista",
{"culturalista", {["ms"] = "culturalista", ["mp"] = "culturalistas", ["fs"] = "culturalista", ["fp"] = "culturalistas"}},
"ending in -z",
{"feliz", {["ms"] = "feliz", ["mp"] = "felices", ["fs"] = "feliz", ["fp"] = "felices"}},
"ending in -or",
{"ahorrador", {["ms"] = "ahorrador", ["mp"] = "ahorradores", ["fs"] = "ahorradora", ["fp"] = "ahorradoras"}, "m"},
{"ahorradora", {["ms"] = "ahorrador", ["mp"] = "ahorradores", ["fs"] = "ahorradora", ["fp"] = "ahorradoras"}, "f"},
{"superior", {["ms"] = "superior", ["mp"] = "superiores", ["fs"] = "superior", ["fp"] = "superiores"}, "m"},
"ending in -ón",
{"alegrón", {["ms"] = "alegrón", ["mp"] = "alegrones", ["fs"] = "alegrón", ["fp"] = "alegrones"}},
"ending in -ín",
{"cantarín", {["ms"] = "cantarín", ["mp"] = "cantarines", ["fs"] = "cantarina", ["fp"] = "cantarinas"}},
"ending in -l",
{"aluvial", {["ms"] = "aluvial", ["mp"] = "aluviales", ["fs"] = "aluvial", ["fp"] = "aluviales"}},
{"civil", {["ms"] = "civil", ["mp"] = "civiles", ["fs"] = "civil", ["fp"] = "civiles"}},
"ending in -ar",
{"auxiliar", {["ms"]= "auxiliar", ["mp"] = "auxiliares", ["fs"] = "auxiliar", ["fp"] = "auxiliares"}},
"ending in -és",
{"francés", {["ms"] = "francés", ["mp"] = "franceses", ["fs"] = "francesa", ["fp"] = "francesas"}},
"ending in -án",
{"alemán", {["ms"] = "alemán", ["mp"] = "alemanes", ["fs"] = "alemana", ["fp"] = "alemanas"}}
}
tests:iterate(examples, "check_adjective_forms")
end
return tests