Modulo:European and national party data/testcases composition bar

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

function p:test_main()
	-- composition bar
		-- testing output for a European party
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|entita_europea|barra_di_composizione_di_seggi|ALDE|PE}}', '{{Seggi|49|720|c=#FFD700}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|entita_europea|barra_di_composizione_di_seggi|PPE|EC|per-cento=si|referenza=si}}', '{{Seggi|11|27|c=#3399FF}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|entita_europea|barra_di_composizione_di_seggi|ALDE|camera-alta|referenza=si}}', '{{Seggi|103|1457|c=#FFD700}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|entita_europea|barra_di_composizione_di_seggi|ALDE|camera-alta}}', '{{Seggi|103|1457|c=#FFD700}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|entita_europea|barra_di_composizione_di_seggi|PVE|camera-bassa}}', '{{Seggi|260|6318|c=#57B45F}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|entita_europea|barra_di_composizione_di_seggi|Volt|camera-bassa}}', '{{Seggi|3|6318|c=#502379}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|entita_europea|barra_di_composizione_di_seggi|Volt|camera-bassa|circoscrizione=90}}', '{{Seggi|3|6318|c=#502379}}')
	
			-- testing output for a national party
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|partito_nazionale|barra_di_composizione_di_seggi|Q186867|PE}}', '{{Seggi|5|19|c=#63C3D0}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|partito_nazionale|barra_di_composizione_di_seggi|Q186867|EP|circoscrizione=10}}', '{{Seggi|5|10|c=#63C3D0}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|partito_nazionale|barra_di_composizione_di_seggi|Q186867|EUCO|per-cento=si|referenza=si}}', '{{Seggi|1|27|c=#63C3D0}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|partito_nazionale|barra_di_composizione_di_seggi|Q186867|camera-alta}}', '{{Seggi|26|60|c=#63C3D0}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|partito_nazionale|barra_di_composizione_di_seggi|Q186867|camera-bassa}}', '{{Seggi|51|183|c=#63C3D0}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|partito_nazionale|barra_di_composizione_di_seggi|Q186867|camera-bassa|circoscrizione=60|per-cento=si|referenza=si}}', '{{Seggi|51|60|c=#63C3D0}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|partito_nazionale|barra_di_composizione_di_seggi|Q173152|camera-bassa}}', 'error')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|partito_nazionale|barra_di_composizione_di_seggi|Q173152|PE}}', 'error')
	
		-- test other parameters
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|entita_europea|barra_di_composizione_di_seggi|ALE|camera-alta|larghezza=80%|per-cento=si}}', '{{Seggi|16|1457|c=#671B88|larghezza=80%|per_cento=1}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|entita_europea|barra_di_composizione_di_seggi|PPE|EP|colore-di-sfondo=#000000|bordo=green|colore-barra=red}}', '{{Seggi|182|720|c=red|colore-di-sfondo=#000000|bordo=green}}')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|entita_europea|barra_di_composizione_di_seggi|PPE|EP|colore-di-sfondo=#000000|bordo=green|colore-barra=#F0001C}}', '{{Seggi|182|720|c=#F0001C|colore-di-sfondo=#000000|bordo=green}}')
	
	-- testing error messages
		-- composition_bar
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|entita_europea|barra_di_composizione_di_seggi|test|camera-bassa}}', 'Error: EUPP composition bar: unknown party: TEST (help)')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|entita_europea|barra_di_composizione_di_seggi|ALDE|test}}', 'Error: EUPP composition bar: unknown institution: TEST (help)')
	self:preprocess_equals_preprocess('{{#invoke:European and national party data|main|entita_europea|barra_di_composizione_di_seggi|questopartito|PE}}', 'Error: EUPP composition bar: not called from the page of a European party (help)')

	
end

return p