51 lines
1.3 KiB
C++
51 lines
1.3 KiB
C++
|
#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",
|
||
|
new SpeciesVariant("default", 1,1, 10, {"fire", "water"}, StatisticSet(10,10,10,10,10,10),
|
||
|
{"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
|