forked from github/server
enhance foolpotion test.
This commit is contained in:
parent
6481acac76
commit
0b20c379b6
3 changed files with 27 additions and 10 deletions
|
@ -133,23 +133,26 @@ function test_foolpotion()
|
||||||
local f = faction.create("human", "noreply@eressea.de", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local u = unit.create(f, r, 1)
|
local u = unit.create(f, r, 1)
|
||||||
turn_begin()
|
turn_begin()
|
||||||
u:add_item("p7", 1)
|
u:add_item('p7', 2)
|
||||||
u:clear_orders()
|
u:clear_orders()
|
||||||
u:add_order("BENUTZEN 1 Dumpfbackenbrot 4242")
|
u:add_order("BENUTZEN 1 Dumpfbackenbrot 4242")
|
||||||
turn_process()
|
turn_process()
|
||||||
assert_equal(1, u:get_item("p7"))
|
assert_equal(2, u:get_item('p7'))
|
||||||
assert_equal(1, f:count_msg_type('feedback_unit_not_found'))
|
assert_equal(1, f:count_msg_type('feedback_unit_not_found'))
|
||||||
local u2 = unit.create(f, r, 1)
|
local u2 = unit.create(f, r, 1)
|
||||||
|
|
||||||
u:clear_orders()
|
u:clear_orders()
|
||||||
u:add_order("BENUTZEN 1 Dumpfbackenbrot " .. itoa36(u2.id))
|
u:add_order("BENUTZEN 2 Dumpfbackenbrot " .. itoa36(u2.id))
|
||||||
turn_process()
|
turn_process()
|
||||||
assert_equal(1, u:get_item("p7"))
|
assert_equal(2, u:get_item('p7'))
|
||||||
assert_equal(1, f:count_msg_type('error64'))
|
assert_equal(1, f:count_msg_type('error64'))
|
||||||
|
|
||||||
u:set_skill("stealth", 1);
|
u:set_skill("stealth", 1)
|
||||||
|
u2:set_skill('crossbow', 1)
|
||||||
turn_process()
|
turn_process()
|
||||||
assert_equal(0, u:get_item("p7"))
|
assert_equal(0, u:get_item('p7'))
|
||||||
|
assert_equal(0, u2:effect('p7'))
|
||||||
|
assert_equal(0, u2:get_skill('crossbow'))
|
||||||
assert_equal(1, f:count_msg_type('givedumb'))
|
assert_equal(1, f:count_msg_type('givedumb'))
|
||||||
turn_end()
|
turn_end()
|
||||||
end
|
end
|
||||||
|
|
|
@ -499,15 +499,15 @@ static void test_battle_skilldiff_building(CuTest *tc)
|
||||||
test_teardown();
|
test_teardown();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void assert_skill(CuTest *tc, char *msg, unit *u, skill_t sk, int level, int week, int weekmax)
|
static void assert_skill(CuTest *tc, const char *msg, unit *u, skill_t sk, int level, int week, int weekmax)
|
||||||
{
|
{
|
||||||
skill *sv = unit_skill(u, sk);
|
skill *sv = unit_skill(u, sk);
|
||||||
char buf[256];
|
char buf[256];
|
||||||
if (sv) {
|
if (sv) {
|
||||||
sprintf(buf, "%s level %d != %d", msg, sv->level, level);
|
sprintf(buf, "%s level %d != %d", msg, sv->level, level);
|
||||||
CuAssertIntEquals_Msg(tc, (const char *)&buf, level, sv->level);
|
CuAssertIntEquals_Msg(tc, buf, level, sv->level);
|
||||||
sprintf(buf, "%s week %d !<= %d !<= %d", msg, week, sv->weeks, weekmax);
|
sprintf(buf, "%s week %d !<= %d !<= %d", msg, week, sv->weeks, weekmax);
|
||||||
CuAssert(tc, (const char *)&buf, sv->weeks >= week && sv->weeks <= weekmax);
|
CuAssert(tc, buf, sv->weeks >= week && sv->weeks <= weekmax);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
CuAssertIntEquals_Msg(tc, msg, level, 0);
|
CuAssertIntEquals_Msg(tc, msg, level, 0);
|
||||||
|
@ -518,7 +518,7 @@ static void assert_skill(CuTest *tc, char *msg, unit *u, skill_t sk, int level,
|
||||||
static void test_drain_exp(CuTest *tc)
|
static void test_drain_exp(CuTest *tc)
|
||||||
{
|
{
|
||||||
unit *u;
|
unit *u;
|
||||||
char *msg;
|
const char *msg;
|
||||||
int i;
|
int i;
|
||||||
double rand;
|
double rand;
|
||||||
|
|
||||||
|
|
|
@ -505,6 +505,19 @@ static int tolua_unit_addnotice(lua_State * L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int bind_unit_effect(lua_State * L)
|
||||||
|
{
|
||||||
|
unit *u = (unit *)tolua_tousertype(L, 1, NULL);
|
||||||
|
const char *str = tolua_tostring(L, 2, NULL);
|
||||||
|
const item_type *itype = it_find(str);
|
||||||
|
if (itype) {
|
||||||
|
int effect = get_effect(u, itype);
|
||||||
|
lua_pushinteger(L, effect);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void unit_castspell(unit * u, const char *name, int level)
|
static void unit_castspell(unit * u, const char *name, int level)
|
||||||
{
|
{
|
||||||
spell *sp = find_spell(name);
|
spell *sp = find_spell(name);
|
||||||
|
@ -1030,6 +1043,7 @@ void tolua_unit_open(lua_State * L)
|
||||||
tolua_function(L, TOLUA_CAST "add_spell", tolua_unit_addspell);
|
tolua_function(L, TOLUA_CAST "add_spell", tolua_unit_addspell);
|
||||||
tolua_variable(L, TOLUA_CAST "spells", tolua_unit_get_spells, 0);
|
tolua_variable(L, TOLUA_CAST "spells", tolua_unit_get_spells, 0);
|
||||||
tolua_function(L, TOLUA_CAST "cast_spell", tolua_unit_castspell);
|
tolua_function(L, TOLUA_CAST "cast_spell", tolua_unit_castspell);
|
||||||
|
tolua_function(L, TOLUA_CAST "effect", bind_unit_effect);
|
||||||
|
|
||||||
tolua_variable(L, TOLUA_CAST "magic", tolua_unit_get_magic,
|
tolua_variable(L, TOLUA_CAST "magic", tolua_unit_get_magic,
|
||||||
tolua_unit_set_magic);
|
tolua_unit_set_magic);
|
||||||
|
|
Loading…
Reference in a new issue