#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, 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 CreatureLib::Library::LearnableAttacks(100)), 0.5f, "testGrowthRate"_cnc, 100, 100)); delete lib; } TEST_CASE("Able to insert and retrieve from library", "library") { auto lib = new PkmnLib::Library::SpeciesLibrary(); lib->Insert("foo"_cnc, 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 CreatureLib::Library::LearnableAttacks(100)), 0.5f, "testGrowthRate"_cnc, 100, 100)); auto val = lib->Get("foo"_cnc); REQUIRE(val->GetName() == "foo"); delete lib; } #endif