Module:Infobox dim/testcases

From English Wikipedia @ Freddythechick
-- 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_sandbox_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','10km'},
		{'type=mountain','10km'},
		{'type=mountain|width_km=no','10km'},
		{'type=city|population=100000','11km'},
		{'type=mountain|length_km=20','10km'},
		{'length_km=20|viewport_cm=25','10km'},
		{'length_km=20|viewport_px=800','10km'},
		{'area_ha=blerg',''},
		{'',''}
	})
end

-- Test scale
function p:test_scale()
	self:preprocess_equals_sandbox_many('{{#invoke:Infobox dim','scale', {
			{'length_km=20|width_km=30','150000'},
			{'length_mi=20|width_mi=30','241401'},
			{'width_km=20|length_km=30','150000'},
			{'width_mi=20|length_mi=30','241401'},
			{'length_km=20','100000'},
			{'length_mi=20','160934'},
			{'width_km=30','150000'},
			{'width_mi=30','241401'},
			{'area_km2=300','169221'},
			{'area_mi2=200','222361'},
			{'area_ha=30,000','169221'},
			{'area_acre=75,000','170210'},
			{'dim=50km','500000'},
			{'scale=100000','100000'},
			{'type=mountain','100000'},
		    {'type=mountain|width_km=no','100000'},
			{'type=city|population=100000','112830'},
			{'type=mountain|length_km=20','100000'},
			{'length_km=20|viewport_cm=25','40000'},
			{'length_km=20|viewport_px=800','41667'},
			{'area_ha=blerg',''},
			{'',''}
		})
end

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

return p