Adds tests for ScriptSets
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
This commit is contained in:
parent
fd16152121
commit
3a2c9f4c61
|
@ -0,0 +1,92 @@
|
||||||
|
#ifdef TESTS_BUILD
|
||||||
|
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
#include "../../../extern/catch.hpp"
|
||||||
|
#include "../../../src/Battling/ScriptHandling/ScriptSet.hpp"
|
||||||
|
|
||||||
|
using namespace CreatureLib;
|
||||||
|
using namespace CreatureLib::Battling;
|
||||||
|
|
||||||
|
|
||||||
|
TEST_CASE( "Empty script set count == 0", "[Battling, Scripting]" ) {
|
||||||
|
auto set = ScriptSet();
|
||||||
|
REQUIRE(set.Count() == 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CASE( "Add script to script set", "[Battling, Scripting]" ) {
|
||||||
|
auto set = ScriptSet();
|
||||||
|
auto s = new Script("foobar");
|
||||||
|
set.Add(s);
|
||||||
|
REQUIRE(set.Count() == 1);
|
||||||
|
delete s;
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CASE( "Add script to script set, then retrieve it", "[Battling, Scripting]" ) {
|
||||||
|
auto set = ScriptSet();
|
||||||
|
auto s = new Script("foobar");
|
||||||
|
set.Add(s);
|
||||||
|
REQUIRE(set.Count() == 1);
|
||||||
|
auto get = set.GetIterator()->at(0);
|
||||||
|
REQUIRE(get->GetName() == "foobar");
|
||||||
|
delete s;
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CASE( "Add two scripts to script set", "[Battling, Scripting]" ) {
|
||||||
|
auto set = ScriptSet();
|
||||||
|
auto s = new Script("foobar");
|
||||||
|
auto s2 = new Script("foobar2");
|
||||||
|
set.Add(s);
|
||||||
|
set.Add(s2);
|
||||||
|
REQUIRE(set.Count() == 2);
|
||||||
|
delete s;
|
||||||
|
delete s2;
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CASE( "Add two scripts to script set, then retrieve them", "[Battling, Scripting]" ) {
|
||||||
|
auto set = ScriptSet();
|
||||||
|
auto s = new Script("foobar");
|
||||||
|
auto s2 = new Script("foobar2");
|
||||||
|
set.Add(s);
|
||||||
|
set.Add(s2);
|
||||||
|
REQUIRE(set.Count() == 2);
|
||||||
|
auto get1 = set.GetIterator()->at(0);
|
||||||
|
auto get2 = set.GetIterator()->at(1);
|
||||||
|
REQUIRE(get1->GetName() == "foobar");
|
||||||
|
REQUIRE(get2->GetName() == "foobar2");
|
||||||
|
delete s;
|
||||||
|
delete s2;
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CASE( "Add script to script set, then remove it", "[Battling, Scripting]" ) {
|
||||||
|
auto set = ScriptSet();
|
||||||
|
auto s = new Script("foobar");
|
||||||
|
set.Add(s);
|
||||||
|
REQUIRE(set.Count() == 1);
|
||||||
|
set.Remove("foobar");
|
||||||
|
REQUIRE(set.Count() == 0);
|
||||||
|
auto it = set.GetIterator();
|
||||||
|
REQUIRE(it->empty());
|
||||||
|
delete s;
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CASE( "Add two scripts to script set, then remove them", "[Battling, Scripting]" ) {
|
||||||
|
auto set = ScriptSet();
|
||||||
|
auto s = new Script("foobar");
|
||||||
|
auto s2 = new Script("foobar2");
|
||||||
|
set.Add(s);
|
||||||
|
set.Add(s2);
|
||||||
|
REQUIRE(set.Count() == 2);
|
||||||
|
set.Remove("foobar");
|
||||||
|
REQUIRE(set.Count() == 1);
|
||||||
|
auto it = set.GetIterator();
|
||||||
|
REQUIRE(it->at(0)->GetName() == "foobar2");
|
||||||
|
delete s;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue