Modul:ScribuntoUnit/testiranje

Dokumentaciju za ovaj modul možete napraviti na stranici Modul:ScribuntoUnit/testiranje/dok

local ScribuntoUnit = require('Module:ScribuntoUnit')

p = {}

--------------------------------------------------------------------------------
-- Test assertEquals

local function testAssertEquals(msg, expected, actual, shouldFail)
	local out = msg .. ' '
	local errmsg = ''

	success, details = pcall(function ()
		local suite = ScribuntoUnit:new()
		suite:assertEquals(expected, actual)
	end)
	
	if not success and (type(details) ~= 'table' or not details.ScribuntoUnit) then -- a real error, not a failed assertion
		errmsg = 'Lua error: ' .. tostring(details)
	end
	
	if success == not shouldFail then
		out = out .. 'OK'
	else
		out = out .. 'FAIL'	.. (errmsg and ' -- ' .. errmsg or '')			
	end

	return out
end
	
function p.testAssertEqualsWithEqualStrings()
	
	return testAssertEquals(
		'Testing that assertEquals does not throw error for equal strings...',
		'abc',
		'abc',
		false
	)

end

function p.testAssertEqualsWithUnequalStrings()
	
	return testAssertEquals(
		'Testing that assertEquals throws error for unequal strings...',
		'abc',
		'def',
		true
	)

end

--------------------------------------------------------------------------------
-- TODO: Test more methods
--

return p