forked from github/server
previous test was bad and did not actually exercise prepare_lighthouse.
made a slighlty better test, which is failing for the right reasons.
This commit is contained in:
parent
1ca67a57d2
commit
c4dbb69681
2 changed files with 13 additions and 10 deletions
|
@ -1316,9 +1316,10 @@ static void prepare_reports(void)
|
|||
}
|
||||
|
||||
for (u = r->units; u; u = u->next) {
|
||||
if (u->building && u->building->type == bt_lighthouse) {
|
||||
b = u->building;
|
||||
if (b && b->type == bt_lighthouse) {
|
||||
/* we are in a lighthouse. add the regions we can see from here! */
|
||||
prepare_lighthouse(u->building, u->faction);
|
||||
prepare_lighthouse(b, u->faction);
|
||||
}
|
||||
|
||||
if (u_race(u) != get_race(RC_SPELL) || u->number == RS_FARVISION) {
|
||||
|
|
|
@ -458,7 +458,6 @@ void test_prepare_lighthouse(CuTest *tc) {
|
|||
unit *u;
|
||||
region *r1, *r2;
|
||||
faction *f;
|
||||
report_context ctx;
|
||||
const struct terrain_type *t_ocean, *t_plain;
|
||||
|
||||
test_setup();
|
||||
|
@ -467,23 +466,26 @@ void test_prepare_lighthouse(CuTest *tc) {
|
|||
t_plain = test_create_terrain("plain", LAND_REGION);
|
||||
btype = test_create_buildingtype("lighthouse");
|
||||
btype->maxcapacity = 4;
|
||||
r1 = test_create_region(0, 0, 0);
|
||||
r2 = test_create_region(0, 0, 0);
|
||||
r1 = test_create_region(0, 0, t_plain);
|
||||
r2 = test_create_region(1, 0, t_ocean);
|
||||
b = test_create_building(r1, btype);
|
||||
b->flags |= BLD_MAINTAINED;
|
||||
b->size = 10;
|
||||
update_lighthouse(b);
|
||||
u = test_create_unit(test_create_faction(0), r1);
|
||||
u->number = 4;
|
||||
u->building = b;
|
||||
set_level(u, SK_PERCEPTION, 3);
|
||||
CuAssertIntEquals(tc, 1, lighthouse_range(b, u->faction));
|
||||
CuAssertPtrEquals(tc, b, inside_building(u));
|
||||
u = test_create_unit(f, r1);
|
||||
u->building = b;
|
||||
set_level(u, SK_PERCEPTION, 3);
|
||||
CuAssertIntEquals(tc, 0, lighthouse_range(b, u->faction));
|
||||
CuAssertPtrEquals(tc, NULL, inside_building(u));
|
||||
u->faction->seen = seen_init();
|
||||
prepare_report(&ctx, f);
|
||||
CuAssertPtrEquals(tc, r1, ctx.first);
|
||||
CuAssertPtrEquals(tc, r2, ctx.last);
|
||||
seen_done(f->seen);
|
||||
init_reports();
|
||||
CuAssertPtrNotNull(tc, find_seen(f->seen, r1));
|
||||
CuAssertPtrEquals(tc, 0, find_seen(f->seen, r2));
|
||||
test_cleanup();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue