<?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%3AWikiProject_assessment_progression%2Ftestcases</id>
	<title>Module:WikiProject assessment progression/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%3AWikiProject_assessment_progression%2Ftestcases"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:WikiProject_assessment_progression/testcases&amp;action=history"/>
	<updated>2026-05-25T20:22:16Z</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:WikiProject_assessment_progression/testcases&amp;diff=147679&amp;oldid=prev</id>
		<title>imported&gt;Sasuke Sarutobi: Try calling it this way</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:WikiProject_assessment_progression/testcases&amp;diff=147679&amp;oldid=prev"/>
		<updated>2020-12-06T22:56:24Z</updated>

		<summary type="html">&lt;p&gt;Try calling it this way&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Unit tests for [[Module:WikiProject assessment progression]]. Click talk page to run tests.&lt;br /&gt;
local moduleName = &amp;#039;WikiProject assessment progression/sandbox&amp;#039;&lt;br /&gt;
local myModule = require(&amp;#039;Module:&amp;#039; .. moduleName)&lt;br /&gt;
local ScribuntoUnit = require(&amp;#039;Module:ScribuntoUnit&amp;#039;)&lt;br /&gt;
local suite = ScribuntoUnit:new()&lt;br /&gt;
&lt;br /&gt;
function suite:calculateProjectTotal()&lt;br /&gt;
	local projectTotal = self.frame:preprocess(&lt;br /&gt;
		&amp;#039;{{#expr:{{PAGESINCATEGORY:FA-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:FL-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:FM-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:A-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:GA-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:B-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:C-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:Start-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:Stub-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:List-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:Book-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:Category-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:Disambig-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:File-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:Portal-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:Project-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:Redirect-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:Template-Class spaceflight articles|pages|R}} + {{PAGESINCATEGORY:Unassessed spaceflight articles|pages|R}}}}&amp;#039;&lt;br /&gt;
		)&lt;br /&gt;
	return projectTotal&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function suite:assertTypeEquals(expectedType, functionName, message)&lt;br /&gt;
	local outputType = type(functionName)&lt;br /&gt;
	self:assertEquals(expectedType, outputType, message)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Confirm test function itself is working&lt;br /&gt;
function suite:test_assertTypeEquals_returns_correctly()&lt;br /&gt;
	self:assertTypeEquals(&amp;#039;number&amp;#039;, 10, &amp;#039;assertTypeEquals failed to compare value to its type&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Confirm output is a number formatted as a string&lt;br /&gt;
function suite:test_module_outputs_number_as_string()&lt;br /&gt;
	local asString = self.frame:preprocess(&amp;#039;{{#invoke:&amp;#039;..moduleName..&amp;#039;|main|project=spaceflight}}&amp;#039;)&lt;br /&gt;
	local asNumber = tonumber(asString)&lt;br /&gt;
	self:assertTypeEquals(&amp;#039;string&amp;#039;, asString, &amp;#039;Module output is not formatted as a string&amp;#039;)&lt;br /&gt;
	self:assertTypeEquals(&amp;#039;number&amp;#039;, asNumber, &amp;#039;Module output cannot be converted to a number&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Confirm output returns expected value&lt;br /&gt;
function suite:test_module_outputs_expected_value()&lt;br /&gt;
	local projectTotal = self:calculateProjectTotal()&lt;br /&gt;
	local expectedOutput = self.frame:preprocess(&amp;#039;{{#expr:100 * ((&amp;#039; .. projectTotal .. &amp;#039; - {{PAGESINCATEGORY:Unassessed spaceflight articles|pages|R}} ) / &amp;#039; .. projectTotal .. &amp;#039; ) round 1}}&amp;#039;)&lt;br /&gt;
	local moduleOutput = self.frame:preprocess(&amp;#039;{{#invoke:&amp;#039;..moduleName..&amp;#039;|main|project=spaceflight}}&amp;#039;)&lt;br /&gt;
	self:assertEquals(expectedOutput, moduleOutput, &amp;#039;Module output does not match expected calculation&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Confirm output returns expected value for single class&lt;br /&gt;
function suite:test_module_outputs_expected_for_single_class()&lt;br /&gt;
	local projectTotal = self:calculateProjectTotal()&lt;br /&gt;
	local expectedOutput = self.frame:preprocess(&amp;#039;{{#expr:100 * ({{PAGESINCATEGORY:Stub-Class spaceflight articles|pages|R}} / &amp;#039; .. projectTotal .. &amp;#039; ) round 1}}&amp;#039;)&lt;br /&gt;
	local moduleOutput = self.frame:preprocess(&amp;#039;{{#invoke:&amp;#039;..moduleName..&amp;#039;|main|project=spaceflight|class=Stub}}&amp;#039;)&lt;br /&gt;
	self:assertEquals(expectedOutput, moduleOutput, &amp;#039;Module output differs for total on single class&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Confirm that module returns an error if no results are found for project name given&lt;br /&gt;
function suite:test_module_returns_error_if_invalid_project_specified()&lt;br /&gt;
	local invalidProject = self.frame:preprocess(&amp;#039;{{#invoke:WikiProject assessment progression|main|project=SPAceflight}}&amp;#039;)&lt;br /&gt;
	self:assertEquals(&amp;#039;Error: project not found for project name &amp;quot;SPAceflight&amp;quot;&amp;#039;, invalidProject)&lt;br /&gt;
end&lt;br /&gt;
--]]&lt;br /&gt;
return suite&lt;/div&gt;</summary>
		<author><name>imported&gt;Sasuke Sarutobi</name></author>
	</entry>
</feed>