Difference between revisions of "Module:ConvertNumeric/testcases"

From blackwiki
Jump to navigation Jump to search
blackwiki>Dcoetzee
blackwiki>Dcoetzee
(Add more tests for large numbers scientific notation, uppercase)
Line 7: Line 7:
 
         {'1', 'one'},
 
         {'1', 'one'},
 
         {' 1 ', 'one'}, -- test whitespace around number
 
         {' 1 ', 'one'}, -- test whitespace around number
 +
        {'1 | case=u', 'One'},
 +
        {'1 | case=U', 'One'},
 
         {'-1', 'negative one'},
 
         {'-1', 'negative one'},
 
         {'-1 | negative=minus', 'minus one'},
 
         {'-1 | negative=minus', 'minus one'},
Line 14: Line 16:
 
         {'40 | ord=on', 'fortieth'},
 
         {'40 | ord=on', 'fortieth'},
 
         {'76 | pl=on', 'seventy-sixes'},
 
         {'76 | pl=on', 'seventy-sixes'},
 +
        {'1000000000000000000000000000001', 'one nonillion and one'},
 +
        {'1.23E3', 'one thousand two hundred thirty'},
 +
        {'5E30', 'five nonillion'},
 
         {'-123456789.25 ', 'negative one hundred twenty-three million four hundred fifty-six thousand seven hundred and eighty-nine point two five'},
 
         {'-123456789.25 ', 'negative one hundred twenty-three million four hundred fifty-six thousand seven hundred and eighty-nine point two five'},
 
     }
 
     }

Revision as of 01:23, 25 February 2013

Documentation for this module may be created at Module:ConvertNumeric/testcases/doc

-- Unit tests for [[Module:ConvertNumeric]]. Click talk page to run tests.
local p = require('Module:UnitTests')

function p:test_numeral_to_english()
    local cases = {
        {'0', 'zero'},
        {'1', 'one'},
        {' 1 ', 'one'}, -- test whitespace around number
        {'1 | case=u', 'One'},
        {'1 | case=U', 'One'},
        {'-1', 'negative one'},
        {'-1 | negative=minus', 'minus one'},
        {'70', 'seventy'},
        {'42', 'forty-two'},
        {'33 | ord=on', 'thirty-third'},
        {'40 | ord=on', 'fortieth'},
        {'76 | pl=on', 'seventy-sixes'},
        {'1000000000000000000000000000001', 'one nonillion and one'},
        {'1.23E3', 'one thousand two hundred thirty'},
        {'5E30', 'five nonillion'},
        {'-123456789.25 ', 'negative one hundred twenty-three million four hundred fifty-six thousand seven hundred and eighty-nine point two five'},
    }
    for i, case in ipairs(cases) do
        self:preprocess_equals('{{#invoke:ConvertNumeric | numeral_to_english |' .. case[1] .. '}}', case[2])
    end
end

return p