forked from github/server
fix the morale test, needs to update_owners() first.
This commit is contained in:
parent
b95f663087
commit
c08fba8308
|
@ -78,64 +78,66 @@ function test_morale_alliance()
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_morale_change()
|
function test_morale_change()
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
assert_equal(1, r.morale)
|
assert_equal(1, r.morale)
|
||||||
local f1 = faction.create("noreply@eressea.de", "human", "de")
|
local f1 = faction.create("noreply@eressea.de", "human", "de")
|
||||||
local u1 = unit.create(f1, r, 1)
|
local u1 = unit.create(f1, r, 1)
|
||||||
u1:add_item("money", 10000)
|
u1:add_item("money", 10000)
|
||||||
local f2 = faction.create("noreply@eressea.de", "human", "de")
|
local f2 = faction.create("noreply@eressea.de", "human", "de")
|
||||||
local u2 = unit.create(f2, r, 1)
|
local u2 = unit.create(f2, r, 1)
|
||||||
u2:add_item("money", 10000)
|
u2:add_item("money", 10000)
|
||||||
|
|
||||||
|
local AVG_STEP = 6
|
||||||
|
local b = building.create(r, "castle")
|
||||||
|
b.size = 10
|
||||||
|
u1.building = b
|
||||||
|
|
||||||
local AVG_STEP = 6
|
local function run_a_turn()
|
||||||
local b = building.create(r, "castle")
|
process_orders()
|
||||||
b.size = 10
|
f1.lastturn=get_turn()
|
||||||
u1.building = b
|
f2.lastturn=get_turn()
|
||||||
|
end
|
||||||
local function run_a_turn()
|
|
||||||
process_orders()
|
|
||||||
f1.lastturn=get_turn()
|
|
||||||
f2.lastturn=get_turn()
|
|
||||||
end
|
|
||||||
|
|
||||||
-- reinhardt-regel: nach 2*AVG_STEP ist moral mindestens einmal gestiegen.
|
-- reinhardt-regel: nach 2*AVG_STEP ist moral mindestens einmal gestiegen.
|
||||||
for i=1,AVG_STEP*2 do
|
update_owners()
|
||||||
run_a_turn()
|
|
||||||
assert_not_equal(r.owner, nil)
|
assert_not_equal(r.owner, nil)
|
||||||
end
|
for i=1,AVG_STEP*2 do
|
||||||
assert_not_equal(1, r.morale)
|
run_a_turn()
|
||||||
|
assert_not_equal(r.owner, nil)
|
||||||
|
end
|
||||||
|
assert_not_equal(1, r.morale)
|
||||||
|
|
||||||
-- regel: moral ist nie hoeher als 2 punkte ueber burgen-max.
|
-- regel: moral ist nie hoeher als 2 punkte ueber burgen-max.
|
||||||
for i=1,AVG_STEP*4 do
|
for i=1,AVG_STEP*4 do
|
||||||
|
run_a_turn()
|
||||||
|
end
|
||||||
|
assert_equal(4, r.morale)
|
||||||
|
|
||||||
|
-- auch mit herrscher faellt moral um 1 pro woche, wenn moral > burgstufe
|
||||||
|
r.morale = 6
|
||||||
run_a_turn()
|
run_a_turn()
|
||||||
end
|
assert_equal(5, r.morale)
|
||||||
assert_equal(4, r.morale)
|
run_a_turn()
|
||||||
|
assert_equal(4, r.morale)
|
||||||
-- auch mit herrscher faellt moral um 1 pro woche, wenn moral > burgstufe
|
run_a_turn()
|
||||||
r.morale = 6
|
assert_equal(4, r.morale)
|
||||||
run_a_turn()
|
|
||||||
assert_equal(5, r.morale)
|
-- regel: ohne herrscher fällt die moral jede woche um 1 punkt, bis sie 1 erreicht
|
||||||
run_a_turn()
|
u1.building = nil
|
||||||
assert_equal(4, r.morale)
|
update_owners()
|
||||||
run_a_turn()
|
run_a_turn()
|
||||||
assert_equal(4, r.morale)
|
assert_equal(3, r.morale)
|
||||||
|
run_a_turn()
|
||||||
-- regel: ohne herrscher fällt die moral jede woche um 1 punkt, bis sie 1 erreicht
|
assert_equal(2, r.morale)
|
||||||
u1.building = nil
|
run_a_turn()
|
||||||
update_owners()
|
assert_equal(1, r.morale)
|
||||||
run_a_turn()
|
run_a_turn()
|
||||||
assert_equal(3, r.morale)
|
assert_equal(1, r.morale)
|
||||||
run_a_turn()
|
|
||||||
assert_equal(2, r.morale)
|
-- ohne herrscher ändert sich auch beschissene Moral nicht:
|
||||||
run_a_turn()
|
r.morale = 0
|
||||||
assert_equal(1, r.morale)
|
run_a_turn()
|
||||||
run_a_turn()
|
assert_equal(0, r.morale)
|
||||||
assert_equal(1, r.morale)
|
|
||||||
|
|
||||||
-- ohne herrscher ändert sich auch beschissene Moral nicht:
|
|
||||||
r.morale = 0
|
|
||||||
run_a_turn()
|
|
||||||
assert_equal(0, r.morale)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_morale_old()
|
function test_morale_old()
|
||||||
|
|
Loading…
Reference in New Issue