tests/core: Update random test to the new framework
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
9882727c81
commit
cfca7fccb0
|
@ -1,7 +1,7 @@
|
|||
/**
|
||||
* Copyright 2014 (c) Anna Schumaker
|
||||
*/
|
||||
#ifdef CONFIG_TEST
|
||||
#ifdef CONFIG_TESTING
|
||||
|
||||
#include <core/random.h>
|
||||
|
||||
|
@ -18,4 +18,4 @@ unsigned int _pick_random()
|
|||
return ++_random_value;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_TEST */
|
||||
#endif /* CONFIG_TESTING */
|
||||
|
|
|
@ -4,18 +4,18 @@
|
|||
#ifndef OCARINA_CORE_RANDOM_H
|
||||
#define OCARINA_CORE_RANDOM_H
|
||||
|
||||
#ifdef CONFIG_TEST
|
||||
#ifdef CONFIG_TESTING
|
||||
|
||||
void _seed_random(unsigned int);
|
||||
unsigned int _pick_random();
|
||||
|
||||
#else /* CONFIG_TEST */
|
||||
#else /* CONFIG_TESTING */
|
||||
|
||||
#include <stdlib.h>
|
||||
static inline void _seed_random(unsigned int n) { srand(time(NULL) + n); }
|
||||
static inline unsigned int _pick_random() { return rand(); }
|
||||
|
||||
#endif /* CONFIG_TEST */
|
||||
#endif /* CONFIG_TESTING */
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -15,6 +15,7 @@ Export("core_objs")
|
|||
|
||||
res = [ CoreTest("version", "version.c") ]
|
||||
res += [ CoreTest("string", "string.cpp") ]
|
||||
res += [ CoreTest("random", "random.cpp") ]
|
||||
res += [ CoreTest("file", "file.cpp") ]
|
||||
res += [ CoreTest("database", "database.cpp") ]
|
||||
res += [ CoreTest("index", "index.cpp") ]
|
||||
|
@ -25,8 +26,6 @@ res += SConscript("tags/Sconscript")
|
|||
|
||||
Return("res")
|
||||
|
||||
#
|
||||
#test( "random" )
|
||||
#
|
||||
#objs += [ get_test_obj("tags/tags", "core") ]
|
||||
#test( "queue" )
|
||||
|
|
|
@ -3,33 +3,43 @@
|
|||
*/
|
||||
#include <core/random.h>
|
||||
#include <core/string.h>
|
||||
#include <tests/test.h>
|
||||
#include "test.h"
|
||||
|
||||
unsigned int SEED = 0;
|
||||
|
||||
static void do_test_rng()
|
||||
{
|
||||
random_seed(SEED);
|
||||
|
||||
for (unsigned int i = 0; i <= 10; i++) {
|
||||
if (i <= SEED)
|
||||
test_equal(random(SEED, i), SEED);
|
||||
else
|
||||
test_equal(random(SEED, i), SEED + (i % (i - SEED)));
|
||||
}
|
||||
}
|
||||
|
||||
static void test_rng(unsigned int seed)
|
||||
{
|
||||
std::string seed_str = " (seed = " + string :: utos(seed) + ")";
|
||||
SEED = seed;
|
||||
random_seed(seed);
|
||||
|
||||
test :: run("Random Number Generator Test" + seed_str, do_test_rng);
|
||||
for (unsigned int i = 0; i <= 10; i++) {
|
||||
if (i <= seed)
|
||||
test_equal(random(seed, i), seed);
|
||||
else
|
||||
test_equal(random(seed, i), seed + (i % (i - seed)));
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
for (unsigned int i = 0; i < 10; i++)
|
||||
test_rng(i);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void test_rng_0() { test_rng(0); }
|
||||
static void test_rng_1() { test_rng(1); }
|
||||
static void test_rng_2() { test_rng(2); }
|
||||
static void test_rng_3() { test_rng(3); }
|
||||
static void test_rng_4() { test_rng(4); }
|
||||
static void test_rng_5() { test_rng(5); }
|
||||
static void test_rng_6() { test_rng(6); }
|
||||
static void test_rng_7() { test_rng(7); }
|
||||
static void test_rng_8() { test_rng(8); }
|
||||
static void test_rng_9() { test_rng(9); }
|
||||
|
||||
|
||||
DECLARE_UNIT_TESTS(
|
||||
UNIT_TEST("Random Number Generator (seed = 0)", test_rng_0),
|
||||
UNIT_TEST("Random Number Generator (seed = 1)", test_rng_1),
|
||||
UNIT_TEST("Random Number Generator (seed = 2)", test_rng_2),
|
||||
UNIT_TEST("Random Number Generator (seed = 3)", test_rng_3),
|
||||
UNIT_TEST("Random Number Generator (seed = 4)", test_rng_4),
|
||||
UNIT_TEST("Random Number Generator (seed = 5)", test_rng_5),
|
||||
UNIT_TEST("Random Number Generator (seed = 6)", test_rng_6),
|
||||
UNIT_TEST("Random Number Generator (seed = 7)", test_rng_7),
|
||||
UNIT_TEST("Random Number Generator (seed = 8)", test_rng_8),
|
||||
UNIT_TEST("Random Number Generator (seed = 9)", test_rng_9),
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue