2012-05-23 21:42:14 +02:00
|
|
|
#include <platform.h>
|
|
|
|
|
|
|
|
#include <kernel/types.h>
|
2012-05-24 09:56:54 +02:00
|
|
|
#include <kernel/faction.h>
|
2012-05-23 21:42:14 +02:00
|
|
|
#include <kernel/magic.h>
|
|
|
|
#include <kernel/spell.h>
|
|
|
|
#include <kernel/spellbook.h>
|
|
|
|
#include <util/quicklist.h>
|
|
|
|
#include <util/language.h>
|
|
|
|
|
|
|
|
#include <cutest/CuTest.h>
|
|
|
|
#include <tests.h>
|
|
|
|
|
|
|
|
void test_updatespells(CuTest * tc)
|
|
|
|
{
|
2012-05-24 09:56:54 +02:00
|
|
|
faction * f;
|
2012-05-23 21:42:14 +02:00
|
|
|
spell * sp;
|
2012-05-24 05:22:12 +02:00
|
|
|
spellbook *book = 0;
|
2012-05-23 21:42:14 +02:00
|
|
|
|
|
|
|
test_cleanup();
|
|
|
|
|
|
|
|
f = test_create_faction(0);
|
|
|
|
sp = create_spell("testspell", 0);
|
|
|
|
CuAssertPtrNotNull(tc, sp);
|
2012-05-24 05:22:12 +02:00
|
|
|
|
|
|
|
book = create_spellbook("spells");
|
|
|
|
CuAssertPtrNotNull(tc, book);
|
|
|
|
spellbook_add(book, sp, 1);
|
2012-05-23 21:42:14 +02:00
|
|
|
|
2012-05-24 09:56:54 +02:00
|
|
|
CuAssertIntEquals(tc, 0, ql_length(f->spellbook->spells));
|
|
|
|
pick_random_spells(f, 1, book, 1);
|
|
|
|
CuAssertPtrNotNull(tc, f->spellbook);
|
|
|
|
CuAssertIntEquals(tc, 1, ql_length(f->spellbook->spells));
|
|
|
|
CuAssertPtrNotNull(tc, spellbook_get(f->spellbook, sp));
|
2012-05-23 21:42:14 +02:00
|
|
|
}
|
|
|
|
|
2012-05-24 05:22:12 +02:00
|
|
|
void test_spellbooks(CuTest * tc)
|
|
|
|
{
|
|
|
|
spell *sp;
|
|
|
|
spellbook *herp, *derp;
|
|
|
|
spellbook_entry *entry;
|
|
|
|
const char * sname = "herpderp";
|
|
|
|
test_cleanup();
|
|
|
|
|
|
|
|
herp = get_spellbook("herp");
|
|
|
|
derp = get_spellbook("derp");
|
|
|
|
CuAssertPtrNotNull(tc, herp);
|
|
|
|
CuAssertPtrNotNull(tc, derp);
|
|
|
|
CuAssertTrue(tc, derp!=herp);
|
|
|
|
CuAssertStrEquals(tc, "herp", herp->name);
|
|
|
|
CuAssertStrEquals(tc, "derp", derp->name);
|
|
|
|
|
|
|
|
sp = create_spell(sname, 0);
|
|
|
|
spellbook_add(herp, sp, 1);
|
|
|
|
CuAssertPtrNotNull(tc, sp);
|
2012-05-24 09:56:54 +02:00
|
|
|
entry = spellbook_get(herp, sp);
|
2012-05-24 05:22:12 +02:00
|
|
|
CuAssertPtrNotNull(tc, entry);
|
|
|
|
CuAssertPtrEquals(tc, sp, entry->sp);
|
2012-05-24 09:56:54 +02:00
|
|
|
/* CuAssertPtrEquals(tc, 0, spellbook_get(derp, sname)); */
|
2012-05-24 05:22:12 +02:00
|
|
|
|
|
|
|
test_cleanup();
|
|
|
|
herp = get_spellbook("herp");
|
|
|
|
CuAssertPtrNotNull(tc, herp);
|
2012-05-24 09:56:54 +02:00
|
|
|
/* CuAssertPtrEquals(tc, 0, spellbook_get(herp, sname)); */
|
2012-05-24 05:22:12 +02:00
|
|
|
}
|
|
|
|
|
2012-05-23 21:42:14 +02:00
|
|
|
CuSuite *get_magic_suite(void)
|
|
|
|
{
|
|
|
|
CuSuite *suite = CuSuiteNew();
|
|
|
|
SUITE_ADD_TEST(suite, test_updatespells);
|
2012-05-24 05:22:12 +02:00
|
|
|
SUITE_ADD_TEST(suite, test_spellbooks);
|
2012-05-23 21:42:14 +02:00
|
|
|
return suite;
|
|
|
|
}
|