summaryrefslogtreecommitdiffstats
path: root/sigmod/test/TestAbility.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sigmod/test/TestAbility.cpp')
-rw-r--r--sigmod/test/TestAbility.cpp93
1 files changed, 84 insertions, 9 deletions
diff --git a/sigmod/test/TestAbility.cpp b/sigmod/test/TestAbility.cpp
index 6987e8d6..fe8cbf3b 100644
--- a/sigmod/test/TestAbility.cpp
+++ b/sigmod/test/TestAbility.cpp
@@ -23,6 +23,7 @@
#include "../Sigmod.h"
// Qt includes
+#include <QtCore/QFile>
#include <QtTest/QTest>
void TestAbility::initTestCase()
@@ -60,71 +61,145 @@ void TestAbility::cleanup()
void TestAbility::validation()
{
m_ability1->validate();
+
+ QCOMPARE(m_warnings.size(), 0);
+ QCOMPARE(m_errors.size(), 1);
+
+ m_ability1->setName("Foo");
+ m_ability1->validate();
+
+ QCOMPARE(m_warnings.size(), 0);
+ QCOMPARE(m_errors.size(), 1);
}
void TestAbility::saving()
{
+ QDomDocument xml = Sigmod::Object::xml(m_ability1);
+ QFile file("ability.xml");
+
+ QVERIFY(file.open(QIODevice::WriteOnly));
+ file.write(xml.toByteArray());
+ file.close();
}
void TestAbility::loading()
{
+ QDomDocument xml;
+ QFile file("ability.xml");
+
+ m_ability1->setName("Bar");
+ m_ability1->setPriority(4);
+ m_ability1->setDescription("Brief description.");
+ m_ability1->setBattleScript(Sigcore::Script("python", "import os"));
+ m_ability1->setWorldScript(Sigcore::Script("python", "import os"));
+ m_ability1->setPriorityScript(Sigcore::Script("python", "import os"));
+
+ QVERIFY(file.open(QIODevice::ReadOnly));
+ QVERIFY(xml.setContent(&file));
+ m_ability1->load(xml.firstChildElement("Ability"));
+
+ QCOMPARE(m_ability1->name(), QString("Foo"));
+ QCOMPARE(m_ability1->priority(), 0);
+ QCOMPARE(m_ability1->description(), QString(""));
+ QCOMPARE(m_ability1->battleScript(), Sigcore::Script());
+ QCOMPARE(m_ability1->worldScript(), Sigcore::Script());
+ QCOMPARE(m_ability1->priorityScript(), Sigcore::Script());
}
void TestAbility::setName()
{
+ m_ability2->setName("Foo");
+ m_ability2->setName("Foo");
+
+ QCOMPARE(m_ability2->name(), QString("Foo"));
+
+ QCOMPARE(m_changedCount, 1);
- QCOMPARE(m_messages.size(), 0);
QCOMPARE(m_warnings.size(), 0);
QCOMPARE(m_errors.size(), 0);
}
void TestAbility::setPriority()
{
+ m_ability2->setPriority(4);
+ m_ability2->setPriority(4);
+
+ QCOMPARE(m_ability2->priority(), 4);
+
+ QCOMPARE(m_changedCount, 1);
- QCOMPARE(m_messages.size(), 0);
QCOMPARE(m_warnings.size(), 0);
QCOMPARE(m_errors.size(), 0);
}
void TestAbility::setDescription()
{
+ m_ability2->setDescription("Brief description.");
+ m_ability2->setDescription("Brief description.");
+
+ QCOMPARE(m_ability2->description(), QString("Brief description."));
+
+ QCOMPARE(m_changedCount, 1);
- QCOMPARE(m_messages.size(), 0);
QCOMPARE(m_warnings.size(), 0);
QCOMPARE(m_errors.size(), 0);
}
void TestAbility::setBattleScript()
{
- QCOMPARE(m_ability1->battleScript(), Sigcore::Script());
+ QCOMPARE(m_ability2->battleScript(), Sigcore::Script());
- m_ability1->setBattleScript(Sigcore::Script("python", "import os"));
+ m_ability2->setBattleScript(Sigcore::Script("python", "import os"));
+ m_ability2->setBattleScript(Sigcore::Script("python", "import os"));
+
+ QCOMPARE(m_ability2->battleScript(), Sigcore::Script("python", "import os"));
- QCOMPARE(m_ability1->battleScript(), Sigcore::Script("python", "import os"));
+ QCOMPARE(m_changedCount, 1);
- QCOMPARE(m_messages.size(), 0);
QCOMPARE(m_warnings.size(), 0);
QCOMPARE(m_errors.size(), 0);
}
void TestAbility::setWorldScript()
{
+ QCOMPARE(m_ability2->worldScript(), Sigcore::Script());
+
+ m_ability2->setWorldScript(Sigcore::Script("python", "import os"));
+ m_ability2->setWorldScript(Sigcore::Script("python", "import os"));
+
+ QCOMPARE(m_ability2->worldScript(), Sigcore::Script("python", "import os"));
+
+ QCOMPARE(m_changedCount, 1);
- QCOMPARE(m_messages.size(), 0);
QCOMPARE(m_warnings.size(), 0);
QCOMPARE(m_errors.size(), 0);
}
void TestAbility::setPriorityScript()
{
+ QCOMPARE(m_ability2->priorityScript(), Sigcore::Script());
+
+ m_ability2->setPriorityScript(Sigcore::Script("python", "import os"));
+ m_ability2->setPriorityScript(Sigcore::Script("python", "import os"));
+
+ QCOMPARE(m_ability2->priorityScript(), Sigcore::Script("python", "import os"));
+
+ QCOMPARE(m_changedCount, 1);
- QCOMPARE(m_messages.size(), 0);
QCOMPARE(m_warnings.size(), 0);
QCOMPARE(m_errors.size(), 0);
}
void TestAbility::assignment()
{
+ *m_ability3 = *m_ability2;
+
+ QCOMPARE(m_ability3->name(), QString("Foo"));
+ QCOMPARE(m_ability3->priority(), 4);
+ QCOMPARE(m_ability3->description(), QString("Brief description."));
+ QCOMPARE(m_ability3->battleScript(), Sigcore::Script("python", "import os"));
+ QCOMPARE(m_ability3->worldScript(), Sigcore::Script("python", "import os"));
+ QCOMPARE(m_ability3->priorityScript(), Sigcore::Script("python", "import os"));
}
QTEST_APPLESS_MAIN(TestAbility)