diff --git a/src/tests.h b/src/tests.h index ce6edda06..a35b5acf3 100644 --- a/src/tests.h +++ b/src/tests.h @@ -14,6 +14,7 @@ extern "C" { struct ship; struct item_type; struct building_type; + struct ship_type; struct terrain_type; void test_cleanup(void); diff --git a/src/util/attrib.test.c b/src/util/attrib.test.c index aba7b25db..be3987bfe 100644 --- a/src/util/attrib.test.c +++ b/src/util/attrib.test.c @@ -17,20 +17,27 @@ static void test_attrib_new(CuTest * tc) static void test_attrib_add(CuTest * tc) { - attrib_type at_test = { "test" }; + attrib_type at_foo = { "foo" }; + attrib_type at_bar = { "bar" }; attrib *a, *alist = 0; - CuAssertPtrNotNull(tc, (a = a_new(&at_test))); + CuAssertPtrNotNull(tc, (a = a_new(&at_foo))); CuAssertPtrEquals(tc, a, a_add(&alist, a)); CuAssertPtrEquals(tc, a, alist); + CuAssertPtrEquals(tc, 0, alist->nexttype); - CuAssertPtrNotNull(tc, (a = a_add(&alist, a_new(&at_test)))); + CuAssertPtrNotNull(tc, (a = a_add(&alist, a_new(&at_foo)))); CuAssertPtrEquals(tc, alist->next, a); - CuAssertPtrEquals(tc, alist->nexttype, a); + CuAssertPtrEquals(tc, 0, alist->nexttype); + + CuAssertPtrNotNull(tc, (a = a_add(&alist, a_new(&at_bar)))); + CuAssertPtrEquals(tc, alist->next->next, a); + CuAssertPtrEquals(tc, a, alist->nexttype); } CuSuite *get_attrib_suite(void) { CuSuite *suite = CuSuiteNew(); SUITE_ADD_TEST(suite, test_attrib_new); + SUITE_ADD_TEST(suite, test_attrib_add); return suite; }