forked from github/server
add missing tests for recent failures.
This commit is contained in:
parent
a921a6594a
commit
2fbc7a44d5
|
@ -5,6 +5,7 @@
|
||||||
#include <kernel/save.h>
|
#include <kernel/save.h>
|
||||||
#include <kernel/unit.h>
|
#include <kernel/unit.h>
|
||||||
#include <util/attrib.h>
|
#include <util/attrib.h>
|
||||||
|
#include <util/rng.h>
|
||||||
#include <util/gamedata.h>
|
#include <util/gamedata.h>
|
||||||
#include <util/message.h>
|
#include <util/message.h>
|
||||||
#include <binarystore.h>
|
#include <binarystore.h>
|
||||||
|
@ -175,6 +176,43 @@ static void test_curse_cache(CuTest *tc)
|
||||||
test_cleanup();
|
test_cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_curse_ids(CuTest *tc) {
|
||||||
|
const curse_type ct_dummy = { "dummy", CURSETYP_NORM, 0, M_SUMEFFECT, NULL };
|
||||||
|
curse *c1, *c2;
|
||||||
|
attrib *a1 = 0, *a2 = 0;
|
||||||
|
|
||||||
|
test_setup();
|
||||||
|
rng_init(0);
|
||||||
|
c1 = create_curse(NULL, &a1, &ct_dummy, 1, 1, 1, 1);
|
||||||
|
rng_init(0);
|
||||||
|
c2 = create_curse(NULL, &a2, &ct_dummy, 1, 1, 1, 1);
|
||||||
|
CuAssertTrue(tc, c1->no != c2->no);
|
||||||
|
a_remove(&a1, a1);
|
||||||
|
a_remove(&a2, a2);
|
||||||
|
test_cleanup();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test_curse_flags(CuTest *tc) {
|
||||||
|
const curse_type ct_dummy = { "dummy", CURSETYP_NORM, 0, M_SUMEFFECT, NULL };
|
||||||
|
curse *c1, *c2;
|
||||||
|
unit *u;
|
||||||
|
|
||||||
|
test_setup();
|
||||||
|
u = test_create_unit(test_create_faction(0), test_create_region(0, 0, 0));
|
||||||
|
c1 = create_curse(u, &u->attribs, &ct_dummy, 1, 1, 1, 0);
|
||||||
|
CuAssertPtrEquals(tc, u, c1->magician);
|
||||||
|
CuAssertIntEquals(tc, 1, (int)c1->effect);
|
||||||
|
CuAssertIntEquals(tc, 1, (int)c1->vigour);
|
||||||
|
CuAssertIntEquals(tc, 1, c1->duration);
|
||||||
|
c2 = create_curse(u, &u->attribs, &ct_dummy, 1, 1, 1, 0);
|
||||||
|
CuAssertPtrEquals(tc, c1, c2);
|
||||||
|
CuAssertPtrEquals(tc, u, c1->magician);
|
||||||
|
CuAssertIntEquals(tc, 2, (int)c1->effect);
|
||||||
|
CuAssertIntEquals(tc, 1, (int)c1->vigour);
|
||||||
|
CuAssertIntEquals(tc, 1, c1->duration);
|
||||||
|
test_cleanup();
|
||||||
|
}
|
||||||
|
|
||||||
CuSuite *get_curse_suite(void)
|
CuSuite *get_curse_suite(void)
|
||||||
{
|
{
|
||||||
CuSuite *suite = CuSuiteNew();
|
CuSuite *suite = CuSuiteNew();
|
||||||
|
@ -186,5 +224,7 @@ CuSuite *get_curse_suite(void)
|
||||||
SUITE_ADD_TEST(suite, test_bad_dreams);
|
SUITE_ADD_TEST(suite, test_bad_dreams);
|
||||||
SUITE_ADD_TEST(suite, test_memstream);
|
SUITE_ADD_TEST(suite, test_memstream);
|
||||||
SUITE_ADD_TEST(suite, test_write_flag);
|
SUITE_ADD_TEST(suite, test_write_flag);
|
||||||
|
SUITE_ADD_TEST(suite, test_curse_flags);
|
||||||
|
SUITE_ADD_TEST(suite, test_curse_ids);
|
||||||
return suite;
|
return suite;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1717,7 +1717,7 @@ void renumber_unit(unit *u, int no) {
|
||||||
uunhash(u);
|
uunhash(u);
|
||||||
if (!ualias(u)) {
|
if (!ualias(u)) {
|
||||||
attrib *a = a_add(&u->attribs, a_new(&at_alias));
|
attrib *a = a_add(&u->attribs, a_new(&at_alias));
|
||||||
a->data.i = -u->no;
|
a->data.i = -u->no; // TODO: why is the alias negative? confusing!
|
||||||
}
|
}
|
||||||
u->no = no;
|
u->no = no;
|
||||||
uhash(u);
|
uhash(u);
|
||||||
|
|
|
@ -8,9 +8,10 @@
|
||||||
#include <kernel/race.h>
|
#include <kernel/race.h>
|
||||||
#include <kernel/region.h>
|
#include <kernel/region.h>
|
||||||
#include <kernel/spell.h>
|
#include <kernel/spell.h>
|
||||||
|
#include <util/attrib.h>
|
||||||
#include <util/base36.h>
|
#include <util/base36.h>
|
||||||
#include <util/language.h>
|
#include <util/language.h>
|
||||||
#include <util/attrib.h>
|
#include <util/rng.h>
|
||||||
#include <spells/regioncurse.h>
|
#include <spells/regioncurse.h>
|
||||||
#include <alchemy.h>
|
#include <alchemy.h>
|
||||||
#include <laws.h>
|
#include <laws.h>
|
||||||
|
@ -454,6 +455,19 @@ static void test_remove_unit(CuTest *tc) {
|
||||||
test_cleanup();
|
test_cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_renumber_unit(CuTest *tc) {
|
||||||
|
unit *u1, *u2;
|
||||||
|
test_setup();
|
||||||
|
u1 = test_create_unit(test_create_faction(0), test_create_region(0, 0, 0));
|
||||||
|
u2 = test_create_unit(u1->faction, u1->region);
|
||||||
|
rng_init(0);
|
||||||
|
renumber_unit(u1, 0);
|
||||||
|
rng_init(0);
|
||||||
|
renumber_unit(u2, 0);
|
||||||
|
CuAssertTrue(tc, u1->no != u2->no);
|
||||||
|
test_cleanup();
|
||||||
|
}
|
||||||
|
|
||||||
CuSuite *get_unit_suite(void)
|
CuSuite *get_unit_suite(void)
|
||||||
{
|
{
|
||||||
CuSuite *suite = CuSuiteNew();
|
CuSuite *suite = CuSuiteNew();
|
||||||
|
@ -476,5 +490,6 @@ CuSuite *get_unit_suite(void)
|
||||||
SUITE_ADD_TEST(suite, test_age_familiar);
|
SUITE_ADD_TEST(suite, test_age_familiar);
|
||||||
SUITE_ADD_TEST(suite, test_inside_building);
|
SUITE_ADD_TEST(suite, test_inside_building);
|
||||||
SUITE_ADD_TEST(suite, test_limited_skills);
|
SUITE_ADD_TEST(suite, test_limited_skills);
|
||||||
|
SUITE_ADD_TEST(suite, test_renumber_unit);
|
||||||
return suite;
|
return suite;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue