Módulo:Yesno/Testes unitários

De WikiINRICRISTOpedia
Ir para navegação Ir para pesquisar

A documentação para este módulo pode ser criada em Módulo:Yesno/Testes unitários/doc

-- Testes unitários para [[Módulo:Yesno]]. Clique na página de discussão para rodar os testes.
local p = require('Módulo:UnitTests')
local yesno = require('Módulo:Yesno')

function p:test_yes()
	self:equals("'sim'", yesno('sim'), true)
	self:equals("'Sim'", yesno('Sim'), true)
	self:equals("'SIM'", yesno('SIM'), true)
	self:equals("'sIm'", yesno('sIm'), true)
	self:equals("'verdadeiro'", yesno('verdadeiro'), true)
	self:equals("'vErDaDeIrO'", yesno('vErDaDeIrO'), true)
	self:equals("'yes'", yesno('yes'), true)
	self:equals("'y'", yesno('y'), true)
	self:equals("'true'", yesno('true'), true)
	self:equals("true", yesno(true), true)
	self:equals("'t'", yesno('t'), true)
	self:equals("'1'", yesno('1'), true)
	self:equals("1", yesno(1), true)
	self:equals("'teste'<br/>''default = true''", yesno('teste', true), true)
	self:equals("{}<br/>''default = true''", yesno({}, true), true)
	self:equals("5<br/>''default = true''", yesno(5, true), true)
	self:equals("function() return 'Esta é uma função.' end<br/>''default = true''", yesno(function() return 'Esta é uma função.' end, true), true)
	self:equals("<nowiki>''</nowiki><br/>''default=true''", yesno('', true), true)
end

function p:test_no()
	self:equals("'não'", yesno('não'), false)
	self:equals("'Não'", yesno('Não'), false)
	self:equals("'NÃO'", yesno('NÃO'), false)
	self:equals("'nÃo'", yesno('nÃo'), false)
	self:equals("'falso'", yesno('falso'), false)
	self:equals("'fAlSo'", yesno('fAlSo'), false)
	self:equals("'false'", yesno('false'), false)
	self:equals("false", yesno(false), false)
	self:equals("'f'", yesno('f'), false)
	self:equals("'no'", yesno('no'), false)
	self:equals("'n'", yesno('n'), false)
	self:equals("'0'", yesno('0'), false)
	self:equals("0", yesno(0), false)
	self:equals("'teste'<br/>''default = false''", yesno('teste', false), false)
	self:equals("{}<br/>''default = false''", yesno({}, false), false)
	self:equals("5<br/>''default = false''", yesno(5, false), false)
	self:equals("function() return 'Esta é uma função.' end<br/>''default = false''", yesno(function() return 'Esta é uma função.' end, false), false)
	self:equals("<nowiki>''</nowiki><br/>''default=false''", yesno('', false), false)
end

function p:test_nil()
	self:equals("nil", yesno(nil), nil)
	self:equals("'teste'", yesno('teste'), nil)
	self:equals("{}", yesno({}), nil)
	self:equals("5", yesno(5), nil)
	self:equals("'5'", yesno('5'), nil)
	self:equals("function() return 'Esta é uma função.' end", yesno(function() return 'Esta é uma função.' end), nil)
	self:equals("<nowiki>''</nowiki>", yesno(''), nil)
end

function p:test_padrao()
	self:equals("'teste'<br/>''default='padrão' ''", yesno('teste','padrão'), 'padrão')
	self:equals("{}<br/>''default='padrão' ''", yesno({},'padrão'), 'padrão')
	self:equals("5<br/>''default='padrão' ''", yesno(5,'padrão'), 'padrão')
	self:equals("'5'<br/>''default='padrão' ''", yesno('5','padrão'), 'padrão')
	self:equals("function() return 'Esta é uma função.' end<br/>''default='padrão' ''", yesno(function() return 'Esta é uma função.' end,'padrão'), 'padrão')
	self:equals("<nowiki>''</nowiki><br/>''default='padrão' ''", yesno('','padrão'), 'padrão')
end

return p