52 lines
853 B
C
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]));
|
|
}
|
|
}
|