Gen7Tests/src/LibraryTests/SpeciesTests.cpp

43 lines
1.4 KiB
C++
Raw Normal View History

2020-02-16 12:08:04 +00:00
#include "../../extern/catch.hpp"
#include "../Library.hpp"
#define ENSURE_SPECIES_EXISTS(species) \
2020-02-27 18:50:49 +00:00
CHECK(library->GetSpeciesLibrary()->Get(Arbutils::CaseInsensitiveConstString(#species))->GetName() == #species);
2020-02-16 12:08:04 +00:00
TEST_CASE("Species - Ensure relevant species exist", "[species]") {
auto library = Library::GetLibrary();
ENSURE_SPECIES_EXISTS(charizard);
ENSURE_SPECIES_EXISTS(pikachu);
}
TEST_CASE("Species - Ensure species count is valid", "[species]") {
auto library = Library::GetLibrary();
CHECK(library->GetSpeciesLibrary()->GetCount() == 802);
}
TEST_CASE("Species - Ensure each species has a default forme", "[species]") {
auto library = Library::GetLibrary();
auto iterator = library->GetSpeciesLibrary()->GetIterator();
size_t i = 0;
for (const auto& v: iterator){
2020-02-27 18:50:49 +00:00
REQUIRE(v.second->HasVariant("default"_cnc));
CHECK(v.second->GetVariant("default"_cnc)->GetName() == "default");
2020-02-16 12:08:04 +00:00
i++;
}
REQUIRE(i == 802);
}
TEST_CASE("Species - Ensure each forme has abilities", "[species]") {
auto library = Library::GetLibrary();
auto iterator = library->GetSpeciesLibrary()->GetIterator();
size_t i = 0;
for (const auto& v: iterator){
for (const auto& forme: v.second->GetVariantsIterator()){
auto abilities = forme.second->GetTalents();
CHECK(!abilities.empty());
}
i++;
}
REQUIRE(i == 802);
}