Tests and tweaks for the Nature Library.
This commit is contained in:
82
tests/LibraryTests/NatureLibraryTests.cpp
Normal file
82
tests/LibraryTests/NatureLibraryTests.cpp
Normal file
@@ -0,0 +1,82 @@
|
||||
#ifdef TESTS_BUILD
|
||||
#include "../../extern/catch.hpp"
|
||||
#include "../../src/Library/Natures/NatureLibrary.hpp"
|
||||
#include "../../src/Library/Statistic.hpp"
|
||||
|
||||
using namespace PkmnLib::Library;
|
||||
|
||||
TEST_CASE("Able to create and delete nature library", "library") {
|
||||
auto lib = new NatureLibrary();
|
||||
delete lib;
|
||||
}
|
||||
|
||||
TEST_CASE("Able to insert into nature library", "library") {
|
||||
auto lib = new NatureLibrary();
|
||||
lib->LoadNature("testNature", Nature(Statistic::PhysicalAttack, Statistic::Speed));
|
||||
delete lib;
|
||||
}
|
||||
|
||||
TEST_CASE("Able to retrieve nature by name", "library") {
|
||||
auto lib = new NatureLibrary();
|
||||
lib->LoadNature("testNature", Nature(Statistic::PhysicalAttack, Statistic::Speed));
|
||||
|
||||
auto nature = lib->GetNatureByName("testNature");
|
||||
REQUIRE(nature.GetIncreasedStat() == Statistic::PhysicalAttack);
|
||||
REQUIRE(nature.GetDecreasedStat() == Statistic::Speed);
|
||||
REQUIRE(nature.GetIncreaseModifier() == 1.1f);
|
||||
REQUIRE(nature.GetDecreaseModifier() == 0.9f);
|
||||
|
||||
delete lib;
|
||||
}
|
||||
|
||||
TEST_CASE("Able to retrieve nature by id", "library") {
|
||||
auto lib = new NatureLibrary();
|
||||
auto id = lib->LoadNature("testNature", Nature(Statistic::PhysicalAttack, Statistic::Speed));
|
||||
|
||||
auto nature = lib->GetNature(id);
|
||||
REQUIRE(nature.GetIncreasedStat() == Statistic::PhysicalAttack);
|
||||
REQUIRE(nature.GetDecreasedStat() == Statistic::Speed);
|
||||
REQUIRE(nature.GetIncreaseModifier() == 1.1f);
|
||||
REQUIRE(nature.GetDecreaseModifier() == 0.9f);
|
||||
|
||||
delete lib;
|
||||
}
|
||||
|
||||
TEST_CASE("Able to retrieve nature id by name", "library") {
|
||||
auto lib = new NatureLibrary();
|
||||
lib->LoadNature("testNature", Nature(Statistic::PhysicalAttack, Statistic::Speed));
|
||||
auto id = lib->GetNatureIdByName("testNature");
|
||||
REQUIRE(id == 0);
|
||||
auto nature = lib->GetNature(id);
|
||||
REQUIRE(nature.GetIncreasedStat() == Statistic::PhysicalAttack);
|
||||
REQUIRE(nature.GetDecreasedStat() == Statistic::Speed);
|
||||
REQUIRE(nature.GetIncreaseModifier() == 1.1f);
|
||||
REQUIRE(nature.GetDecreaseModifier() == 0.9f);
|
||||
|
||||
delete lib;
|
||||
}
|
||||
|
||||
TEST_CASE("Able to insert and retrieve multiple natures", "library") {
|
||||
auto lib = new NatureLibrary();
|
||||
auto id = lib->LoadNature("testNature", Nature(Statistic::PhysicalAttack, Statistic::Speed));
|
||||
REQUIRE(id == 0);
|
||||
auto id2 = lib->LoadNature("testNature2", Nature(Statistic::Speed, Statistic::PhysicalAttack));
|
||||
REQUIRE(id2 == 1);
|
||||
auto nature = lib->GetNature(id);
|
||||
REQUIRE(nature.GetIncreasedStat() == Statistic::PhysicalAttack);
|
||||
REQUIRE(nature.GetDecreasedStat() == Statistic::Speed);
|
||||
REQUIRE(nature.GetIncreaseModifier() == 1.1f);
|
||||
REQUIRE(nature.GetDecreaseModifier() == 0.9f);
|
||||
nature = lib->GetNature(id2);
|
||||
REQUIRE(nature.GetIncreasedStat() == Statistic::Speed);
|
||||
REQUIRE(nature.GetDecreasedStat() == Statistic::PhysicalAttack);
|
||||
REQUIRE(nature.GetIncreaseModifier() == 1.1f);
|
||||
REQUIRE(nature.GetDecreaseModifier() == 0.9f);
|
||||
|
||||
delete lib;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user