From Wikipedia, the free encyclopedia

local ScribuntoUnit = require('Module:ScribuntoUnit')

local sc = require('Module:Storm categories/sandbox') -- the module to be tested

local suite = ScribuntoUnit:new()



function suite:testColors()

    self:assertEquals('c0c0c0', string.lower(sc._color()))

    self:assertEquals('c0c0c0', string.lower(sc._color(nil)))

    

    -- Ensure that none of the global scale colors are falling back to default.

    self:assertFalse('c0c0c0' == string.lower(sc._color('disturbance')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('depression')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('storm')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('sts')))

    

    -- Ensure that none of the SSHWS scale colors are falling back to default.

    self:assertFalse('c0c0c0' == string.lower(sc._color('cat1')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('cat2')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('cat3')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('cat4')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('cat5')))

    

    -- nullIfMissing

    self:assertEquals(nil, sc._color('not-an-actual-category', true))

    self:assertFalse(nil == sc._color('cat1', true))

end



function suite:testNames()

    self:assertEquals('Unknown-strength storm', sc._name())

    self:assertEquals('Unknown-strength storm', sc._name(nil))

    

    -- Ensure that none of the global scale colors are falling back to default.

    self:assertFalse('Unknown-strength storm' == sc._name('disturbance'))

    self:assertFalse('Unknown-strength storm' == sc._name('depression'))

    self:assertFalse('Unknown-strength storm' == sc._name('storm'))

    self:assertFalse('Unknown-strength storm' == sc._name('sts'))

    

    -- Ensure that none of the SSHWS scale colors are falling back to default.

    self:assertFalse('Unknown-strength storm' == sc._name('cat1'))

    self:assertFalse('Unknown-strength storm' == sc._name('cat2'))

    self:assertFalse('Unknown-strength storm' == sc._name('cat3'))

    self:assertFalse('Unknown-strength storm' == sc._name('cat4'))

    self:assertFalse('Unknown-strength storm' == sc._name('cat5'))

    

    -- Basin differences

    self:assertFalse(sc._name('cat1') == sc._name('cat1', 'atl'))

    self:assertFalse(sc._name('cat1') == sc._name('cat1', 'wpac'))

    -- Default fallback

    self:assertEquals(sc._name('cat1', 'default'), sc._name('cat1', 'basin-that-does-not-exist'))

    

    -- nullIfMissing

    self:assertEquals(nil, sc._name('not-an-actual-category', nil, true))

    self:assertFalse(nil == sc._name('cat1', nil, true))

    self:assertFalse(nil == sc._name('cat1', 'atl', true))

    self:assertFalse(nil == sc._name('cat1', 'wpac', true))

end



function suite:testSortkey()

    self:assertEquals(0, sc._sortkey())

    self:assertEquals(0, sc._sortkey(nil))

    

    -- Ensure that none of the global scale colors are falling back to default.

    self:assertFalse(0 == sc._sortkey('disturbance'))

    self:assertFalse(0 == sc._sortkey('depression'))

    self:assertFalse(0 == sc._sortkey('storm'))

    self:assertFalse(0 == sc._sortkey('sts'))

    

    -- Ensure that none of the SSHWS scale colors are falling back to default.

    self:assertFalse(0 == sc._sortkey('cat1'))

    self:assertFalse(0 == sc._sortkey('cat2'))

    self:assertFalse(0 == sc._sortkey('cat3'))

    self:assertFalse(0 == sc._sortkey('cat4'))

    self:assertFalse(0 == sc._sortkey('cat5'))

    

    -- Ensure that sortkeys are following the proper order.

    self:assertTrue(sc._sortkey('cat4') < sc._sortkey('cat5'))

    self:assertTrue(sc._sortkey('cat3') < sc._sortkey('cat4'))

    self:assertTrue(sc._sortkey('cat2') < sc._sortkey('cat3'))

    self:assertTrue(sc._sortkey('cat1') < sc._sortkey('cat2'))

    self:assertTrue(sc._sortkey('sts') < sc._sortkey('cat1'))

    self:assertTrue(sc._sortkey('storm') < sc._sortkey('sts'))

    self:assertTrue(sc._sortkey('depression') < sc._sortkey('storm'))

    self:assertTrue(sc._sortkey('disturbance') < sc._sortkey('depression'))

    self:assertTrue(sc._sortkey('unknown') < sc._sortkey('disturbance'))

    

    -- nullIfMissing

    self:assertEquals(nil, sc._sortkey('not-an-actual-category', true))

    self:assertFalse(nil == sc._sortkey('cat1', true))

end



function suite:testIcons()

    self:assertEquals("'''?'''", sc._icon())

    self:assertEquals("'''?'''", sc._icon(nil))

    

    -- Ensure that none of the global scale colors are falling back to default.

    self:assertFalse("'''?'''" == sc._icon('disturbance'))

    self:assertFalse("'''?'''" == sc._icon('depression'))

    self:assertFalse("'''?'''" == sc._icon('storm'))

    self:assertFalse("'''?'''" == sc._icon('sts'))

    

    -- Ensure that none of the SSHWS scale colors are falling back to default.

    self:assertFalse("'''?'''" == sc._icon('cat1'))

    self:assertFalse("'''?'''" == sc._icon('cat2'))

    self:assertFalse("'''?'''" == sc._icon('cat3'))

    self:assertFalse("'''?'''" == sc._icon('cat4'))

    self:assertFalse("'''?'''" == sc._icon('cat5'))

    

    -- nullIfMissing

    self:assertEquals(nil, sc._icon('not-an-actual-category', true))

    self:assertFalse(nil == sc._icon('cat1', true))

end



function suite:testIsEqual()

	-- Equal existing categories

	self:assertTrue(sc._isEqual("depression", "depression"))

	-- Equal aliases

	self:assertTrue(sc._isEqual("depression", "td"))

	self:assertTrue(sc._isEqual("severets", "severe"))

	self:assertTrue(sc._isEqual("shdepression", "depression"))

	

	-- Not equal existing categories

	self:assertFalse(sc._isEqual("depression", "unknown"))

	self:assertFalse(sc._isEqual("depression", "cat5"))

	self:assertFalse(sc._isEqual("unknown", "cat5"))

	-- '5' is a generic ID that only has a color and an

	self:assertFalse(sc._isEqual("5", "cat5"))

	self:assertFalse(sc._isEqual("a5", "aus5"))

	self:assertFalse(sc._isEqual("aus5", "cat5"))

	

	--== EDGE CASES

	-- Only one category exists

	self:assertFalse(sc._isEqual("depression", "not-an-actual-category"))

	-- None of the categories exist

	self:assertFalse(sc._isEqual("not-an-actual-category", "also-not-an-actual-category"))

	-- None of the categories exist but the IDs are equal

	self:assertTrue(sc._isEqual("not-an-actual-category", "not-an-actual-category"))

	-- Nil argument 1

	self:assertFalse(sc._isEqual(nil, "not-an-actual-category"))

	-- Nil argument 2

	self:assertFalse(sc._isEqual("not-an-actual-category", nil))

	-- Nil arguments (but equal)

	self:assertFalse(sc._isEqual(nil, nil))

	-- Missing argument 2

	self:assertFalse(sc._isEqual("not-an-actual-category"))

	-- Missing arguments

	self:assertFalse(sc._isEqual())

end



return suite
From Wikipedia, the free encyclopedia

local ScribuntoUnit = require('Module:ScribuntoUnit')

local sc = require('Module:Storm categories/sandbox') -- the module to be tested

local suite = ScribuntoUnit:new()



function suite:testColors()

    self:assertEquals('c0c0c0', string.lower(sc._color()))

    self:assertEquals('c0c0c0', string.lower(sc._color(nil)))

    

    -- Ensure that none of the global scale colors are falling back to default.

    self:assertFalse('c0c0c0' == string.lower(sc._color('disturbance')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('depression')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('storm')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('sts')))

    

    -- Ensure that none of the SSHWS scale colors are falling back to default.

    self:assertFalse('c0c0c0' == string.lower(sc._color('cat1')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('cat2')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('cat3')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('cat4')))

    self:assertFalse('c0c0c0' == string.lower(sc._color('cat5')))

    

    -- nullIfMissing

    self:assertEquals(nil, sc._color('not-an-actual-category', true))

    self:assertFalse(nil == sc._color('cat1', true))

end



function suite:testNames()

    self:assertEquals('Unknown-strength storm', sc._name())

    self:assertEquals('Unknown-strength storm', sc._name(nil))

    

    -- Ensure that none of the global scale colors are falling back to default.

    self:assertFalse('Unknown-strength storm' == sc._name('disturbance'))

    self:assertFalse('Unknown-strength storm' == sc._name('depression'))

    self:assertFalse('Unknown-strength storm' == sc._name('storm'))

    self:assertFalse('Unknown-strength storm' == sc._name('sts'))

    

    -- Ensure that none of the SSHWS scale colors are falling back to default.

    self:assertFalse('Unknown-strength storm' == sc._name('cat1'))

    self:assertFalse('Unknown-strength storm' == sc._name('cat2'))

    self:assertFalse('Unknown-strength storm' == sc._name('cat3'))

    self:assertFalse('Unknown-strength storm' == sc._name('cat4'))

    self:assertFalse('Unknown-strength storm' == sc._name('cat5'))

    

    -- Basin differences

    self:assertFalse(sc._name('cat1') == sc._name('cat1', 'atl'))

    self:assertFalse(sc._name('cat1') == sc._name('cat1', 'wpac'))

    -- Default fallback

    self:assertEquals(sc._name('cat1', 'default'), sc._name('cat1', 'basin-that-does-not-exist'))

    

    -- nullIfMissing

    self:assertEquals(nil, sc._name('not-an-actual-category', nil, true))

    self:assertFalse(nil == sc._name('cat1', nil, true))

    self:assertFalse(nil == sc._name('cat1', 'atl', true))

    self:assertFalse(nil == sc._name('cat1', 'wpac', true))

end



function suite:testSortkey()

    self:assertEquals(0, sc._sortkey())

    self:assertEquals(0, sc._sortkey(nil))

    

    -- Ensure that none of the global scale colors are falling back to default.

    self:assertFalse(0 == sc._sortkey('disturbance'))

    self:assertFalse(0 == sc._sortkey('depression'))

    self:assertFalse(0 == sc._sortkey('storm'))

    self:assertFalse(0 == sc._sortkey('sts'))

    

    -- Ensure that none of the SSHWS scale colors are falling back to default.

    self:assertFalse(0 == sc._sortkey('cat1'))

    self:assertFalse(0 == sc._sortkey('cat2'))

    self:assertFalse(0 == sc._sortkey('cat3'))

    self:assertFalse(0 == sc._sortkey('cat4'))

    self:assertFalse(0 == sc._sortkey('cat5'))

    

    -- Ensure that sortkeys are following the proper order.

    self:assertTrue(sc._sortkey('cat4') < sc._sortkey('cat5'))

    self:assertTrue(sc._sortkey('cat3') < sc._sortkey('cat4'))

    self:assertTrue(sc._sortkey('cat2') < sc._sortkey('cat3'))

    self:assertTrue(sc._sortkey('cat1') < sc._sortkey('cat2'))

    self:assertTrue(sc._sortkey('sts') < sc._sortkey('cat1'))

    self:assertTrue(sc._sortkey('storm') < sc._sortkey('sts'))

    self:assertTrue(sc._sortkey('depression') < sc._sortkey('storm'))

    self:assertTrue(sc._sortkey('disturbance') < sc._sortkey('depression'))

    self:assertTrue(sc._sortkey('unknown') < sc._sortkey('disturbance'))

    

    -- nullIfMissing

    self:assertEquals(nil, sc._sortkey('not-an-actual-category', true))

    self:assertFalse(nil == sc._sortkey('cat1', true))

end



function suite:testIcons()

    self:assertEquals("'''?'''", sc._icon())

    self:assertEquals("'''?'''", sc._icon(nil))

    

    -- Ensure that none of the global scale colors are falling back to default.

    self:assertFalse("'''?'''" == sc._icon('disturbance'))

    self:assertFalse("'''?'''" == sc._icon('depression'))

    self:assertFalse("'''?'''" == sc._icon('storm'))

    self:assertFalse("'''?'''" == sc._icon('sts'))

    

    -- Ensure that none of the SSHWS scale colors are falling back to default.

    self:assertFalse("'''?'''" == sc._icon('cat1'))

    self:assertFalse("'''?'''" == sc._icon('cat2'))

    self:assertFalse("'''?'''" == sc._icon('cat3'))

    self:assertFalse("'''?'''" == sc._icon('cat4'))

    self:assertFalse("'''?'''" == sc._icon('cat5'))

    

    -- nullIfMissing

    self:assertEquals(nil, sc._icon('not-an-actual-category', true))

    self:assertFalse(nil == sc._icon('cat1', true))

end



function suite:testIsEqual()

	-- Equal existing categories

	self:assertTrue(sc._isEqual("depression", "depression"))

	-- Equal aliases

	self:assertTrue(sc._isEqual("depression", "td"))

	self:assertTrue(sc._isEqual("severets", "severe"))

	self:assertTrue(sc._isEqual("shdepression", "depression"))

	

	-- Not equal existing categories

	self:assertFalse(sc._isEqual("depression", "unknown"))

	self:assertFalse(sc._isEqual("depression", "cat5"))

	self:assertFalse(sc._isEqual("unknown", "cat5"))

	-- '5' is a generic ID that only has a color and an

	self:assertFalse(sc._isEqual("5", "cat5"))

	self:assertFalse(sc._isEqual("a5", "aus5"))

	self:assertFalse(sc._isEqual("aus5", "cat5"))

	

	--== EDGE CASES

	-- Only one category exists

	self:assertFalse(sc._isEqual("depression", "not-an-actual-category"))

	-- None of the categories exist

	self:assertFalse(sc._isEqual("not-an-actual-category", "also-not-an-actual-category"))

	-- None of the categories exist but the IDs are equal

	self:assertTrue(sc._isEqual("not-an-actual-category", "not-an-actual-category"))

	-- Nil argument 1

	self:assertFalse(sc._isEqual(nil, "not-an-actual-category"))

	-- Nil argument 2

	self:assertFalse(sc._isEqual("not-an-actual-category", nil))

	-- Nil arguments (but equal)

	self:assertFalse(sc._isEqual(nil, nil))

	-- Missing argument 2

	self:assertFalse(sc._isEqual("not-an-actual-category"))

	-- Missing arguments

	self:assertFalse(sc._isEqual())

end



return suite

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook