From 59618293f47374b14dd75d52bec873488eb3d6c9 Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Fri, 1 Mar 2019 20:16:39 -0500 Subject: add double test (printing is not cool at the moment) --- test.c | 7 +++++++ test.h | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/test.c b/test.c index 01a6dd5..5a009fc 100644 --- a/test.c +++ b/test.c @@ -1,5 +1,6 @@ #include #include +#include unsigned int total_passed = 0; unsigned int total_failed = 0; @@ -87,6 +88,12 @@ void test_int_equals_imp(const char *expression, int result, int expected) print_result(result == expected, "%s == %d", expression, expected); } +void test_double_imp(const char *expression, double result, double expected) +{ + int success = (result - expected < DBL_EPSILON); + print_result(success, "%s == %d", expression, (int)expected); +} + void test_void_imp(const char *expression) { putchar('?'); diff --git a/test.h b/test.h index 357a26c..43d7512 100644 --- a/test.h +++ b/test.h @@ -7,6 +7,9 @@ void testing_end(void); void test_int_equals_imp(const char*, int, int); #define test_int_equals(expression, expected) test_int_equals_imp(#expression, expression, expected) +void test_double_imp(const char*, double, double); +#define test_double(expression, expected) test_double_imp(#expression, expression, expected) + void test_void_imp(const char*); #define test_void(expression) ((void)expression), test_void_imp(#expression) @@ -15,7 +18,7 @@ void test_bool_imp(const char *, int, int); #define test_true(expression) test_bool_imp(#expression, expression, 1) #define test_min(expression, min) test_bool_imp(#expression, min < 0 ? expression <= min : expression >= min, 1) #define test_max(expression, max) test_bool_imp(#expression, 0 < expression && expression <= max, 1) -#define test_defined(expression) test_false(expression & 0) +#define test_defined(expression) test_false(expression * 0) void test_string_imp(const char*, const char*, const char*); #define test_string(expression, string) test_string_imp(#expression, expression, string) -- cgit v1.2.1