1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
#ifndef TEST_COMPARES_H
#define TEST_COMPARES_H
// These macros are used for comparing generated results, and they
// aren't always going to be exact. Adding 0.1 to each value gives
// us a little more fuzz in qFuzzyCompare (which ultimately does
// the comparison).
#define COMPARE_ZERO(a) \
QCOMPARE(a + 0.1, 0.1)
#define COMPARE_ZERO_F(a) \
QCOMPARE(a + 0.1f, 0.1f)
#define COMPARE_FUZZIER(a, b) \
QCOMPARE(a + 0.1, b + 0.1)
#define COMPARE_FUZZIER_F(a, b) \
QCOMPARE(a + 0.1f, b + 0.1f)
#define COMPARE_ALL_TO(a, n) \
for (int cmp_i = 0; cmp_i < (int)(sizeof(a)/sizeof(a[0])); ++cmp_i) { \
COMPARE_FUZZIER(a[cmp_i], n); \
}
#define COMPARE_ALL(a, b) \
for (int cmp_i = 0; cmp_i < (int)(sizeof(a)/sizeof(a[0])); ++cmp_i) { \
COMPARE_FUZZIER(a[cmp_i], b[cmp_i]); \
}
#define COMPARE_SCALED(a, b, s) \
for (int cmp_i = 0; cmp_i < (int)(sizeof(a)/sizeof(a[0])); ++cmp_i) { \
COMPARE_FUZZIER(a[cmp_i] / s, b[cmp_i]); \
}
#define COMPARE_ALL_TO_F(a, n) \
for (int cmp_i = 0; cmp_i < (int)(sizeof(a)/sizeof(a[0])); ++cmp_i) { \
COMPARE_FUZZIER_F(a[cmp_i], n); \
}
#define COMPARE_ALL_F(a, b) \
for (int cmp_i = 0; cmp_i < (int)(sizeof(a)/sizeof(a[0])); ++cmp_i) { \
COMPARE_FUZZIER_F(a[cmp_i], b[cmp_i]); \
}
#define COMPARE_SCALED_F(a, b, s) \
for (int cmp_i = 0; cmp_i < (int)(sizeof(a)/sizeof(a[0])); ++cmp_i) { \
COMPARE_FUZZIER_F(a[cmp_i] / s, b[cmp_i]); \
}
#endif
|