Jump to content

Module:Infobox dim/testcases

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Hike395 (talk | contribs) at 13:00, 4 October 2024 (hardwire values). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
-- Unit tests for [[Module:Infobox dim]]. Click talk page to run tests.
local p = require('Module:UnitTests')

-- Test dim
function p:test_dim()
	self:preprocess_equals_many('{{#invoke:Infobox dim | dim |','}}', {
		{'length_km=20|width_km=30','15km'},
		{'length_mi=20|width_mi=30','24km'},
		{'width_km=20|length_km=30','15km'},
		{'width_mi=20|length_mi=30','24km'},
		{'length_km=20','10km'},
		{'length_mi=20','16km'},
		{'width_km=30','15km'},
		{'width_mi=30','24km'},
		{'area_km2=300','17km'},
		{'area_mi2=200','22km'},
		{'area_ha=30,000','17km'},
		{'area_acre=75,000','17km'},
		{'dim=50km','50km'},
		{'scale=100000','24km'},
		{'type=mountain','24km'},
		{'type=city|population=100000','11km'},
		{'type=mountain|length_km=20','10km'}
	})
	self:preprocess_equals('{{#invoke:Infobox dim | dim }}','')
end

-- Test scale
function p:test_scale()
	self:preprocess_equals_many(
		'{{#invoke:Infobox dim | scale |','}}',{
			{'length_km=20|width_km=30',62500},
			{'length_mi=20|width_mi=30',100584},
			{'width_km=20|length_km=30',62500},
			{'width_mi=20|length_mi=30',100584},
			{'length_km=20',41667},
			{'length_mi=20',67056},
			{'width_km=30',62500},
			{'width_mi=30',100584},
			{'area_km2=300',70509},
			{'area_mi2=200',92650},
			{'area_ha=30,000',70509},
			{'area_acre=75,000',70921},
			{'dim=50km',208333},
			{'scale=100000',100000},
			{'type=mountain',100000},
			{'type=city|population=100000',47013},
			{'type=mountain|length_km=20',41667}			
		})
	self:preprocess_equals('{{#invoke:Infobox dim | scale}}','')
end

-- Test zoom
function p:test_zoom()
	self:preprocess_equals_many(
		'{{#invoke:Infobox dim | zoom |','}}',{
			{'length_km=20|width_km=30',13},
			{'length_mi=20|width_mi=30',12},
			{'width_km=20|length_km=30',13},
			{'width_mi=20|length_mi=30',12},
			{'length_km=20',14},
			{'length_mi=20',13},
			{'width_km=30',13},
			{'width_mi=30',12},
			{'area_km2=300',13},
			{'area_mi2=200',12},
			{'area_ha=30,000',13},
			{'area_acre=75,000',13},
			{'dim=50km',11},
			{'scale=100000',12},
			{'type=mountain',12},
			{'type=city|population=100000',13},
			{'type=mountain|length_km=20',14}			
		})
	self:preprocess_equals('{{#invoke:Infobox dim | zoom}}','')
end

return p