aboutsummaryrefslogtreecommitdiff
path: root/testing.h
blob: 9e0c02237ad0f594d434c0b592c8ee74eb8aab5e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

#include <stdio.h>

#define t_assert(fact)                                                         \
    if (!(fact)) {                                                             \
        fprintf(stderr, "Assertion failed: %s at %s:%d in %s()\n", #fact,      \
                __FILE__, __LINE__, __func__);                                 \
        return 1;                                                              \
    }

#define t_assert_equal(a, b)                                                   \
    if (!(a == b)) {                                                           \
        fprintf(stderr,                                                        \
                "Assertion failed: %d (%s) != %d (%s) at %s:%d in %s()\n",     \
                (i32)a, #a, (i32)b, #b, __FILE__, __LINE__, __func__);         \
        return 1;                                                              \
    }

#define t_assert_fequal(a, b)                                                  \
    if ((a - b) > 1e-6 || (b - a) > 1e-6) {                                    \
        fprintf(stderr,                                                        \
                "Assertion failed: %f (%s) != %f (%s) at %s:%d in %s()\n", a,  \
                #a, b, #b, __FILE__, __LINE__, __func__);                      \
        return 1;                                                              \
    }