Modulo:Conversione/test
-- Unit tests per il [[Modulo:Conversione]]. Cliccare sulla pagina di discussione per eseguire i test.
local p = require('Modulo:UnitTests')
function p:test_reference_unit()
self:preprocess_equals_many('{{#invoke:Conversione/sandbox|main|', '}}', {
-- lunghezza
{ '1|millimetre|metre', '0.001' },
{ '1|centimetre|metre', '0.01' },
{ '1|inch|metre', '0.0254' },
{ '1|foot|metre', '0.3048' },
{ '1|yard|metre', '0.9144' },
{ '1|metre|metre', '1' },
{ '1|kilometre|metre', '1000' },
{ '1|mile|metre', '1609.344' },
{ '1|nautical mile|metre', '1852' },
-- area
{ '1|square metre|square metre', '1' },
{ '1|hectare|square metre', '10000' },
{ '1|square kilometre|square metre', '1000000' },
{ '1|square mile|square metre', '2589988.110336' },
{ '1|acre|square metre', '4046.8564224' },
-- velocità
{ '1|kilometre per hour|metre per second', '0.27777777777778' },
{ '1|knot|metre per second', '0.51444444444444' },
{ '1|metre per second|metre per second', '1' },
-- peso
{ '1|ounce|gram', '28.349523125' },
{ '1|pound|gram', '453.59237' },
{ '1|gram|gram', '1' },
{ '1|kilogram|gram', '1000' },
{ '1|tonne|gram', '1000000' },
-- pressione
{ '1|pascal|pascal', '1' },
{ '1|millimeter of mercury|pascal', '133.322387415' },
{ '1|pound per square inch|pascal', '6894.7572931684' },
{ '1|bar|pascal', '100000' },
{ '1|atmosphere|pascal', '101325' },
-- portata
{ '1|cubic metre per second|cubic metre per second', '1' },
{ '1|cubic feet per second|cubic metre per second', '0.028316846592' },
-- tempo
{ '1|second|second', '1' },
{ '1|minute|second', '60' },
{ '1|hour|second', '3600' },
-- angolo
{ '1|degree|degree', '1' },
{ '1|radiant|degree', '57.295779513082' },
-- temperatura
{ '1|degree Celsius|kelvin', '274.15' },
{ '1|degree Fahrenheit|kelvin', '255.92777777778' },
{ '1|kelvin|kelvin', '1' }
})
end
function p:test_alias()
self:preprocess_equals_many('{{#invoke:Conversione/sandbox|main|', '}}', {
-- lunghezza
{ '1|millimetro|metro', '0.001' },
{ '1|centimetro|metro', '0.01' },
{ '1|pollice|metro', '0.0254' },
{ '1|piede|metro', '0.3048' },
{ '1|iarda|metro', '0.9144' },
{ '1|metro|metro', '1' },
{ '1|chilometro|metro', '1000' },
{ '1|miglio|metro', '1609.344' },
{ '1|miglio nautico|metro', '1852' },
-- area
{ '1|metro quadrato|metro quadrato', '1' },
{ '1|ettaro|metro quadrato', '10000' },
{ '1|chilometro quadrato|metro quadrato', '1000000' },
{ '1|miglio quadro|metro quadrato', '2589988.110336' },
{ '1|acro|metro quadrato', '4046.8564224' },
-- velocità
{ '1|chilometro orario|metro al secondo', '0.27777777777778' },
{ '1|nodo|metro al secondo', '0.51444444444444' },
{ '1|metro al secondo|metro al secondo', '1' },
-- peso
{ '1|oncia|grammo', '28.349523125' },
{ '1|libbra|grammo', '453.59237' },
{ '1|grammo|grammo', '1' },
{ '1|chilogrammo|grammo', '1000' },
{ '1|tonnellata|grammo', '1000000' },
-- pressione
{ '1|millimetro di mercurio|pascal', '133.322387415' },
{ '1|libbra per pollice quadrato|pascal', '6894.7572931684' },
{ '1|atmosfera|pascal', '101325' },
-- portata
{ '1|metro cubo al secondo|metro cubo al secondo', '1' },
{ '1|piede cubo al secondo|metro cubo al secondo', '0.028316846592' },
-- tempo
{ '1|secondo|secondo', '1' },
{ '1|minuto|secondo', '60' },
{ '1|ora|secondo', '3600' },
-- angolo
{ '1|grado d\'arco|grado d\'arco', '1' },
{ '1|radiante|grado d\'arco', '57.295779513082' },
-- temperatura
{ '1|grado Celsius|kelvin', '274.15' },
{ '1|grado Fahrenheit|kelvin', '255.92777777778' },
{ '1|kelvin|kelvin', '1' }
})
end
function p:test_alias_unit()
self:preprocess_equals_many('{{#invoke:Conversione/sandbox|main|', '}}', {
-- lunghezza
{ '1|mm|m', '0.001' },
{ '1|cm|m', '0.01' },
{ '1|in|m', '0.0254' },
{ '1|ft|m', '0.3048' },
{ '1|yd|m', '0.9144' },
{ '1|m|m', '1' },
{ '1|km|m', '1000' },
{ '1|mi|m', '1609.344' },
{ '1|nmi|m', '1852' },
-- area
{ '1|sqm|sqm', '1' },
{ '1|ha|sqm', '10000' },
{ '1|sqkm|sqm', '1000000' },
{ '1|sqmi|sqm', '2589988.110336' },
{ '1|ac|sqm', '4046.8564224' },
-- velocità
{ '1|km/h|m/s', '0.27777777777778' },
{ '1|kn|m/s', '0.51444444444444' },
{ '1|m/s|m/s', '1' },
-- peso
{ '1|oz|g', '28.349523125' },
{ '1|lb|g', '453.59237' },
{ '1|g|g', '1' },
{ '1|kg|g', '1000' },
{ '1|t|g', '1000000' },
-- pressione
{ '1|Pa|Pa', '1' },
{ '1|mmHg|Pa', '133.322387415' },
{ '1|psi|Pa', '6894.7572931684' },
{ '1|bar|Pa', '100000' },
{ '1|atm|Pa', '101325' },
-- portata
{ '1|m3/s|m3/s', '1' },
{ '1|cuft/s|m3/s', '0.028316846592' },
-- tempo
{ '1|s|s', '1' },
{ '1|min|s', '60' },
{ '1|h|s', '3600' },
-- angolo
{ '1|°|°', '1' },
{ '1|rad|°', '57.295779513082' },
-- temperatura
{ '1|°C|K', '274.15' },
{ '1|°F|K', '255.92777777778' },
{ '1|K|K', '1' }
})
end
function p:test_showunit()
self:preprocess_equals_many('{{#invoke:Conversione/sandbox|main|showunit=1|', '}}', {
-- lunghezza
{ '1|millimetro', '1 mm' },
{ '1|centimetro', '1 cm' },
{ '1|pollice', '1 in' },
{ '1|piede', '1 ft' },
{ '1|iarda', '1 yd' },
{ '1|metro', '1 m' },
{ '1|chilometro', '1 km' },
{ '1|miglio', '1 mi' },
{ '1|miglio nautico', '1 nmi' },
-- area
{ '1|metro quadrato', '1 m<sup>2</sup>' },
{ '1|ettaro', '1 ha' },
{ '1|chilometro quadrato', '1 km<sup>2</sup>' },
{ '1|miglio quadro', '1 mi<sup>2</sup>' },
{ '1|acro', '1 ac' },
-- velocità
{ '1|chilometro orario', '1 km/h' },
{ '1|nodo', '1 kn' },
{ '1|metro al secondo', '1 m/s' },
-- peso
{ '1|oncia', '1 oz' },
{ '1|libbra', '1 lb' },
{ '1|grammo', '1 g' },
{ '1|chilogrammo', '1 kg' },
{ '1|tonnellata', '1 t' },
-- pressione
{ '1|pascal', '1 Pa' },
{ '1|millimetro di mercurio', '1 mmHg' },
{ '1|libbra per pollice quadrato', '1 psi' },
{ '1|bar', '1 bar' },
{ '1|atmosfera', '1 atm' },
-- portata
{ '1|metro cubo al secondo', '1 m<sup>3</sup>/s' },
{ '1|piede cubo al secondo', '1 cu ft/s' },
-- tempo
{ '1|secondo', '1 s' },
{ '1|minuto', '1 min' },
{ '1|ora', '1 h' },
-- angolo
{ '1|grado d\'arco', '1°' },
{ '1|radiante', '1 rad' },
-- temperatura
{ '1|grado Celsius', '1 °C' },
{ '1|grado Fahrenheit', '1 °F' },
{ '1|kelvin', '1 K' }
})
end
function p:test_showunitlong()
self:preprocess_equals_many('{{#invoke:Conversione/sandbox|main|showunitlong=1|', '}}', {
-- lunghezza
{ '1|millimetro', '1 millimetro' },
{ '1|centimetro', '1 centimetro' },
{ '1|pollice', '1 pollice' },
{ '1|piede', '1 piede' },
{ '1|iarda', '1 iarda' },
{ '1|metro', '1 metro' },
{ '1|chilometro', '1 chilometro' },
{ '1|miglio', '1 miglio' },
{ '1|miglio nautico', '1 miglio nautico' },
-- area
{ '1|metro quadrato', '1 metro quadrato' },
{ '1|ettaro', '1 ettaro' },
{ '1|chilometro quadrato', '1 chilometro quadrato' },
{ '1|miglio quadro', '1 miglio quadro' },
{ '1|acro', '1 acro' },
-- velocità
{ '1|chilometro orario', '1 chilometro orario' },
{ '1|nodo', '1 nodo' },
{ '1|metro al secondo', '1 metro al secondo' },
-- peso
{ '1|oncia', '1 oncia' },
{ '1|libbra', '1 libbra' },
{ '1|grammo', '1 grammo' },
{ '1|chilogrammo', '1 chilogrammo' },
{ '1|tonnellata', '1 tonnellata' },
-- pressione
{ '1|pascal', '1 pascal' },
{ '1|millimetro di mercurio', '1 millimetro di mercurio' },
{ '1|libbra per pollice quadrato', '1 libbra per pollice quadrato' },
{ '1|bar', '1 bar' },
{ '1|atmosfera', '1 atmosfera' },
-- portata
{ '1|metro cubo al secondo', '1 metro cubo al secondo' },
{ '1|piede cubo al secondo', '1 piede cubo al secondo' },
-- tempo
{ '1|secondo', '1 secondo' },
{ '1|minuto', '1 minuto' },
{ '1|ora', '1 ora' },
-- angolo
{ '1|grado d\'arco', '1 grado d\'arco' },
{ '1|radiante', '1 radiante' },
-- temperatura
{ '1|grado Celsius', '1 grado Celsius' },
{ '1|grado Fahrenheit', '1 grado Fahrenheit' },
{ '1|kelvin', '1 kelvin' }
})
end
function p:test_showunitlong_plural()
self:preprocess_equals_many('{{#invoke:Conversione/sandbox|main|showunitlong=1|', '}}', {
-- lunghezza
{ '2|millimetro', '2 millimetri' },
{ '2|centimetro', '2 centimetri' },
{ '2|pollice', '2 pollici' },
{ '2|piede', '2 piedi' },
{ '2|iarda', '2 iarde' },
{ '2|metro', '2 metri' },
{ '2|chilometro', '2 chilometri' },
{ '2|miglio', '2 miglia' },
{ '2|miglio nautico', '2 miglia nautiche' },
-- area
{ '2|metro quadrato', '2 metri quadrati' },
{ '2|ettaro', '2 ettari' },
{ '2|chilometro quadrato', '2 chilometri quadrati' },
{ '2|miglio quadro', '2 miglia quadre' },
{ '2|acro', '2 acri' },
-- velocità
{ '2|chilometro orario', '2 chilometri orari' },
{ '2|nodo', '2 nodi' },
{ '2|metro al secondo', '2 metri al secondo' },
-- peso
{ '2|oncia', '2 once' },
{ '2|libbra', '2 libbre' },
{ '2|grammo', '2 grammi' },
{ '2|chilogrammo', '2 chilogrammi' },
{ '2|tonnellata', '2 tonnellate' },
-- pressione
{ '2|pascal', '2 pascal' },
{ '2|millimetro di mercurio', '2 millimetri di mercurio' },
{ '2|libbra per pollice quadrato', '2 libbre per pollice quadrato' },
{ '2|bar', '2 bar' },
{ '2|atmosfera', '2 atmosfere' },
-- portata
{ '2|metro cubo al secondo', '2 metri cubi al secondo' },
{ '2|piede cubo al secondo', '2 piedi cubi al secondo' },
-- tempo
{ '2|secondo', '2 secondi' },
{ '2|minuto', '2 minuti' },
{ '2|ora', '2 ore' },
-- angolo
{ '2|grado d\'arco', '2 gradi d\'arco' },
{ '2|radiante', '2 radianti' },
-- temperatura
{ '2|grado Celsius', '2 gradi Celsius' },
{ '2|grado Fahrenheit', '2 gradi Fahrenheit' },
{ '2|kelvin', '2 kelvin' }
})
end
function p:test_showunitlink()
self:preprocess_equals_many('{{#invoke:Conversione/sandbox|main|showunit=1|showunitlink=1|', '}}', {
-- lunghezza
{ '1|millimetro', '1 [[metro|mm]]' },
{ '1|centimetro', '1 [[metro|cm]]' },
{ '1|pollice', '1 [[pollice (unità di misura)|in]]' },
{ '1|piede', '1 [[piede (unità di misura)|ft]]' },
{ '1|iarda', '1 [[iarda|yd]]' },
{ '1|metro', '1 [[metro|m]]' },
{ '1|chilometro', '1 [[chilometro|km]]' },
{ '1|miglio', '1 [[miglio (unità di misura)|mi]]' },
{ '1|miglio nautico', '1 [[miglio nautico|nmi]]' },
-- area
{ '1|metro quadrato', '1 [[metro quadrato|m<sup>2</sup>]]' },
{ '1|ettaro', '1 [[ettaro|ha]]' },
{ '1|chilometro quadrato', '1 [[chilometro quadrato|km<sup>2</sup>]]' },
{ '1|miglio quadro', '1 [[miglio quadro|mi<sup>2</sup>]]' },
{ '1|acro', '1 [[acro|ac]]' },
-- velocità
{ '1|chilometro orario', '1 [[chilometro orario|km/h]]' },
{ '1|nodo', '1 [[nodo (unità di misura)|kn]]' },
{ '1|metro al secondo', '1 [[metro al secondo|m/s]]' },
-- peso
{ '1|oncia', '1 [[oncia (unità di misura)|oz]]' },
{ '1|libbra', '1 [[libbra|lb]]' },
{ '1|grammo', '1 [[grammo|g]]' },
{ '1|chilogrammo', '1 [[chilogrammo|kg]]' },
{ '1|tonnellata', '1 [[tonnellata|t]]' },
-- pressione
{ '1|pascal', '1 [[pascal (unità di misura)|Pa]]' },
{ '1|millimetro di mercurio', '1 [[torr|mmHg]]' },
{ '1|libbra per pollice quadrato', '1 [[psi (unità di misura)|psi]]' },
{ '1|bar', '1 [[bar (unità di misura)|bar]]' },
{ '1|atmosfera', '1 [[atmosfera (unità di misura)|atm]]' },
-- portata
{ '1|metro cubo al secondo', '1 [[metro cubo al secondo|m<sup>3</sup>/s]]' },
{ '1|piede cubo al secondo', '1 [[metro cubo al secondo|cu ft/s]]' },
-- tempo
{ '1|secondo', '1 [[secondo|s]]' },
{ '1|minuto', '1 [[minuto|min]]' },
{ '1|ora', '1 [[ora|h]]' },
-- angolo
{ '1|grado d\'arco', '1[[grado d\'arco|°]]' },
{ '1|radiante', '1 [[radiante|rad]]' },
-- temperatura
{ '1|grado Celsius', '1 [[grado Celsius|°C]]' },
{ '1|grado Fahrenheit', '1 [[grado Fahrenheit|°F]]' },
{ '1|kelvin', '1 [[kelvin|K]]' }
})
end
function p:test_rounding()
self:preprocess_equals_many('{{#invoke:Conversione/sandbox|main|', '}}', {
{ '1|metro|piede', '3.2808398950131' },
{ '1|metro|piede|rounding=3', '3.281' },
{ '1|metro|piede|rounding=2', '3.28' },
{ '1|metro|piede|rounding=1', '3.3' },
{ '1|metro|piede|rounding=0', '3' },
})
end
function p:test_formatnum()
self:preprocess_equals_many('{{#invoke:Conversione/sandbox|main|', '}}', {
{ '1|mm|m|formatnum=1', '0,001' },
{ '1|m|mm|formatnum=1', '1\194\160000' },
{ '1|mm|m|formatnum=1|showunit=1', '0,001 m' },
{ '1|m|ft|formatnum=1|showunit=1|rounding=3', '3,281 ft' }
})
end
function p:test_temperature()
self:preprocess_equals_many('{{#invoke:Conversione/sandbox|main|', '}}', {
{ '0|K|°C', '-273.15' },
{ '1|K|°C', '-272.15' },
{ '0|K|°F', '-459.67' },
{ '1|K|°F', '-457.87' },
{ '0|°C|K', '273.15' },
{ '1|°C|K', '274.15' },
{ '0|°C|°F', '32' },
{ '1|°C|°F', '33.8' },
{ '0|°F|K', '255.37222222222' },
{ '1|°F|K', '255.92777777778' },
{ '0|°F|°C', '-17.777777777778' },
{ '1|°F|°C', '-17.222222222222' }
})
end
return p
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.