cOMS/Utils/TestUtils.h
2022-04-10 16:25:56 +02:00

43 lines
1.1 KiB
C

/**
* Karaka
*
* @package Utils
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://karaka.app
*/
#ifndef UTILS_TEST_UTILS_H
#define UTILS_TEST_UTILS_H
#include <stdio.h>
#include "MathUtils.h"
#define ASSERT_EQUALS(a, b, t1, t2) \
({ __typeof__ (a) _a = (a); \
__typeof__ (b) _b = (b); \
if (_a == _b) { \
printf("."); \
} else { \
printf("[F]"); \
printf("\n\n%s - %i: ", __FILE__, __LINE__); \
printf(t1, a); printf(" != "); printf(t2, b); printf("\n"); \
return 0; } \
})
#define ASSERT_EQUALS_WITH_DELTA(a, b, delta, t1, t2) \
({ __typeof__ (a) _a = (a); \
__typeof__ (b) _b = (b); \
__typeof__ (delta) _delta = (delta); \
__typeof__ (delta) _d = (_a - _b); \
if (oms_abs(_d) <= _delta) { \
printf("."); \
} else { \
printf("[F]"); \
printf("\n\n%s - %i: ", __FILE__, __LINE__); \
printf(t1, a); printf(" != "); printf(t2, b); printf("\n"); \
return 0; } \
})
#endif