From fe49f01bb65e0282c5d485937d2d97825cd40d5e Mon Sep 17 00:00:00 2001 From: Steffen Mecke Date: Wed, 25 Nov 2015 23:25:59 +0100 Subject: [PATCH] added moa tests for buildingtype_exists --- src/kernel/building.test.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/src/kernel/building.test.c b/src/kernel/building.test.c index abbb335bb..290b012c2 100644 --- a/src/kernel/building.test.c +++ b/src/kernel/building.test.c @@ -385,7 +385,7 @@ static void test_btype_defaults(CuTest *tc) { test_cleanup(); } -static void test_building_type_exists(CuTest * tc) +static void test_buildingtype_exists(CuTest * tc) { region *r; building *b; @@ -394,16 +394,33 @@ static void test_building_type_exists(CuTest * tc) test_cleanup(); test_create_world(); - btype2 = bt_get_or_create("lighthouse"); - btype = bt_get_or_create("castle"); + btype2 = bt_get_or_create("castle"); + assert(btype2); + btype = test_create_buildingtype("Hodor"); + btype->maxsize = 10; r = findregion(-1, 0); b = new_building(btype, r, default_locale); - + b->size = 10; CuAssertPtrNotNull(tc, b); + CuAssertTrue(tc, !buildingtype_exists(r, NULL, false)); - CuAssertTrue(tc, buildingtype_exists(r, btype, false)); CuAssertTrue(tc, !buildingtype_exists(r, btype2, false)); + + CuAssertTrue(tc, buildingtype_exists(r, btype, false)); + b->size = 9; + fset(b, BLD_WORKING); + CuAssertTrue(tc, !buildingtype_exists(r, btype, false)); + btype->maxsize = 0; + freset(b, BLD_WORKING); + CuAssertTrue(tc, buildingtype_exists(r, btype, false)); + btype->maxsize = 10; + b->size = 10; + + fset(b, BLD_WORKING); + CuAssertTrue(tc, buildingtype_exists(r, btype, true)); + freset(b, BLD_WORKING); + CuAssertTrue(tc, !buildingtype_exists(r, btype, true)); } static void test_active_building(CuTest *tc) { @@ -476,7 +493,7 @@ CuSuite *get_building_suite(void) SUITE_ADD_TEST(suite, test_buildingowner_goes_to_same_faction_after_leave); SUITE_ADD_TEST(suite, test_buildingowner_goes_to_empty_unit_after_leave); SUITE_ADD_TEST(suite, test_active_building); - SUITE_ADD_TEST(suite, test_building_type_exists); + SUITE_ADD_TEST(suite, test_buildingtype_exists); SUITE_ADD_TEST(suite, test_safe_building); return suite; }