124 lines
4.7 KiB
C++
124 lines
4.7 KiB
C++
|
#ifdef TESTS_BUILD
|
||
|
#include "../../extern/catch.hpp"
|
||
|
#include "../../src/Library/Species/PokemonSpecies.hpp"
|
||
|
|
||
|
TEST_CASE("Able to create and destroy species", "library") {
|
||
|
auto species = new PkmnLib::Library::PokemonSpecies(
|
||
|
1, "foo",
|
||
|
new PkmnLib::Library::PokemonForme(
|
||
|
"default", 1.0f, 1.0f, 100, {0}, CreatureLib::Core::StatisticSet<uint16_t>(100, 100, 100, 100, 100, 100),
|
||
|
{"testAbility"}, {"testHiddenAbility"}, new CreatureLib::Library::LearnableAttacks(100)),
|
||
|
0.5f, "testGrowthRate", 100, 100);
|
||
|
delete species;
|
||
|
}
|
||
|
|
||
|
TEST_CASE("Able to get default forme", "library") {
|
||
|
auto species = new PkmnLib::Library::PokemonSpecies(
|
||
|
1, "foo",
|
||
|
new PkmnLib::Library::PokemonForme(
|
||
|
"default", 1.0f, 1.0f, 100, {0}, CreatureLib::Core::StatisticSet<uint16_t>(100, 100, 100, 100, 100, 100),
|
||
|
{"testAbility"}, {"testHiddenAbility"}, new CreatureLib::Library::LearnableAttacks(100)),
|
||
|
0.5f, "testGrowthRate", 100, 100);
|
||
|
|
||
|
auto forme = species->GetDefaultForme();
|
||
|
REQUIRE(forme != nullptr);
|
||
|
|
||
|
delete species;
|
||
|
}
|
||
|
|
||
|
TEST_CASE("Able to get default forme name", "library") {
|
||
|
auto species = new PkmnLib::Library::PokemonSpecies(
|
||
|
1, "foo",
|
||
|
new PkmnLib::Library::PokemonForme(
|
||
|
"default", 1.0f, 1.0f, 100, {0}, CreatureLib::Core::StatisticSet<uint16_t>(100, 100, 100, 100, 100, 100),
|
||
|
{"testAbility"}, {"testHiddenAbility"}, new CreatureLib::Library::LearnableAttacks(100)),
|
||
|
0.5f, "testGrowthRate", 100, 100);
|
||
|
|
||
|
auto forme = species->GetDefaultForme();
|
||
|
REQUIRE(forme != nullptr);
|
||
|
REQUIRE(forme->GetName() == "default");
|
||
|
|
||
|
delete species;
|
||
|
}
|
||
|
|
||
|
TEST_CASE("Able to get species name", "library") {
|
||
|
auto species = new PkmnLib::Library::PokemonSpecies(
|
||
|
1, "foo",
|
||
|
new PkmnLib::Library::PokemonForme(
|
||
|
"default", 1.0f, 1.0f, 100, {0}, CreatureLib::Core::StatisticSet<uint16_t>(100, 100, 100, 100, 100, 100),
|
||
|
{"testAbility"}, {"testHiddenAbility"}, new CreatureLib::Library::LearnableAttacks(100)),
|
||
|
0.5f, "testGrowthRate", 100, 100);
|
||
|
|
||
|
REQUIRE(species->GetName() == "foo");
|
||
|
|
||
|
delete species;
|
||
|
}
|
||
|
|
||
|
TEST_CASE("Able to get species id", "library") {
|
||
|
auto species = new PkmnLib::Library::PokemonSpecies(
|
||
|
1, "foo",
|
||
|
new PkmnLib::Library::PokemonForme(
|
||
|
"default", 1.0f, 1.0f, 100, {0}, CreatureLib::Core::StatisticSet<uint16_t>(100, 100, 100, 100, 100, 100),
|
||
|
{"testAbility"}, {"testHiddenAbility"}, new CreatureLib::Library::LearnableAttacks(100)),
|
||
|
0.5f, "testGrowthRate", 100, 100);
|
||
|
|
||
|
REQUIRE(species->GetId() == 1);
|
||
|
|
||
|
delete species;
|
||
|
}
|
||
|
|
||
|
TEST_CASE("Able to get species gender ratio", "library") {
|
||
|
auto species = new PkmnLib::Library::PokemonSpecies(
|
||
|
1, "foo",
|
||
|
new PkmnLib::Library::PokemonForme(
|
||
|
"default", 1.0f, 1.0f, 100, {0}, CreatureLib::Core::StatisticSet<uint16_t>(100, 100, 100, 100, 100, 100),
|
||
|
{"testAbility"}, {"testHiddenAbility"}, new CreatureLib::Library::LearnableAttacks(100)),
|
||
|
0.5f, "testGrowthRate", 100, 100);
|
||
|
|
||
|
REQUIRE(species->GetGenderRate() == 0.5f);
|
||
|
|
||
|
delete species;
|
||
|
}
|
||
|
|
||
|
TEST_CASE("Able to get species growth rate", "library") {
|
||
|
auto species = new PkmnLib::Library::PokemonSpecies(
|
||
|
1, "foo",
|
||
|
new PkmnLib::Library::PokemonForme(
|
||
|
"default", 1.0f, 1.0f, 100, {0}, CreatureLib::Core::StatisticSet<uint16_t>(100, 100, 100, 100, 100, 100),
|
||
|
{"testAbility"}, {"testHiddenAbility"}, new CreatureLib::Library::LearnableAttacks(100)),
|
||
|
0.5f, "testGrowthRate", 100, 100);
|
||
|
|
||
|
REQUIRE(species->GetGrowthRate() == "testGrowthRate");
|
||
|
|
||
|
delete species;
|
||
|
}
|
||
|
|
||
|
TEST_CASE("Able to get species capture rate", "library") {
|
||
|
auto species = new PkmnLib::Library::PokemonSpecies(
|
||
|
1, "foo",
|
||
|
new PkmnLib::Library::PokemonForme(
|
||
|
"default", 1.0f, 1.0f, 100, {0}, CreatureLib::Core::StatisticSet<uint16_t>(100, 100, 100, 100, 100, 100),
|
||
|
{"testAbility"}, {"testHiddenAbility"}, new CreatureLib::Library::LearnableAttacks(100)),
|
||
|
0.5f, "testGrowthRate", 100, 100);
|
||
|
|
||
|
REQUIRE(species->GetCaptureRate() == 100);
|
||
|
|
||
|
delete species;
|
||
|
}
|
||
|
|
||
|
TEST_CASE("Able to get species base happiness", "library") {
|
||
|
auto species = new PkmnLib::Library::PokemonSpecies(
|
||
|
1, "foo",
|
||
|
new PkmnLib::Library::PokemonForme(
|
||
|
"default", 1.0f, 1.0f, 100, {0}, CreatureLib::Core::StatisticSet<uint16_t>(100, 100, 100, 100, 100, 100),
|
||
|
{"testAbility"}, {"testHiddenAbility"}, new CreatureLib::Library::LearnableAttacks(100)),
|
||
|
0.5f, "testGrowthRate", 100, 100);
|
||
|
|
||
|
REQUIRE(species->GetBaseHappiness() == 100);
|
||
|
|
||
|
delete species;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
#endif
|