CreatureLib/tests/TestLibrary/TestLibrary.cpp

52 lines
1.3 KiB
C++
Raw Normal View History

2019-10-06 11:50:52 +00:00
#ifdef TESTS_BUILD
#include "../../extern/catch.hpp"
#include "../../src/Library/DataLibrary.hpp"
using namespace CreatureLib::Core;
using namespace CreatureLib::Library;
static DataLibrary* __library = nullptr;
static SpeciesLibrary* BuildSpeciesLibrary(){
auto l = new SpeciesLibrary();
l->LoadSpecies("testSpecies1", new CreatureSpecies(0, "testSpecies1",
2019-10-17 12:33:25 +00:00
new SpeciesVariant("default", 1,1, 10, {"fire", "water"},
StatisticSet<uint16_t >(10,10,10,10,10,10),
2019-10-06 11:50:52 +00:00
{"testTalent"}, {"testSecretTalent"}),
0.5f, "testGrowthRate", 5, 100));
return l;
}
static AttackLibrary* BuildAttackLibrary(){
auto l = new AttackLibrary();
return l;
}
static ItemLibrary* BuildItemLibrary(){
auto l = new ItemLibrary();
return l;
}
static GrowthRateLibrary* BuildGrowthRateLibrary(){
auto l = new GrowthRateLibrary();
return l;
}
static DataLibrary* BuildLibrary(){
auto l = new DataLibrary(BuildSpeciesLibrary(), BuildAttackLibrary(), BuildItemLibrary(), BuildGrowthRateLibrary());
return l;
}
[[maybe_unused]]
static DataLibrary* GetLibrary(){
if (__library == nullptr){
__library = BuildLibrary();
}
return __library;
}
#ifndef LIBRARY_BUILD_TESTS
#define LIBRARY_BUILD_TESTS
#endif
#endif