Module:Class mask/testcases
Appearance
![]() | This is the test cases page for the module Module:Class mask. Results of the test cases. |
-- local mClassMask = require('Module:Class mask')
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
local frame = mw.getCurrentFrame()
local function classMask(t)
return frame:expandTemplate{title = 'Class mask', args = t}
end
for _, grade in ipairs{'FA', 'FL', 'A', 'GA', 'B', 'C'} do
local gradeLower = grade:lower()
suite['test' .. grade] = function(self)
self:assertEquals(grade, classMask{grade})
self:assertEquals(grade, classMask{gradeLower})
self:assertEquals('', classMask{grade, [gradeLower] = 'no'})
self:assertEquals('', classMask{gradeLower, [gradeLower] = 'no'})
end
end
function suite:testBExtendedYes()
local yesValues = {'yes', 'YES', 'y', 'Y', '1', 'pass', 'PASS', 'n/a', 'N/A', 'na', 'NA', '¬', 'unused', 'UNUSED'}
for i, value in ipairs(yesValues) do
self:assertEquals('B', classMask{'B', b1 = value, b2 = value, b3 = value, b4 = value, b5 = value, b6 = value})
self:assertEquals('B', classMask{'b', b1 = value, b2 = value, b3 = value, b4 = value, b5 = value, b6 = value})
end
self:assertEquals('B', classMask{'B', b1 = 'yes', b2 = nil, b3 = nil, b4 = nil, b5 = nil, b6 = nil})
self:assertEquals('B', classMask{'b', b1 = 'yes', b2 = nil, b3 = nil, b4 = nil, b5 = nil, b6 = nil})
end
function suite:testBExtendedNo()
local noValues = {'no', 'NO', 'n', 'N', '0', 'fail', 'FAIL', '<yes/no>', '<YES/NO>', 'yes/no', 'YES/NO', '', 'foo'}
for i, value in ipairs(noValues) do
self:assertEquals('C', classMask{'B', b1 = value, b2 = value, b3 = value, b4 = value, b5 = value, b6 = value})
self:assertEquals('C', classMask{'b', b1 = value, b2 = value, b3 = value, b4 = value, b5 = value, b6 = value})
end
end
for i, t in ipairs{{'SomeYesSomeNo', 'yes', 'no'}, {'SomeYesSomeUnevaluated', 'yes', ''}} do
suite['testBExtended' .. t[1]] = function (self)
local yesVal, noVal = t[2], t[3]
for j, grade in ipairs{'B', 'b'} do
self:assertEquals('C', classMask{grade, b1 = yesVal, b2 = yesVal, b3 = yesVal, b4 = yesVal, b5 = yesVal, b6 = noVal})
self:assertEquals('C', classMask{grade, b1 = yesVal, b2 = yesVal, b3 = yesVal, b4 = yesVal, b5 = noVal, b6 = noVal})
self:assertEquals('C', classMask{grade, b1 = yesVal, b2 = yesVal, b3 = yesVal, b4 = noVal, b5 = noVal, b6 = noVal})
self:assertEquals('C', classMask{grade, b1 = yesVal, b2 = yesVal, b3 = noVal, b4 = noVal, b5 = noVal, b6 = noVal})
self:assertEquals('C', classMask{grade, b1 = yesVal, b2 = noVal, b3 = noVal, b4 = noVal, b5 = noVal, b6 = noVal})
self:assertEquals('C', classMask{grade, b1 = yesVal, b2 = yesVal, b3 = noVal, b4 = yesVal, b5 = yesVal, b6 = yesVal})
end
end
end
return suite