allocPool/tests.cpp

39 lines
911 B
C++

#include "tests.hpp"
// Variable statique de la classe tests. Elle doit être
// définie dans le fichier .cpp pour résoudre un problème
// de linker.
std::vector<void (*)()> tests::vec;
tests::tests() {
// Ajuster en fonction du nombre de tests.
vec.reserve(10);
}
void tests::runTests() {
for (auto &i: vec) i();
}
ADD_TEST(allocPoolSimple) {
allocPool<stub> pool(2);
auto *var1{pool.getPtr()};
auto *var2{pool.getPtr()};
auto *var3{pool.getPtr()};
pool.returnPtr(var2);
auto *var4{pool.getPtr()};
pool.returnPtr(var1);
pool.returnPtr(var4);
pool.returnPtr(var3);
}
ADD_TEST(allocPoolSimple2) {
allocPool<stub> pool(10);
auto *var1{pool.getPtr()};
auto *var2{pool.getPtr()};
auto *var3{pool.getPtr()};
pool.returnPtr(var2);
auto *var4{pool.getPtr()};
pool.returnPtr(var1);
pool.returnPtr(var4);
pool.returnPtr(var3);
}