27 #ifndef TESTHELPER_RUN_H 28 #define TESTHELPER_RUN_H 45 using Arg = std::vector<string> &;
56 virtual ~Test() =
default;
57 virtual void run(Arg arg) = 0;
91 Launch (
string testID,
string groups)
97 makeInstance ()
override 108 using ::test::Launch;
112 using lib::ranNormal;
116 #define LAUNCHER(_TEST_CLASS_, _GROUPS_) \ 118 Launch<_TEST_CLASS_> run_##_TEST_CLASS_##_(STRINGIFY(_TEST_CLASS_), _GROUPS_);
virtual ~Test()=default
this is an interface
lib::Random makeRandGen()
build a dedicated new RandomGen, seeded from the default-Gen
int rani(uint bound=_iBOUND())
double ranRange(double start, double bound)
Helper class for running a collection of tests.
Abstract Base Class for all testcases.
void seedRand()
draw a new random seed from a common nucleus, and re-seed the default-Gen.
static string firstTok(Arg)
conveniently pick the first token from the argument line
Building and running a suite of tests, implemented as test classes.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
static uint firstVal(Arg, uint=1)
conveniently use some number given as argument, with optional default
interface: generic testcase creating functor.
Lumiera error handling (C++ interface).
Generating (pseudo) random numbers with controlled seed.
static void enrol(Launcher *test, string testID, string groups)
register the given test-launcher, so it can be later accessed either as a member of one of the specif...
Random defaultGen
a global default RandomSequencer for mundane purposes