Module:TableTools/testcases
Appearance
![]() | This is the test cases page for the module Module:TableTools. Results of the test cases. |
-- Unit tests for [[Module:TableTools]]. Click talk page to run tests.
local tt = require('Module:TableTools') -- the module to be tested
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
local sparseArray = {1, nil, 2, nil, 3, nil, [math.huge] = math.huge, foo = 'bar', [1.5] = 1.5, ['4'] = 'four_string'}
local sparseArrayConcatenated = '123'
local numKeysConcatenated = '135'
function suite.concatIpairs(t)
local ret = ''
for i, v in ipairs(t) do
ret = ret .. tostring(v)
end
return ret
end
function suite:testIsPositiveInteger()
self:assertTrue(tt.isPositiveInteger(1))
self:assertTrue(tt.isPositiveInteger(2))
self:assertTrue(tt.isPositiveInteger(2323874623))
self:assertFalse(tt.isPositiveInteger(0))
self:assertFalse(tt.isPositiveInteger(-1))
self:assertFalse(tt.isPositiveInteger(0.5))
self:assertFalse(tt.isPositiveInteger(1.5))
self:assertFalse(tt.isPositiveInteger('1'))
self:assertFalse(tt.isPositiveInteger(math.huge))
self:assertFalse(tt.isPositiveInteger('foo'))
end
function suite:testGetNumKeys()
local numKeys = tt.getNumKeys(sparseArray)
self:assertEquals(numKeysConcatenated, suite.concatIpairs(numKeys))
end
function suite:testCompressSparseArray()
local compressedArray = tt.compressSparseArray(sparseArray)
self:assertEquals(sparseArrayConcatenated, suite.concatIpairs(compressedArray))
end
function suite:testSparseIpairs()
local arrayText = ''
for i, v in tt.sparseIpairs(sparseArray) do
arrayText = arrayText .. tostring(v)
end
self:assertEquals(sparseArrayConcatenated, compressedArray)
end
return suite