forked from github/server
57 lines
1.6 KiB
C
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(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;
|
|
}
|