local ScribuntoUnit = require('Module:ScribuntoUnit')
local p = {}
--------------------------------------------------------------------------------
-- Test assertEquals
local function testAssertEquals(msg, expected, actual, shouldFail)
local out = msg .. ' '
local errmsg = ''
local 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
local 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