Modulo:Progetti interessati/test

-- Unit tests per il [[Modulo:Monitoraggio]]. Cliccare sulla pagina di discussione per eseguire i test.
local p = require('Modulo:UnitTests')

function p:test_livello()
	self:preprocess_equals_many('{{#invoke:Monitoraggio|livello|', '}}', {
		-- mancano tutte le valutazioni
		{ '', '' },
		-- se manca accuratezza, ma ce ne è almeno 1 o più degli altri => 0.5
		{ 'scrittura=a', '0.5' },
		{ 'fonti=b', '0.5' },
		{ 'immagini=c', '0.5' },
		{ 'scrittura=a|immagini=b|fonti=c', '0.5' },
		-- se c'è accuratezza, ma manca scrittura, a prescindere dai restanti due => 0.4
		{ 'accuratezza=a', '0.4' },
		{ 'accuratezza=a|fonti=b', '0.4' },
		{ 'accuratezza=a|fonti=b|immagini=c', '0.4' },
		-- se ci sono sia accuratezza che scrittura, ma manca fonti, a prescindere da immagini => 0.3
		{ 'accuratezza=a|scrittura=b', '0.3' },
		{ 'accuratezza=a|scrittura=b|immagini=c', '0.3' },
		-- se ci sono accuratezza, scrittura, fonti e manca immagine => 0.2
		{ 'accuratezza=a|scrittura=b|fonti=c', '0.2' },
	})
end

return p