-- Unit tests per il [[Modulo:Progetti interessati]]. Cliccare sulla pagina di discussione per eseguire i test.
local p = require('Modulo:UnitTests')
function p:test_livello()
self:preprocess_equals_many('{{#invoke:Progetti interessati/sandbox|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' },
-- sono presenti tutti e quattro:
-- tutti con valore a
{ 'accuratezza=a|scrittura=a|fonti=a|immagini=a', '4' },
-- il più basso è b
{ 'accuratezza=b|scrittura=a|fonti=a|immagini=a', '3' },
{ 'accuratezza=a|scrittura=b|fonti=a|immagini=b', '3' },
-- il più basso è c
{ 'accuratezza=c|scrittura=a|fonti=a|immagini=a', '2' },
{ 'accuratezza=a|scrittura=c|fonti=a|immagini=c', '2' },
-- il più basso è d
{ 'accuratezza=d|scrittura=a|fonti=a|immagini=a', '1' },
{ 'accuratezza=a|scrittura=d|fonti=a|immagini=d', '1' },
-- il più basso è e
{ 'accuratezza=e|scrittura=a|fonti=a|immagini=a', 'BOZZA' },
{ 'accuratezza=a|scrittura=e|fonti=a|immagini=a', 'W' },
{ 'accuratezza=a|scrittura=a|fonti=e|immagini=a', 'F' },
{ 'accuratezza=a|scrittura=a|fonti=a|immagini=e', 'IMMAGINI' }
})
end
function p:test_categorie()
self:preprocess_equals_many('{{#invoke:Progetti interessati/sandbox|categorie|debug=1| ', '}}', {
-- nessun progetto, valutazione e data
{
'',
'[[:Categoria:Voci monitorate - non compilate]]<br />' ..
'[[:Categoria:Voci monitorate - accuratezza NC]]<br />' ..
'[[:Categoria:Voci monitorate - scrittura NC]]<br />' ..
'[[:Categoria:Voci monitorate - fonti NC]]<br />' ..
'[[:Categoria:Voci monitorate - immagini NC]]<br />'
},
-- test data/utente senza monitoraggio
{
'data=gennaio 2015',
'[[:Categoria:Voci monitorate - non compilate]]<br />' ..
'[[:Categoria:Voci monitorate - accuratezza NC]]<br />' ..
'[[:Categoria:Voci monitorate - scrittura NC]]<br />' ..
'[[:Categoria:Voci monitorate - fonti NC]]<br />' ..
'[[:Categoria:Voci monitorate - immagini NC]]<br />' ..
'[[:Categoria:Pagine con template Progetti interessati con utente o data e senza monitoraggio]]<br />'
},
-- nessun progetto e data, 1 valutazione
{
'accuratezza=a',
'[[:Categoria:Voci monitorate - nessun livello]]<br />' ..
'[[:Categoria:Voci monitorate - accuratezza A]]<br />' ..
'[[:Categoria:Voci monitorate - scrittura NC]]<br />' ..
'[[:Categoria:Voci monitorate - fonti NC]]<br />' ..
'[[:Categoria:Voci monitorate - immagini NC]]<br />' ..
'[[:Categoria:Voci monitorate - non datate]]<br />'
},
-- nessun progetto e data, 4 valutazioni diverse fino al d
{
'accuratezza=a|scrittura=b|fonti=c|immagini=d',
'[[:Categoria:Voci monitorate - livello minimo]]<br />' ..
'[[:Categoria:Voci monitorate - accuratezza A]]<br />' ..
'[[:Categoria:Voci monitorate - scrittura B]]<br />' ..
'[[:Categoria:Voci monitorate - fonti C]]<br />' ..
'[[:Categoria:Voci monitorate - immagini D]]<br />' ..
'[[:Categoria:Voci monitorate - non datate]]<br />'
},
-- 1 progetto, nessuna valutazione e data
{
'progetto=Astronomia',
'[[:Categoria:Voci monitorate - non compilate]]<br />' ..
'[[:Categoria:Voci monitorate Progetto Astronomia]]<br />' ..
'[[:Categoria:Voci monitorate - accuratezza NC]]<br />' ..
'[[:Categoria:Progetto:Astronomia/Tabella monitoraggio automatico - accuratezza nc]]<br />' ..
'[[:Categoria:Voci monitorate - scrittura NC]]<br />' ..
'[[:Categoria:Progetto:Astronomia/Tabella monitoraggio automatico - scrittura nc]]<br />' ..
'[[:Categoria:Voci monitorate - fonti NC]]<br />' ..
'[[:Categoria:Progetto:Astronomia/Tabella monitoraggio automatico - fonti nc]]<br />' ..
'[[:Categoria:Voci monitorate - immagini NC]]<br />' ..
'[[:Categoria:Progetto:Astronomia/Tabella monitoraggio automatico - immagini nc]]<br />' ..
'[[:Categoria:Voci monitorate Progetto Astronomia - non compilate]]<br />'
},
-- 1 progetto, 4 valutazioni diverse fino al d e data
{
'progetto=Astronomia|accuratezza=a|scrittura=b| fonti=c|immagini=d|data=gennaio 2015',
'[[:Categoria:Voci monitorate - livello minimo]]<br />' ..
'[[:Categoria:Voci monitorate Progetto Astronomia]]<br />' ..
'[[:Categoria:Voci monitorate - accuratezza A]]<br />' ..
'[[:Categoria:Progetto:Astronomia/Tabella monitoraggio automatico - accuratezza a]]<br />' ..
'[[:Categoria:Voci monitorate - scrittura B]]<br />' ..
'[[:Categoria:Progetto:Astronomia/Tabella monitoraggio automatico - scrittura b]]<br />' ..
'[[:Categoria:Voci monitorate - fonti C]]<br />' ..
'[[:Categoria:Progetto:Astronomia/Tabella monitoraggio automatico - fonti c]]<br />' ..
'[[:Categoria:Voci monitorate - immagini D]]<br />' ..
'[[:Categoria:Progetto:Astronomia/Tabella monitoraggio automatico - immagini d]]<br />' ..
'[[:Categoria:Voci monitorate Progetto Astronomia - livello minimo]]<br />' ..
'[[:Categoria:Voci monitorate - gennaio 2015]]<br />'
}
})
end
return p