Module:GameData/EvoCreo2/testcases
Appearance
Documentation for this module may be created at Module:GameData/EvoCreo2/testcases/doc
require( 'strict' )
local ScribuntoUnit = require( 'Module:ScribuntoUnit' )
local ec2 = require( 'Module:GameData/EvoCreo2' )
local suite = ScribuntoUnit:new()
function suite:testDecodeValid()
local list = ec2.decodeCreoTable( '{"creoTable":[{"name":"Fyroey","id":1}]}' )
self:assertEquals( 1, #list )
self:assertEquals( 'Fyroey', list[1].name )
end
function suite:testDecodeSentinel()
self:assertTrue( ec2.decodeCreoTable( 'Could not retrieve API Data' ) == nil )
end
function suite:testDecodeEmpty()
self:assertTrue( ec2.decodeCreoTable( '' ) == nil )
end
function suite:testDecodeNil()
self:assertTrue( ec2.decodeCreoTable( nil ) == nil )
end
function suite:testDecodeMalformed()
self:assertTrue( ec2.decodeCreoTable( '{not json' ) == nil )
end
function suite:testDecodeMissingCreoTable()
self:assertTrue( ec2.decodeCreoTable( '{"foo":1}' ) == nil )
end
function suite:testFindHit()
local list = { { name = 'A' }, { name = 'B' } }
self:assertEquals( 'B', ec2.findCreo( list, 'B' ).name )
end
function suite:testFindMiss()
self:assertTrue( ec2.findCreo( { { name = 'A' } }, 'Z' ) == nil )
end
function suite:testFindNilList()
self:assertTrue( ec2.findCreo( nil, 'A' ) == nil )
end
return suite