Jump to content

Module:Sandbox/DePiep/sandbox/testcases

From Wikipedia, the free encyclopedia
-- Unit tests.
local p = require('Module:UnitTests')


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

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

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

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

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

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

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

return p