6#ifndef TEST_EQUAL_EPSILON
7#define TEST_EQUAL_EPSILON 0.1
10#ifndef TEST_ERROR_DELTA_PERCENT
11#define TEST_ERROR_DELTA_PERCENT 5
19#define TEST(NAME, BODY) \
21 test_t *T = test_start(#NAME); \
27#define ASSERT(BOOL, OK, ERR) test_assert(T, OK, ERR, BOOL)
29#define ASSERT_OK(BOOL, LABEL) \
30 ASSERT(BOOL, LABEL " is okay", LABEL " is not okay")
32#define ASSERT_EQ(GOT, WANT, GOT_LABEL, WANT_LABEL) \
33 test_assert_equal(T, GOT_LABEL, WANT_LABEL, GOT, WANT)
35#define ASSERT_IN_ERROR(GOT, WANT, GOT_LABEL, WANT_LABEL) \
36 test_assert_within_error(T, GOT_LABEL, WANT_LABEL, GOT, WANT)
64 const char *expected_label,
float actual,
void test_assert(test_t *t, const char *pass_message, const char *fail_message, bool passes)
void test_assert_equal(test_t *t, const char *a_label, const char *b_label, float a, float b)
test_t * test_start(const char *name)
void test_assert_within_error(test_t *t, const char *actual_label, const char *expected_label, float actual, float expected)