local tests = require('Module:UnitTests')
local data_module = require('Module:es-conj')
function tests:tests_main()
local testcases = {
["decaer"] = {'decaer',
'decayendo', 'decaído', 'decaída', 'decaídos', 'decaídas',
'decaigo', 'decaes', 'decaés', 'decae', 'decaemos', 'decaéis', 'decaen',
'decaía', 'decaías', 'decaía', 'decaíamos', 'decaíais', 'decaían',
'decaí', 'decaíste', 'decayó', 'decaímos', 'decaísteis', 'decayeron',
'decaeré', 'decaerás', 'decaerá', 'decaeremos', 'decaeréis', 'decaerán',
'decaería', 'decaerías', 'decaería', 'decaeríamos', 'decaeríais', 'decaerían',
'decaiga', 'decaigas', nil, 'decaiga', 'decaigamos', 'decaigáis', 'decaigan',
'decayera', 'decayeras', 'decayera', 'decayéramos', 'decayerais', 'decayeran',
'decayese', 'decayeses', 'decayese', 'decayésemos', 'decayeseis', 'decayesen',
'decayere', 'decayeres', 'decayere', 'decayéremos', 'decayereis', 'decayeren',
'decae', 'decaé', 'decaiga', 'decaigamos', 'decaed', 'decaigan',
'decaigas', 'decaiga', 'decaigamos', 'decaigáis', 'decaigan'
},
["decaerse"] = {'decaerse',
'decayéndose', 'decaído', 'decaída', 'decaídos', 'decaídas',
'decaigo', 'decaes', 'decaés', 'decae', 'decaemos', 'decaéis', 'decaen',
'decaía', 'decaías', 'decaía', 'decaíamos', 'decaíais', 'decaían',
'decaí', 'decaíste', 'decayó', 'decaímos', 'decaísteis', 'decayeron',
'decaeré', 'decaerás', 'decaerá', 'decaeremos', 'decaeréis', 'decaerán',
'decaería', 'decaerías', 'decaería', 'decaeríamos', 'decaeríais', 'decaerían',
'decaiga', 'decaigas', nil, 'decaiga', 'decaigamos', 'decaigáis', 'decaigan',
'decayera', 'decayeras', 'decayera', 'decayéramos', 'decayerais', 'decayeran',
'decayese', 'decayeses', 'decayese', 'decayésemos', 'decayeseis', 'decayesen',
'decayere', 'decayeres', 'decayere', 'decayéremos', 'decayereis', 'decayeren',
'decáete', nil, 'decáigase', 'decaigámonos', 'decaeos', 'decáiganse',
'decaigas', 'decaiga', 'decaigamos', 'decaigáis', 'decaigan'
},
["caer"] = {'caer',
'cayendo', 'caído', 'caída', 'caídos', 'caídas',
'caigo', 'caes', 'caés', 'cae', 'caemos', 'caéis', 'caen',
'caía', 'caías', 'caía', 'caíamos', 'caíais', 'caían',
'caí', 'caíste', 'cayó', 'caímos', 'caísteis', 'cayeron',
'caeré', 'caerás', 'caerá', 'caeremos', 'caeréis', 'caerán',
'caería', 'caerías', 'caería', 'caeríamos', 'caeríais', 'caerían',
'caiga', 'caigas', nil, 'caiga', 'caigamos', 'caigáis', 'caigan',
'cayera', 'cayeras', 'cayera', 'cayéramos', 'cayerais', 'cayeran',
'cayese', 'cayeses', 'cayese', 'cayésemos', 'cayeseis', 'cayesen',
'cayere', 'cayeres', 'cayere', 'cayéremos', 'cayereis', 'cayeren',
'cae', 'caé', 'caiga', 'caigamos', 'caed', 'caigan',
'caigas', 'caiga', 'caigamos', 'caigáis', 'caigan'
},
["caerse"] = {'caerse',
'cayéndose', 'caído', 'caída', 'caídos', 'caídas',
'caigo', 'caes', 'caés', 'cae', 'caemos', 'caéis', 'caen',
'caía', 'caías', 'caía', 'caíamos', 'caíais', 'caían',
'caí', 'caíste', 'cayó', 'caímos', 'caísteis', 'cayeron',
'caeré', 'caerás', 'caerá', 'caeremos', 'caeréis', 'caerán',
'caería', 'caerías', 'caería', 'caeríamos', 'caeríais', 'caerían',
'caiga', 'caigas', nil, 'caiga', 'caigamos', 'caigáis', 'caigan',
'cayera', 'cayeras', 'cayera', 'cayéramos', 'cayerais', 'cayeran',
'cayese', 'cayeses', 'cayese', 'cayésemos', 'cayeseis', 'cayesen',
'cayere', 'cayeres', 'cayere', 'cayéremos', 'cayereis', 'cayeren',
'cáete', nil, 'cáigase', 'caigámonos', 'caeos', 'cáiganse',
'caigas', 'caiga', 'caigamos', 'caigáis', 'caigan'
}
}
local inflected = data_module.inflect({"-er", "caer", {"de"}, false}, {}, false)
for k,v in pairs(inflected) do
self:equals(v, testcases["decaer"][k], v)
end
local inflected = data_module.inflect({"-er", "caer", {"de"}, true}, {}, false)
for k,v in pairs(inflected) do
self:equals(v, testcases["decaerse"][k], v)
end
local inflected = data_module.inflect({"-er", "caer", {""}, false}, {}, false)
for k,v in pairs(inflected) do
self:equals(v, testcases["caer"][k], v)
end
local inflected = data_module.inflect({"-er", "caer", {""}, true}, {}, false)
for k,v in pairs(inflected) do
self:equals(v, testcases["caerse"][k], v)
end
end
return tests