mud/fluffos-2.23-ds03/testsuite/single/tests/efuns/call_out.c
2020-09-06 05:43:07 -07:00

52 lines
853 B
C

object tp;
#ifdef __THIS_PLAYER_IN_CALL_OUT__
#define TPIC ASSERT(this_player() == tp)
#else
#define TPIC
#endif
int called;
void no_args() {
called++;
TPIC;
}
void one_arg(int x) {
called++;
TPIC;
ASSERT(x == 1);
}
void two_arg(int x, int y) {
called++;
TPIC;
ASSERT(x == 1);
ASSERT(y == 2);
}
void finish() {
ASSERT(called == 6);
}
void do_tests() {
mixed calls, call;
tp = this_player();
called = 0;
call_out( (: no_args :), 1);
call_out( "no_args", 2);
call_out( (: one_arg, 1 :), 3);
call_out( "one_arg", 4, 1);
call_out( (: two_arg, 1 :), 5, 2);
call_out( "two_arg", 6, 1, 2);
call_out( "finish", 10);
calls = call_out_info();
foreach(call in calls) {
ASSERT(objectp(call[0]));
ASSERT(stringp(call[1]));
ASSERT(intp(call[2]));
}
}