Jump to content

Module:European and national party data/sandbox/testcases

From Wikipedia, the free encyclopedia
-- Unit tests for [[Module:{{ROOTPAGENAME}}]]. Click talk page to run tests.
local p = require('Module:UnitTests')

function p:test_main()

	-- number of seats of a single European party in an institution
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|EPP|EC}}', '11')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|PES|EP}}', '136')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|ALDE|EUCO}}', '3')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|EFA|COR}}', '17')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|IND|EUCO}}', '4')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|ALDE|ms-lower-house}}', '411')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|ALDE|upper-house}}', '103')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|Q208242|upper-house}}', '446')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|Q208242|EC}}', '11')
	
	-- number of seats of a single national party in an institution
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats|Q13564543|EP}}', '2')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats|Q13564543|ms-lower-house}}', '17')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats|Q13564543|upper-house}}', '1')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats|Q22748|EP}}', '1')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats|Q22748|lower}}', '1')
	
	-- share of seats of a single European party in an institution
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seat share|EPP|EC}}', '40.74')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seat share|PES|EP}}', '18.89')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seat share|ALDE|EUCO}}', '11.11')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seat share|EPP|COR}}', '35.87')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seat share|ALDE|lower}}', '6.51')
	
	-- share of seats of a single national party in an institution
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seat share|Q13564543|EP}}', '10.53')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seat share|Q13564543|EP|constituency=10}}', '20')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seat share|Q13564543|ms-lower-house}}', '9.29')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seat share|Q13564543|upper-house}}', '1.67')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seat share|Q655611|lower-house}}', '2')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seat share|Q655611|lower-house|constituency=61}}', '4.92')
	
	-- number of seats of all combined European parties in an institution
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|all|EC}}', '21')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|all|EP}}', '635')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|ALL|EUCO}}', '22')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|All|COR}}', '312')
	--self:preprocess_equals('{{#invoke:European and national party data|main|seats|upper-house|all}}', '102')
	
	-- share of seats of all combined European parties in an institution
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seat share|all|EC}}', '77.78')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seat share|all|EP}}', '88.19')
	--self:preprocess_equals('{{#invoke:European and national party data|main|seats|lower-house|all|%}}', '6.41')
	
	-- number of seats not occupied by European parties in an institution
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|none|EC}}', '6')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|NONE|EP}}', '85')
	
	-- share of seats not occupied by European parties in an institution
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seat share|none|EC}}', '22.22')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seat share|NONE|EP}}', '11.81')
	
	-- get data from European party
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|acronym|Q208242}}', 'EPP')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|european_entity|color|EPP}}', '#3399FF ')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|european_entity|country|Q208242}}', 'European Union')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|european_entity|foundation date|PES}}', '10 November 1992 ')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|individual members|Q208242}}', '25')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|individual members|Q208242|reference=yes}}', '25')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|label|Q208242}}', 'European People’s Party')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|official name|Q208242}}', 'European People’s Party')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|parliamentary group|EGP}}', 'The Greens–European Free Alliance')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|public funding|EGP}}', '171,460.56 euro')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|public funding|EGP|reference=yes}}', '171,460.56 euro')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|website|Q208242}}', 'https://www.epp.eu')
	
	-- get data from national party
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|acronym|Q13564543}}', 'NEOS')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|national_party|color|Q22748}}', '#B5152B')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|national_party|country|Q22748}}', 'Germany')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|national_party|foundation date|Q13564543}}', '27 October 2012')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|individual members|Q49764}}', '54,214')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|label|Q22748}}', 'Die Partei')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|official name|Q22748}}', 'Die Partei')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|official name|Q22748|verbose=yes}}', 'Die Partei')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|parliamentary group|Q13564543}}', 'NEOS')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|public funding|Q22748}}', '')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|website|Q13564543}}', 'http://www.neos.eu')
	
	-- testing error messages
		-- missing or invalid party
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|european_entity|seats}}', 'error - not called from the page of a European party (help)')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seat share}}', 'error - not called from the page of a European party (help)')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|Q208|EC}}', 'error - European party or parameter not valid: Q208 (help)')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seat share|Q208|EC}}', 'error - European party or parameter not valid: Q208 (help)')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats}}', 'error - National party not valid: THISPARTY (help)')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seat share}}', 'error - National party not valid: THISPARTY (help)')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats|Q208|EC}}', 'error - institution EC has unknown party: Q208 (help)')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seat share|Q208|EC}}', 'error - institution EC has unknown party: Q208 (help)')
	
		-- unknown institution
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|APPF}}', 'error - unknown institution: APPF')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|EPP|APPF}}', 'error - unknown institution: APPF')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats|APPF}}', 'error - unknown institution: APPF')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats|EPP|APPF}}', 'error - unknown institution: APPF')
	
		-- unavailable parameter for lower/upper houses
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|all|lower-house}}', 'error - parameter not valid')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|none|upper-house}}', 'error - parameter not valid')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|IND|upper-house}}', 'error - parameter not valid')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats|all|lower-house}}', 'error - parameter not valid')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats|none|upper-house}}', 'error - parameter not valid')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats|IND|upper-house}}', 'error - parameter not valid')
	
		-- calling thisparty outside of the page of a European party
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|thisparty|EC}}', 'error - module not called from the page of a European party')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seat share|thisparty|EC}}', 'error - module not called from the page of a European party')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seats|thisparty|ms-lower-house}}', 'error - module not called from the page of a European party')
	self:preprocess_equals('{{#invoke:European and national party data|main|european_entity|seat share|thisparty|ms-lower-house}}', 'error - module not called from the page of a European party')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats|thisparty|EC}}', 'error - module not called from the page of a national party')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seat share|thisparty|EC}}', 'error - module not called from the page of a national party')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seats|thisparty|ms-lower-house}}', 'error - module not called from the page of a national party')
	self:preprocess_equals('{{#invoke:European and national party data|main|national_party|seat share|thisparty|ms-lower-house}}', 'error - module not called from the page of a national party')

end

return p