#ifdef TESTS_BUILD #define CATCH_CONFIG_MAIN #include "../../extern/catch.hpp" #include "../../src/Library/Species/SpeciesLibrary.hpp" TEST_CASE("Able to build and destroy empty library", "library") { auto lib = new PkmnLib::Library::SpeciesLibrary(); delete lib; } TEST_CASE("Able to build, destroy and insert library", "library") { auto lib = new PkmnLib::Library::SpeciesLibrary(); lib->LoadSpecies("foo", new PkmnLib::Library::PokemonSpecies( 1, "foo", new PkmnLib::Library::PokemonForme( "default", 1.0f, 1.0f, 100, {0}, CreatureLib::Core::StatisticSet(100, 100, 100, 100, 100, 100), {"testAbility"}, {"testHiddenAbility"}, new CreatureLib::Library::LearnableAttacks(100)), 0.5f, "testGrowthRate", 100, 100)); delete lib; } TEST_CASE("Able to insert and retrieve from library", "library") { auto lib = new PkmnLib::Library::SpeciesLibrary(); lib->LoadSpecies("foo", new PkmnLib::Library::PokemonSpecies( 1, "foo", new PkmnLib::Library::PokemonForme( "default", 1.0f, 1.0f, 100, {0}, CreatureLib::Core::StatisticSet(100, 100, 100, 100, 100, 100), {"testAbility"}, {"testHiddenAbility"}, new CreatureLib::Library::LearnableAttacks(100)), 0.5f, "testGrowthRate", 100, 100)); auto val = lib->GetPkmnSpecies("foo"); REQUIRE(val->GetName() == "foo"); delete lib; } #endif