-- Unit tests per il [[Modulo:Data]]. Cliccare sulla pagina di discussione per eseguire i test.
local p = require("Modulo:UnitTests")
function p:test_diff_yms()
self:preprocess_equals_many("{{#invoke:Data|diff_yms|from=2016/01/01|to=", "}}", {
-- anno
{ "2006/01/01", "10 anni" },
{ "2015/01/01", "1 anno" },
-- mesi
{ "2015/02/01", "11 mesi" },
{ "2015/12/01", "1 mese" },
-- giorni
{ "2015/12/02", "30 giorni" },
{ "2015/12/22", "10 giorni" },
{ "2015/12/31", "1 giorno" },
{ "2016/01/01", "0 giorni" },
{ "2016/01/02", "1 giorno" },
-- mese e giorni
{ "2015/11/30", "1 mese e 1 giorno" },
{ "2015/10/30", "2 mesi e 2 giorni" },
{ "2015/09/28", "3 mesi e 3 giorni" },
{ "2015/08/28", "4 mesi e 4 giorni" },
{ "2015/07/27", "5 mesi e 5 giorni" },
{ "2015/01/02", "11 mesi e 30 giorni" },
-- anni e giorni
{ "2014/12/31", "1 anno e 1 giorno" },
{ "2013/12/30", "2 anni e 2 giorni" },
{ "2012/12/29", "3 anni e 3 giorni" },
{ "2011/12/28", "4 anni e 4 giorni" },
{ "2010/12/27", "5 anni e 5 giorni" },
-- anni e mesi
{ "2014/12/01", "1 anno e 1 mese" },
{ "2013/11/01", "2 anni e 2 mesi" },
{ "2012/10/01", "3 anni e 3 mesi" },
{ "2011/09/01", "4 anni e 4 mesi" },
{ "2010/08/01", "5 anni e 5 mesi" },
-- anni, mesi e giorni
{ "2014/11/30", "1 anno, 1 mese e 1 giorno" },
{ "2013/10/30", "2 anni, 2 mesi e 2 giorni" },
{ "2012/09/28", "3 anni, 3 mesi e 3 giorni" },
{ "2011/08/28", "4 anni, 4 mesi e 4 giorni" },
{ "2010/07/27", "5 anni, 5 mesi e 5 giorni" },
})
end
function p:test_diff()
self:preprocess_equals_many("{{#invoke:Data|diff|from=2016/01/01|to=", "}}", {
-- anno
{ "2006/01/01|magnitudine=anni", "10 anni fa" },
{ "2026/01/01|magnitudine=anni", "tra 10 anni" },
{ "2015/01/01|magnitudine=anni", "1 anno fa" },
{ "2017/01/01|magnitudine=anni", "tra 1 anno" },
-- mese
{ "2015/02/01|magnitudine=mesi", "11 mesi fa" },
{ "2016/12/01|magnitudine=mesi", "tra 11 mesi" },
{ "2015/12/01|magnitudine=mesi", "1 mese fa" },
{ "2016/02/01|magnitudine=mesi", "tra 1 mese" },
-- settimane
{ "2015/12/23|magnitudine=settimane", "1 settimana fa" },
{ "2016/01/08|magnitudine=settimane", "tra 1 settimana" },
{ "2015/01/01|magnitudine=settimane", "52 settimane fa" },
{ "2017/01/01|magnitudine=settimane", "tra 52 settimane" },
-- giorni
{ "2015/12/31|magnitudine=giorni", "1 giorno fa" },
{ "2016/01/02|magnitudine=giorni", "tra 1 giorno" },
{ "2015/09/23|magnitudine=giorni", "100 giorni fa" },
{ "2016/04/10|magnitudine=giorni", "tra 100 giorni" },
})
end
function p:test_diff_hms()
self:preprocess_equals_many("{{#invoke:Data|diff|from=2016/01/01 12:00:00|to=", "}}", {
-- ore
{ "2015/12/31 21:00:00|magnitudine=ore", "15 ore fa" },
{ "2016/01/02 03:00:00|magnitudine=ore", "tra 15 ore" },
{ "2016/01/01 11:00:00|magnitudine=ore", "1 ora fa" },
{ "2016/01/01 13:00:00|magnitudine=ore", "tra 1 ora" },
-- minuti
{ "2016/01/01 11:45:00|magnitudine=minuti", "15 minuti fa" },
{ "2016/01/01 12:15:00|magnitudine=minuti", "tra 15 minuti" },
{ "2016/01/01 02:00:00|magnitudine=minuti", "600 minuti fa" },
{ "2016/01/01 22:00:00|magnitudine=minuti", "tra 600 minuti" },
-- secondi
{ "2016/01/01 11:59:45|magnitudine=secondi", "15 secondi fa" },
{ "2016/01/01 12:00:15|magnitudine=secondi", "tra 15 secondi" },
{ "2016/01/01 11:50:00|magnitudine=secondi", "600 secondi fa" },
{ "2016/01/01 12:10:00|magnitudine=secondi", "tra 600 secondi" },
})
end
function p:test_diff_magnitudine()
self:preprocess_equals_many("{{#invoke:Data|diff|from=2016/01/01 12:00:00|to=", "}}", {
-- fino a 120 secondi (esclusi) => secondi
{ "2016/01/01 11:58:01", "119 secondi fa" },
{ "2016/01/01 12:01:59", "tra 119 secondi" },
-- da 2 minuti a 120 minuti (esclusi) => minuti
{ "2016/01/01 11:58:00", "2 minuti fa" },
{ "2016/01/01 12:02:00", "tra 2 minuti" },
{ "2016/01/01 10:01:00", "119 minuti fa" },
{ "2016/01/01 13:59:00", "tra 119 minuti" },
-- da 2 ore a 48 ore (esclusi) => ore
{ "2016/01/01 10:00:00", "2 ore fa" },
{ "2016/01/01 14:00:00", "tra 2 ore" },
{ "2015/12/30 13:00:00", "47 ore fa" },
{ "2016/01/03 11:00:00", "tra 47 ore" },
-- da 2 giorni a 2 mesi (esclusi) => giorni
{ "2015/12/30 12:00:00", "2 giorni fa" },
{ "2016/01/03 12:00:00", "tra 2 giorni" },
{ "2015/11/02 12:00:00", "60 giorni fa" },
{ "2016/02/28 12:00:00", "tra 58 giorni" },
-- da 2 mesi a 2 anni (esclusi) => mesi
{ "2015/11/01 12:00:00", "2 mesi fa" },
{ "2016/03/01 12:00:00", "tra 2 mesi" },
{ "2014/02/01 12:00:00", "23 mesi fa" },
{ "2017/12/01 12:00:00", "tra 23 mesi" },
-- oltre i due anni => anni
{ "2014/01/01 12:00:00", "2 anni fa" },
{ "2018/01/01 12:00:00", "tra 2 anni" },
{ "2006/01/01 12:00:00", "10 anni fa" },
{ "2026/01/01 12:00:00", "tra 10 anni" },
})
end
function p:test_diff_magnitudine_min()
self:preprocess_equals_many("{{#invoke:Data|diff|from=2016/01/01 12:00:00|to=", "}}", {
-- minuti
{ "2016/01/01 11:59:00|magnitudine min=minuti", "1 minuto fa" },
-- ore
{ "2016/01/01 11:00:00|magnitudine min=ore", "1 ora fa" },
-- giorni
{ "2015/12/31 12:00:00|magnitudine min=giorni", "1 giorno fa" },
-- mesi
{ "2015/12/01 12:00:00|magnitudine min=mesi", "1 mese fa" },
})
end
return p