#ifdef TESTS_BUILD #include "../../extern/catch.hpp" #include "../../src/Battling/Models/CreateCreature.hpp" #include "../TestLibrary/TestLibrary.hpp" using namespace CreatureLib::Battling; TEST_CASE("Create basic creature", "[Library]") { auto library = TestLibrary::Get(); auto creature = CreateCreature(library, "testSpecies1"_cnc, 1).Create(); delete creature; } TEST_CASE("Get creature species", "[Library]") { auto library = TestLibrary::Get(); auto creature = CreateCreature(library, "testSpecies1"_cnc, 1).Create(); REQUIRE(creature->GetSpecies()->GetName() == "testSpecies1"_cnc); delete creature; } TEST_CASE("Get creature level", "[Library]") { auto library = TestLibrary::Get(); auto creature = CreateCreature(library, "testSpecies1"_cnc, 1).Create(); REQUIRE(creature->GetLevel() == 1); delete creature; } TEST_CASE("Get creature variant when unset", "[Library]") { auto library = TestLibrary::Get(); auto creature = CreateCreature(library, "testSpecies1"_cnc, 1).Create(); REQUIRE(creature->GetVariant()->GetName() == "default"); delete creature; } TEST_CASE("Get creature nickname when unset", "[Library]") { auto library = TestLibrary::Get(); auto creature = CreateCreature(library, "testSpecies1"_cnc, 1).WithNickname("foo").Create(); REQUIRE(creature->GetNickname() == "foo"); delete creature; } TEST_CASE("Increase creature stat boost", "[Library]") { auto library = TestLibrary::Get(); auto creature = CreateCreature(library, "testSpecies1"_cnc, 1).Create(); creature->ChangeStatBoost(CreatureLib::Library::Statistic::PhysicalAttack, 6); REQUIRE(creature->GetStatBoost(CreatureLib::Library::Statistic::PhysicalAttack) == 6); delete creature; } TEST_CASE("Override Creature talent", "[Library]") { auto library = TestLibrary::Get(); auto creature = CreateCreature(library, "testSpecies1"_cnc, 1).Create(); creature->OverrideActiveTalent("foobar"); REQUIRE(creature->GetActiveTalent() == "foobar"); delete creature; } #endif