模組:Es-conj/data/-er/caer/testcases

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