#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->Insert("foo"_cnc.GetHash(), new PkmnLib::Library::PokemonSpecies( 1, "foo"_cnc, new PkmnLib::Library::PokemonForme( "default"_cnc, 1.0f, 1.0f, 100, {0}, CreatureLib::Library::StatisticSet(100, 100, 100, 100, 100, 100), {"testAbility"_cnc}, {"testHiddenAbility"_cnc}, new PkmnLib::Library::LearnableMoves(100)), 0.5f, "testGrowthRate"_cnc, 100, 100, {"testEggGroup"_cnc})); delete lib; } TEST_CASE("Able to insert and retrieve from library", "library") { auto lib = new PkmnLib::Library::SpeciesLibrary(); lib->Insert("foo"_cnc.GetHash(), new PkmnLib::Library::PokemonSpecies( 1, "foo"_cnc, new PkmnLib::Library::PokemonForme( "default"_cnc, 1.0f, 1.0f, 100, {0}, CreatureLib::Library::StatisticSet(100, 100, 100, 100, 100, 100), {"testAbility"_cnc}, {"testHiddenAbility"_cnc}, new PkmnLib::Library::LearnableMoves(100)), 0.5f, "testGrowthRate"_cnc, 100, 100, {"testEggGroup"_cnc})); auto val = lib->Get("foo"_cnc); REQUIRE(val->GetName() == "foo"); delete lib; } #endif