39 lines
971 B
C++
39 lines
971 B
C++
#pragma once
|
|
|
|
#include <cassert>
|
|
#include <vector>
|
|
|
|
#include "allocPool.hpp"
|
|
|
|
// On ajoute un pointeur de la fonction au vecteur vec. Cela permet de
|
|
// tout exécuter de façon propre.
|
|
//
|
|
// On utilise une struct avec un constructeur qui se fait appeler par
|
|
// défaut à sa construction. Lors de celle-ci, on met le pointeur dans
|
|
// le vecteur.
|
|
//
|
|
// Pour ajouter un test, simplement faire une déclaration de fonction
|
|
// avec ce macro dans le fichier Tests.cpp
|
|
#define ADD_TEST(name) \
|
|
void name(); \
|
|
struct name##_adder { \
|
|
name##_adder() { \
|
|
tests::vec.push_back(&name); \
|
|
} \
|
|
} name##_instance; \
|
|
void name()
|
|
|
|
class tests {
|
|
public:
|
|
tests();
|
|
void runTests();
|
|
static std::vector<void (*)()> vec;
|
|
};
|
|
|
|
class stub {
|
|
public:
|
|
stub() = default;
|
|
void reset() {}
|
|
private:
|
|
int i = 15;
|
|
}; |