Modul:Sorterbart tall/testtilfeller

Fra Wikipedia, den frie encyklopedi


--local sbt = require('Module:Sorterbart tall/sandkasse')
local sbt = require('Module:Sorterbart tall')

local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()

local magnitude = sbt.magnitude
-- local sortableNumber = sbt.sortableNumber
local sortableNumberFormat1 = sbt.sortableNumberFormat1
local sortableNumberFormat2 = sbt.sortableNumberFormat2

--------------------------------------------------------------------------------
-- Basic tests
--------------------------------------------------------------------------------

function suite:test_magnitude0()
	self:assertEquals(nil, magnitude(0))
end

function suite:test_magnitudePositive42()
	self:assertEquals(1, magnitude(42))
end

function suite:test_magnitudePositive1984()
	self:assertEquals(3, magnitude(1984))
end

function suite:test_magnitude1()
	self:assertEquals(3, magnitude(1000))
end

function suite:test_magnitude2()
	self:assertEquals(2, magnitude(999.99))
end

function suite:test_magnitude3()
	self:assertEquals(0, magnitude(5))
end

function suite:test_magnitude4()
	self:assertEquals(-1, magnitude(0.523))
end

function suite:test_magnitude5()
	self:assertEquals(-3, magnitude(0.005))
end

function suite:test_magnitude6()
	self:assertEquals(-2, magnitude(-0.01234))
end

function suite:test_magnitude7()
	self:assertEquals(-1, magnitude(-0.7))
end

function suite:test_magnitude8()
	self:assertEquals(0, magnitude(-2))
end

function suite:test_magnitude9()
	self:assertEquals(1, magnitude(-55))
end

function suite:test_magnitude10()
	self:assertEquals(2, magnitude(-155))
end

function suite:test_magnitude11()
	self:assertEquals(12, magnitude(-3000000000000))
end

function suite:test_sortableNumberFormat1()
	self:assertSameResult('{{sts|0}}', sortableNumberFormat1(0))
	self:assertSameResult('{{sts|89}}', sortableNumberFormat1(89))
	self:assertSameResult('{{sts|-400}}', sortableNumberFormat1(-400))
	self:assertSameResult('{{sts|0.87}}', sortableNumberFormat1(0.87))
	self:assertSameResult('{{sts|-0.0005}}', sortableNumberFormat1(-0.0005))
	self:assertSameResult('{{sts|2001}}', sortableNumberFormat1(2001))
end

function suite:test_sortableNumberFormat2()
	self:assertSameResult('{{nts|0}}', sortableNumberFormat2(0))
	self:assertSameResult('{{nts|80009}}', sortableNumberFormat2(80009))
	self:assertSameResult('{{nts|-4122100}}', sortableNumberFormat2(-4122100))
	self:assertSameResult('{{nts|0.870001}}', sortableNumberFormat2(0.870001))
	self:assertSameResult('{{nts|-0.0005}}', sortableNumberFormat2(-0.0005))
	self:assertSameResult('{{nts|2001}}', sortableNumberFormat2(2001))
end

function suite:test_sortableNumberFormat2PrefixPostfix()
	self:assertSameResult('{{nts| 100 | fortekst = Pre | ettertekst = Post }}', sortableNumberFormat2(100, 'Pre', 'Post'))
	self:assertSameResult('{{nts| 100 | fortekst =Pre| ettertekst =Post}}', sortableNumberFormat2(100, 'Pre', 'Post'))
end

return suite