-- 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