Module:User:DePiep/sandbox/testcases

From blackwiki
< Module:User:DePiep/sandbox
Revision as of 14:04, 25 March 2013 by blackwiki>DePiep
Jump to navigation Jump to search

Documentation for this module may be created at Module:User:DePiep/sandbox/testcases/doc

-- Unit tests.
local p = require('Module:UnitTests')


function p:test_basic()
-- basic
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij}}', '000')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|||}}', '000')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|||7}}', '001')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij||4|}}', '010')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij||4|7}}', '011')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|2||}}', '100')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|2||7}}', '101')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|2|4|}}', '110')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|2|4|5}}', '111')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|2|4|7}}', '111 err')
end

function p:test_borders()
-- jj over length
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|||13}}', '001')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij||4|13}}', '011')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|2||13}}', '101')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|10|4|13}}', '111')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|8|4|13}}', '111 err')
end

function p:test_negatives()
-- j neg
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|||-7}}', '001')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij||3|-7}}', '011')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|2||-7}}', '101')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|3|4|-5}}', '111')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|2|3|-7}}', '111')

-- i neg
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|-2||}}', '100')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|-2||7}}', '101')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|-2|4|}}', '110')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|-2|4|5}}', '111')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|-2|4|7}}', '111')

-- negative length substr
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij||-4|}}', '010')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij||-4|7}}', '011')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij||-3|7}}', '011')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|2|-4|}}', '110')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij||-4|8}}', '011')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|2|-4|7}}', '111')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|10|-4|7}}', '111')
end

function p:test_blanks()
--blank
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss||2||7}}', '<blank>')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss||2|0|7}}', '<blank>')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|2|0|7}}', '<blank>')
end

function p:test_index_0()
-- i, j =0 error
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|0||7}}', '0 index')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|2||0}}', '0 index')
    self:preprocess_equals('{{#invoke:User:DePiep/sandbox|ss|abcdefghij|0||0}}', '0 index')
end

return p