2014-06-29 01:55:28 +02:00
|
|
|
require "lunit"
|
|
|
|
|
|
|
|
module("tests.castles", package.seeall, lunit.testcase )
|
|
|
|
|
|
|
|
function setup()
|
|
|
|
eressea.game.reset()
|
|
|
|
eressea.config.reset()
|
|
|
|
eressea.settings.set("nmr.removenewbie", "0")
|
|
|
|
eressea.settings.set("nmr.timeout", "0")
|
|
|
|
eressea.settings.set("rules.ships.storms", "0")
|
|
|
|
conf = [[{
|
|
|
|
"races": {
|
|
|
|
"human" : {},
|
|
|
|
"halfling" : {}
|
|
|
|
},
|
|
|
|
"buildings" : {
|
|
|
|
"castle" : {
|
|
|
|
"name" : "castle_name",
|
|
|
|
"construction" : [
|
|
|
|
{ "maxsize" : 2 },
|
|
|
|
{ "maxsize" : 10 },
|
|
|
|
{ "maxsize" : 50 },
|
|
|
|
{ "maxsize" : 250 }
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"terrains" : {
|
|
|
|
"plain": { "flags" : [ "land" ] }
|
|
|
|
},
|
|
|
|
"keywords" : {
|
|
|
|
"de" : {
|
|
|
|
"make" : "MACHEN"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}]]
|
|
|
|
assert(eressea.config.parse(conf)==0)
|
|
|
|
end
|
|
|
|
|
2014-06-29 01:58:56 +02:00
|
|
|
function test_small_castles()
|
2014-06-29 01:55:28 +02:00
|
|
|
local r = region.create(0, 0, "plain")
|
|
|
|
local f1 = faction.create("test@eressea.de", "human", "de")
|
|
|
|
local u1 = unit.create(f1, r, 1)
|
|
|
|
local f2 = faction.create("test@eressea.de", "halfling", "de")
|
|
|
|
local u2 = unit.create(f2, r, 1)
|
|
|
|
u1:add_item("money", 10000)
|
|
|
|
|
|
|
|
local b = building.create(r, "castle")
|
|
|
|
u2.building = b
|
|
|
|
u1.building = b
|
|
|
|
|
|
|
|
b.owner = u2
|
|
|
|
assert_equal("site", b:get_typename(7))
|
|
|
|
assert_equal("fortification", b:get_typename(8))
|
|
|
|
b.owner = u1
|
|
|
|
assert_equal("site", b:get_typename(9))
|
|
|
|
assert_equal("fortification", b:get_typename(10))
|
|
|
|
end
|