Initial support for setting battle choices.
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
68
tests/BattleTests/ChoiceSetTests.cpp
Normal file
68
tests/BattleTests/ChoiceSetTests.cpp
Normal 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
|
||||
Reference in New Issue
Block a user