Initial support for setting battle choices.
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2019-10-29 11:19:25 +01:00
parent 3938500595
commit 99315174a8
12 changed files with 234 additions and 5 deletions

View File

@@ -0,0 +1,68 @@
#ifdef TESTS_BUILD
#include "../TestLibrary/TestLibrary.cpp"
#include "../../src/Battling/Models/BattleSide.hpp"
#include "../../src/Battling/Models/CreateCreature.hpp"
#include "../../src/Battling/TurnChoices/PassTurnChoice.hpp"
using namespace CreatureLib::Battling;
TEST_CASE( "Set Choice one-sized side", "[Battling]" ) {
auto side = BattleSide(1);
auto c = CreateCreature(GetLibrary(), "testSpecies1", 5).Create();
side.SetCreature(c, 0);
auto choice = new PassTurnChoice(c);
side.SetChoice(choice);
delete choice;
delete c;
}
TEST_CASE( "Set Choice one-sized side, validate all choices set", "[Battling]" ) {
auto side = BattleSide(1);
auto c = CreateCreature(GetLibrary(), "testSpecies1", 5).Create();
side.SetCreature(c, 0);
auto choice = new PassTurnChoice(c);
REQUIRE_FALSE(side.AllChoicesSet());
side.SetChoice(choice);
REQUIRE(side.AllChoicesSet());
delete choice;
delete c;
}
TEST_CASE( "Set Choice two-sized side", "[Battling]" ) {
auto side = BattleSide(2);
auto c1 = CreateCreature(GetLibrary(), "testSpecies1", 5).Create();
auto c2 = CreateCreature(GetLibrary(), "testSpecies1", 5).Create();
side.SetCreature(c1, 0);
side.SetCreature(c2, 1);
auto choice1 = new PassTurnChoice(c1);
auto choice2 = new PassTurnChoice(c2);
side.SetChoice(choice1);
side.SetChoice(choice2);
delete choice1;
delete choice2;
delete c1;
delete c2;
}
TEST_CASE( "Set Choice two-sized side, validate all choices set", "[Battling]" ) {
auto side = BattleSide(2);
auto c1 = CreateCreature(GetLibrary(), "testSpecies1", 5).Create();
auto c2 = CreateCreature(GetLibrary(), "testSpecies1", 5).Create();
side.SetCreature(c1, 0);
side.SetCreature(c2, 1);
auto choice1 = new PassTurnChoice(c1);
auto choice2 = new PassTurnChoice(c2);
REQUIRE_FALSE(side.AllChoicesSet());
side.SetChoice(choice1);
REQUIRE_FALSE(side.AllChoicesSet());
side.SetChoice(choice2);
REQUIRE(side.AllChoicesSet());
delete choice1;
delete choice2;
delete c1;
delete c2;
}
#endif