Module:Exponential search/testcases: Difference between revisions
Appearance
Content deleted Content added
create |
various fixes |
||
Line 23: | Line 23: | ||
function suite:assertErrorMsg(msg, func, ...) |
function suite:assertErrorMsg(msg, func, ...) |
||
local ret = self:assertError(func, ...) |
local ret = self:assertError(func, ...) |
||
self:assertStringContains(ret, |
self:assertStringContains(msg, ret, true) |
||
end |
end |
||
function suite: |
function suite:testFuncType() |
||
self:assertError(search, 5) |
self:assertError(search, 5) |
||
self:assertError(search, 'foo') |
self:assertError(search, 'foo') |
||
Line 32: | Line 32: | ||
self:assertError(search, {}) |
self:assertError(search, {}) |
||
self:assertError(search, nil) |
self:assertError(search, nil) |
||
end |
|||
function suite:testInitType() |
|||
self:assertError(search, zeroTest, 'foo') |
self:assertError(search, zeroTest, 'foo') |
||
self:assertError(search, zeroTest, zeroTest) |
self:assertError(search, zeroTest, zeroTest) |
||
Line 38: | Line 41: | ||
end |
end |
||
function suite: |
function suite:testInitIntegerCheck() |
||
self:assertErrorMsg( |
self:assertErrorMsg( |
||
"invalid init value '0' detected in argument #2 to 'Exponential search' (init values must be a positive integer)", |
"invalid init value '0' detected in argument #2 to 'Exponential search' (init values must be a positive integer)", |
||
Line 52: | Line 55: | ||
) |
) |
||
self:assertErrorMsg( |
self:assertErrorMsg( |
||
"invalid init value ' |
"invalid init value 'inf' detected in argument #2 to 'Exponential search' (init values must be a positive integer)", |
||
search, zeroTest, math.huge |
search, zeroTest, math.huge |
||
) |
) |
Revision as of 12:05, 27 February 2015
![]() | This is the test cases page for the module Module:Exponential search. Results of the test cases. |
local search = require('Module:Exponential search')
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
local function makeArrayTest(len)
local array = {}
for i = 1, len do
array[i] = true
end
return function (i)
return array[i]
end
end
local zeroTest = makeArrayTest(0)
function suite:assertError(func, ...)
local success, ret = pcall(func, ...)
self:assertFalse(success)
return ret
end
function suite:assertErrorMsg(msg, func, ...)
local ret = self:assertError(func, ...)
self:assertStringContains(msg, ret, true)
end
function suite:testFuncType()
self:assertError(search, 5)
self:assertError(search, 'foo')
self:assertError(search, true)
self:assertError(search, {})
self:assertError(search, nil)
end
function suite:testInitType()
self:assertError(search, zeroTest, 'foo')
self:assertError(search, zeroTest, zeroTest)
self:assertError(search, zeroTest, true)
self:assertError(search, zeroTest, {})
end
function suite:testInitIntegerCheck()
self:assertErrorMsg(
"invalid init value '0' detected in argument #2 to 'Exponential search' (init values must be a positive integer)",
search, zeroTest, 0
)
self:assertErrorMsg(
"invalid init value '1.5' detected in argument #2 to 'Exponential search' (init values must be a positive integer)",
search, zeroTest, 1.5
)
self:assertErrorMsg(
"invalid init value '-3' detected in argument #2 to 'Exponential search' (init values must be a positive integer)",
search, zeroTest, -3
)
self:assertErrorMsg(
"invalid init value 'inf' detected in argument #2 to 'Exponential search' (init values must be a positive integer)",
search, zeroTest, math.huge
)
self:assertErrorMsg(
"invalid init value '-nan' detected in argument #2 to 'Exponential search' (init values must be a positive integer)",
search, zeroTest, 0/0
)
end
return suite