#include #include "otherfaction.h" #include #include #include #include #include #include #include #include #include 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(NULL), test_create_region(0, 0, NULL)); f = test_create_faction(NULL); 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; }