server/scripts/tests/config.lua

81 lines
2.2 KiB
Lua

local tcname = 'tests.shared.config'
local lunit = require('lunit')
if _VERSION >= 'Lua 5.2' then
_ENV = module(tcname, 'seeall')
else
module(tcname, lunit.testcase, package.seeall)
end
function setup()
eressea.free_game()
end
function test_read_race()
local f
assert_not_nil(eressea.config)
eressea.config.parse('{ "races": { "orc" : {}}}')
f = faction.create("orc", "orc@example.com", "en")
assert_not_nil(f)
end
function test_first_insect()
local f = faction.create('insect')
local r = region.create(0, 0, "plain")
local u = unit.create(f, r, 1)
u:equip('first_unit')
assert_equal(9, u:get_item('nestwarmth'))
end
function test_first_troll()
local f = faction.create('troll')
local r = region.create(0, 0, "plain")
local u = unit.create(f, r, 1)
u:equip('first_unit')
assert_equal(2, u:eff_skill('perception'))
end
function test_first_human()
local f = faction.create('human')
local r = region.create(0, 0, "plain")
local u = unit.create(f, r, 1)
u:equip('first_unit')
assert_not_nil(u.building)
assert_equal('castle', u.building.type)
assert_equal(10, u.building.size)
end
function test_first_aquarian()
local f = faction.create('aquarian')
local r = region.create(0, 0, "plain")
local u = unit.create(f, r, 1)
u:equip('first_unit')
assert_not_nil(u.ship)
assert_equal('boat', u.ship.type)
assert_equal(1, u:get_skill('sailing'))
end
function test_seed_unit()
local r = region.create(0, 0, "plain")
local f = faction.create('human')
local u = unit.create(f, r, 1)
u:equip('seed_unit')
assert_equal(20000, u:get_item('money'))
assert_equal(50, u:get_item('log'))
assert_equal(50, u:get_item('stone'))
assert_equal(1, u:get_skill('melee'))
end
function test_seed_elf()
local r = region.create(0, 0, "plain")
local f = faction.create('human')
local u = unit.create(f, r, 1)
-- quirk: independent of the race, seed_elf contains a fairyboot
u:equip('seed_elf')
assert_equal(1, u:get_item('fairyboot'))
-- all humans start in a building:
assert_not_nil(u.building)
assert_equal('castle', u.building.type)
assert_equal(10, u.building.size)
end