server/src/attributes/otherfaction.test.c
Enno Rehling 69c4595282 Build in Visual Studio 2019
simplify test_create_faction
rewrite lots of tests
2020-12-06 15:47:47 +01:00

57 lines
1.6 KiB
C

#include <platform.h>
#include "otherfaction.h"
#include <kernel/config.h>
#include <kernel/unit.h>
#include <kernel/region.h>
#include <kernel/faction.h>
#include <kernel/attrib.h>
#include <CuTest.h>
#include <tests.h>
#include <stdlib.h>
#include <assert.h>
static void test_rules(CuTest *tc) {
test_setup();
config_set("stealth.faction.other", NULL);
CuAssertIntEquals(tc, true, rule_stealth_other());
config_set("stealth.faction.other", "0");
CuAssertIntEquals(tc, false, rule_stealth_other());
config_set("stealth.faction.other", "1");
CuAssertIntEquals(tc, true, rule_stealth_other());
config_set("stealth.faction.anon", NULL);
CuAssertIntEquals(tc, true, rule_stealth_anon());
config_set("stealth.faction.anon", "0");
CuAssertIntEquals(tc, false, rule_stealth_anon());
config_set("stealth.faction.anon", "1");
CuAssertIntEquals(tc, true, rule_stealth_anon());
test_teardown();
}
static void test_otherfaction(CuTest *tc) {
unit *u;
faction *f;
test_setup();
u = test_create_unit(test_create_faction(), test_create_region(0, 0, NULL));
f = test_create_faction_ex(u->faction->race, u->faction->locale);
config_set("stealth.faction.other", "1");
CuAssertIntEquals(tc, true, rule_stealth_other());
CuAssertPtrEquals(tc, u->faction, visible_faction(f, u));
a_add(&u->attribs, make_otherfaction(f));
CuAssertPtrEquals(tc, f, visible_faction(f, u));
test_teardown();
}
CuSuite *get_otherfaction_suite(void)
{
CuSuite *suite = CuSuiteNew();
SUITE_ADD_TEST(suite, test_rules);
SUITE_ADD_TEST(suite, test_otherfaction);
return suite;
}