#ifdef TESTS_BUILD #include "../../extern/catch.hpp" #include "../../src/Battling/Pokemon/CreatePokemon.hpp" #include "../TestLibrary/TestLibrary.hpp" TEST_CASE("Create and delete Pokemon") { auto lib = TestLibrary::GetLibrary(); auto mon = PkmnLib::Battling::CreatePokemon(lib, "testSpecies"_cnc, 1).Build(); delete mon; } TEST_CASE("Get Nature from Pokemon") { auto lib = TestLibrary::GetLibrary(); auto mon = PkmnLib::Battling::CreatePokemon(lib, "testSpecies"_cnc, 1).WithNature("neutralNature"_cnc).Build(); auto nature = mon->GetNature(); REQUIRE(nature->GetDecreaseModifier() == 1); REQUIRE(nature->GetIncreaseModifier() == 1); delete mon; } TEST_CASE("Get Attack name from Pokemon") { auto lib = TestLibrary::GetLibrary(); auto mon = PkmnLib::Battling::CreatePokemon(lib, "testSpecies"_cnc, 1) .LearnMove("testMove"_cnc, CreatureLib::Battling::AttackLearnMethod::Level) .LearnMove("testMove2"_cnc, CreatureLib::Battling::AttackLearnMethod::Level) .Build(); auto move = mon->GetMoves()[0]; REQUIRE(move->GetMoveData()->GetName() == "testMove"_cnc); auto move2 = mon->GetMoves()[1]; REQUIRE(move2->GetMoveData()->GetName() == "testMove2"_cnc); delete mon; } #endif