Modul:Sorterbart tall/testtilfeller
--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