<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3AConvertNumeric%2Ftestcases</id>
	<title>Module:ConvertNumeric/testcases - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3AConvertNumeric%2Ftestcases"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:ConvertNumeric/testcases&amp;action=history"/>
	<updated>2026-04-21T14:31:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:ConvertNumeric/testcases&amp;diff=135772&amp;oldid=prev</id>
		<title>imported&gt;Johnuniq: use tab indents per style</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:ConvertNumeric/testcases&amp;diff=135772&amp;oldid=prev"/>
		<updated>2018-11-05T09:11:58Z</updated>

		<summary type="html">&lt;p&gt;use tab indents per style&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Unit tests for [[Module:ConvertNumeric]]. Click talk page to run tests.&lt;br /&gt;
local p = require(&amp;#039;Module:UnitTests&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local frame = mw.getCurrentFrame()&lt;br /&gt;
local function get_error_text(wikitext)&lt;br /&gt;
	local message = frame:preprocess(wikitext):match(&amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;&amp;lt;[^&amp;gt;]+&amp;gt;(.-)&amp;lt;[^&amp;gt;]+&amp;gt;&amp;lt;/strong&amp;gt;&amp;#039;)&lt;br /&gt;
	message = message:match(&amp;#039;at line %d+: (.+)%.$&amp;#039;) or message&lt;br /&gt;
	return message&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_numeral_to_english()&lt;br /&gt;
	self:preprocess_equals_many(&amp;#039;{{#invoke:ConvertNumeric | numeral_to_english |&amp;#039;, &amp;#039;}}&amp;#039;, {&lt;br /&gt;
		{&amp;#039;0&amp;#039;, &amp;#039;zero&amp;#039;},&lt;br /&gt;
		{&amp;#039;1&amp;#039;, &amp;#039;one&amp;#039;},&lt;br /&gt;
		{&amp;#039; 1 &amp;#039;, &amp;#039;one&amp;#039;}, -- test whitespace around number&lt;br /&gt;
		{&amp;#039;1 | case=u&amp;#039;, &amp;#039;One&amp;#039;},&lt;br /&gt;
		{&amp;#039;1 | case=U&amp;#039;, &amp;#039;One&amp;#039;},&lt;br /&gt;
		{&amp;#039;-1&amp;#039;, &amp;#039;negative one&amp;#039;},&lt;br /&gt;
		{&amp;#039;-1 | negative=minus&amp;#039;, &amp;#039;minus one&amp;#039;},&lt;br /&gt;
		{&amp;#039;70&amp;#039;, &amp;#039;seventy&amp;#039;},&lt;br /&gt;
		{&amp;#039;42&amp;#039;, &amp;#039;forty-two&amp;#039;},&lt;br /&gt;
		{&amp;#039;123&amp;#039;, &amp;#039;one hundred and twenty-three&amp;#039;},&lt;br /&gt;
		{&amp;#039;123 | sp=us&amp;#039;, &amp;#039;one hundred twenty-three&amp;#039;},&lt;br /&gt;
		{&amp;#039;123 | adj=on&amp;#039;, &amp;#039;one-hundred-and-twenty-three&amp;#039;},&lt;br /&gt;
		{&amp;#039;1050&amp;#039;, &amp;#039;one thousand and fifty&amp;#039;},&lt;br /&gt;
		{&amp;#039;1050 | sp=us&amp;#039;, &amp;#039;one thousand fifty&amp;#039;},&lt;br /&gt;
		{&amp;#039;0.25&amp;#039;, &amp;#039;zero point two five&amp;#039;},&lt;br /&gt;
		{&amp;#039;.25&amp;#039;, &amp;#039;zero point two five&amp;#039;},&lt;br /&gt;
		{&amp;#039;0 | ord=on&amp;#039;, &amp;#039;zeroth&amp;#039;},&lt;br /&gt;
		{&amp;#039;33 | ord=on&amp;#039;, &amp;#039;thirty-third&amp;#039;},&lt;br /&gt;
		{&amp;#039;40 | ord=on&amp;#039;, &amp;#039;fortieth&amp;#039;},&lt;br /&gt;
		{&amp;#039;5000000000 | ord=on&amp;#039;, &amp;#039;five billionth&amp;#039;},&lt;br /&gt;
		{&amp;#039;0 | pl=on&amp;#039;, &amp;#039;zeros&amp;#039;},&lt;br /&gt;
		{&amp;#039;76 | pl=on&amp;#039;, &amp;#039;seventy-sixes&amp;#039;},&lt;br /&gt;
		{&amp;#039;1000000000000000000000000000001&amp;#039;, &amp;#039;one nonillion and one&amp;#039;},&lt;br /&gt;
		{&amp;#039;1.23E3&amp;#039;, &amp;#039;one thousand two hundred and thirty&amp;#039;},&lt;br /&gt;
		{&amp;#039;123E-4&amp;#039;, &amp;#039;zero point zero one two three&amp;#039;},&lt;br /&gt;
		{&amp;#039;1001001001001000 | lk=on&amp;#039;, &amp;#039;one [[Orders_of_magnitude_(numbers)#1015|quadrillion]] one [[Orders_of_magnitude_(numbers)#1012|trillion]] one [[Orders_of_magnitude_(numbers)#109|billion]] one million one thousand&amp;#039;},&lt;br /&gt;
		{&amp;#039;1001001001001000 | lk=billion,quadrillion&amp;#039;, &amp;#039;one [[Orders_of_magnitude_(numbers)#1015|quadrillion]] one trillion one [[Orders_of_magnitude_(numbers)#109|billion]] one million one thousand&amp;#039;},&lt;br /&gt;
		{&amp;#039;5E30&amp;#039;, &amp;#039;five nonillion&amp;#039;},&lt;br /&gt;
		{&amp;#039;-123456789.25&amp;#039;, &amp;#039;negative one hundred twenty-three million four hundred fifty-six thousand seven hundred and eighty-nine point two five&amp;#039;},&lt;br /&gt;
		{&amp;#039;0 | zero=foo&amp;#039;, &amp;#039;foo&amp;#039;},&lt;br /&gt;
		{&amp;#039;0 | ord=on | zero=none&amp;#039;, &amp;#039;none&amp;#039;},&lt;br /&gt;
		{&amp;#039;1 | numerator=2 | denominator=3&amp;#039;, &amp;#039;one and two-thirds&amp;#039;},&lt;br /&gt;
		{&amp;#039;| numerator=2 | denominator=3&amp;#039;, &amp;#039;two-thirds&amp;#039;},&lt;br /&gt;
		{&amp;#039;1 | denominator=2&amp;#039;, &amp;#039;one and a half&amp;#039;},&lt;br /&gt;
		{&amp;#039;1 | numerator=3 | denominator=2&amp;#039;, &amp;#039;one and three-halves&amp;#039;},&lt;br /&gt;
		{&amp;#039;1 | numerator=1 | denominator=4&amp;#039;, &amp;#039;one and a quarter&amp;#039;},&lt;br /&gt;
		{&amp;#039;1 | numerator=1 | denominator=4 | sp=us&amp;#039;, &amp;#039;one and a fourth&amp;#039;},&lt;br /&gt;
		{&amp;#039;1 | numerator=1 | denominator=4 | one=one&amp;#039;, &amp;#039;one and one-quarter&amp;#039;},&lt;br /&gt;
		{&amp;#039;1 | numerator=1 | denominator=4 | sp=us | one=one&amp;#039;, &amp;#039;one and one-fourth&amp;#039;},&lt;br /&gt;
		{&amp;#039;9 | numerator=3 | denominator=4&amp;#039;, &amp;#039;nine and three-quarters&amp;#039;},&lt;br /&gt;
		{&amp;#039;9 | numerator=3 | denominator=4 | sp=us&amp;#039;, &amp;#039;nine and three-fourths&amp;#039;},&lt;br /&gt;
		{&amp;#039;23 | numerator=12 | denominator=16&amp;#039;, &amp;#039;twenty-three and twelve-sixteenths&amp;#039;},&lt;br /&gt;
	})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_numeral_to_english_error()&lt;br /&gt;
	local cases = {&amp;#039;&amp;#039;, &amp;#039;a&amp;#039;, &amp;#039;.&amp;#039;, &amp;#039;e&amp;#039;, &amp;#039;E&amp;#039;, &amp;#039;E1&amp;#039;, &amp;#039;.E1&amp;#039;, &amp;#039;+&amp;#039;, &amp;#039;-&amp;#039;, &amp;#039;123a&amp;#039;, &amp;#039;a123&amp;#039;, &amp;#039;0.1a&amp;#039;, &amp;#039;-a123&amp;#039; }&lt;br /&gt;
	local nowiki = mw.text.nowiki&lt;br /&gt;
	for _, case in ipairs(cases) do&lt;br /&gt;
		local wikitext = &amp;#039;{{#invoke:ConvertNumeric | numeral_to_english |&amp;#039; .. case .. &amp;#039;}}&amp;#039;&lt;br /&gt;
		self:equals(nowiki(wikitext), get_error_text(wikitext), &amp;#039;Invalid decimal numeral&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_numeral_to_english_round()&lt;br /&gt;
	self:preprocess_equals_many(&amp;#039;{{#invoke:ConvertNumeric | numeral_to_english |&amp;#039;, &amp;#039;}}&amp;#039;, {&lt;br /&gt;
		{&amp;#039;1 | round=on&amp;#039;, &amp;#039;one&amp;#039;},&lt;br /&gt;
		{&amp;#039;37 | round=on&amp;#039;, &amp;#039;thirty-seven&amp;#039;},&lt;br /&gt;
		{&amp;#039;190 | round=on&amp;#039;, &amp;#039;two hundred&amp;#039;},&lt;br /&gt;
		{&amp;#039;110 | round=up&amp;#039;, &amp;#039;two hundred&amp;#039;},&lt;br /&gt;
		{&amp;#039;190 | round=down&amp;#039;, &amp;#039;one hundred&amp;#039;},&lt;br /&gt;
		{&amp;#039;87654321 | round=on&amp;#039;, &amp;#039;ninety million&amp;#039;},&lt;br /&gt;
		{&amp;#039;12345678 | round=on&amp;#039;, &amp;#039;twelve million&amp;#039;},&lt;br /&gt;
		{&amp;#039;-190 | round=on&amp;#039;, &amp;#039;negative two hundred&amp;#039;},&lt;br /&gt;
		{&amp;#039;-190 | round=up&amp;#039;, &amp;#039;negative one hundred&amp;#039;},&lt;br /&gt;
		{&amp;#039;-110 | round=down&amp;#039;, &amp;#039;negative two hundred&amp;#039;},&lt;br /&gt;
		{&amp;#039;0.25 | round=on&amp;#039;, &amp;#039;zero&amp;#039;},&lt;br /&gt;
		{&amp;#039;0.5 | round=on&amp;#039;, &amp;#039;one&amp;#039;},&lt;br /&gt;
		{&amp;#039;-0.25 | round=on&amp;#039;, &amp;#039;zero&amp;#039;},&lt;br /&gt;
		{&amp;#039;-0.5 | round=on&amp;#039;, &amp;#039;negative one&amp;#039;},&lt;br /&gt;
		{&amp;#039;0.01 | round=up&amp;#039;, &amp;#039;one&amp;#039;},&lt;br /&gt;
		{&amp;#039;0.99 | round=down&amp;#039;, &amp;#039;zero&amp;#039;},&lt;br /&gt;
		{&amp;#039;-0.01 | round=down&amp;#039;, &amp;#039;negative one&amp;#039;},&lt;br /&gt;
		{&amp;#039;-0.99 | round=up&amp;#039;, &amp;#039;zero&amp;#039;},&lt;br /&gt;
	})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_decToHex()&lt;br /&gt;
	self:preprocess_equals(&lt;br /&gt;
		&amp;#039;{{#invoke:ConvertNumeric|decToHex|10 20 40 1024 78912345|minlength=4}}&amp;#039;,&lt;br /&gt;
		&amp;#039;000A 0014 0028 0400 4B41B59&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Johnuniq</name></author>
	</entry>
</feed>