From e2a567e9c9c54d73f3f4f8797a3637fee405521f Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Thu, 11 Mar 2021 19:35:14 +0100 Subject: [PATCH] add tests for dice_rand term evaluation --- src/util/rng.test.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/util/rng.test.c b/src/util/rng.test.c index 6ab8719a1..619d17f1c 100644 --- a/src/util/rng.test.c +++ b/src/util/rng.test.c @@ -5,21 +5,35 @@ #include #include "rng.h" +#include "rand.h" static void test_rng_round(CuTest * tc) { double f = rng_double(); - int r = RAND_ROUND(f); + double r = RAND_ROUND(f); CuAssertTrue(tc, f >= 0); - CuAssertTrue(tc, r <= (int)f + 1); - CuAssertTrue(tc, r >= (int)f); - CuAssertTrue(tc, r == (int)r); + CuAssertTrue(tc, r <= f + 1); + CuAssertTrue(tc, r >= f); + CuAssertTrue(tc, r == r); CuAssertTrue(tc, r == RAND_ROUND(r)); } +static void test_dice_rand(CuTest* tc) +{ + CuAssertIntEquals(tc, 9, dice_rand("3*(2+1)")); + CuAssertIntEquals(tc, 0, dice_rand("0")); + CuAssertIntEquals(tc, -5, dice_rand("-5")); + CuAssertIntEquals(tc, 1, dice_rand("d1")); + CuAssertIntEquals(tc, 2, dice_rand("2d1")); + CuAssertIntEquals(tc, 3, dice_rand("1+2")); + CuAssertIntEquals(tc, 6, dice_rand("3*2")); + CuAssertIntEquals(tc, -6, dice_rand("-3*2")); +} + CuSuite *get_rng_suite(void) { CuSuite *suite = CuSuiteNew(); SUITE_ADD_TEST(suite, test_rng_round); + SUITE_ADD_TEST(suite, test_dice_rand); return suite; }