annotate data/model/test/Compares.h @ 1346:75ad55315db4 3.0-integration

More work on getting tests (especially file encoding ones) running on Windows. Various problems here to do with interaction with test filenames in Hg repos
author Chris Cannam
date Fri, 06 Jan 2017 15:44:55 +0000
parents 9f4505ac9072
children 48e9f538e6e9
rev   line source
Chris@1086 1
Chris@1086 2 #ifndef TEST_COMPARES_H
Chris@1086 3 #define TEST_COMPARES_H
Chris@1086 4
Chris@1086 5 // These macros are used for comparing generated results, and they
Chris@1086 6 // aren't always going to be exact. Adding 0.1 to each value gives
Chris@1086 7 // us a little more fuzz in qFuzzyCompare (which ultimately does
Chris@1086 8 // the comparison).
Chris@1086 9
Chris@1086 10 #define COMPARE_ZERO(a) \
Chris@1086 11 QCOMPARE(a + 0.1, 0.1)
Chris@1086 12
Chris@1086 13 #define COMPARE_ZERO_F(a) \
Chris@1086 14 QCOMPARE(a + 0.1f, 0.1f)
Chris@1086 15
Chris@1086 16 #define COMPARE_FUZZIER(a, b) \
Chris@1086 17 QCOMPARE(a + 0.1, b + 0.1)
Chris@1086 18
Chris@1086 19 #define COMPARE_FUZZIER_F(a, b) \
Chris@1086 20 QCOMPARE(a + 0.1f, b + 0.1f)
Chris@1086 21
Chris@1086 22 #define COMPARE_ALL_TO(a, n) \
Chris@1086 23 for (int cmp_i = 0; cmp_i < (int)(sizeof(a)/sizeof(a[0])); ++cmp_i) { \
Chris@1086 24 COMPARE_FUZZIER(a[cmp_i], n); \
Chris@1086 25 }
Chris@1086 26
Chris@1086 27 #define COMPARE_ALL(a, b) \
Chris@1086 28 for (int cmp_i = 0; cmp_i < (int)(sizeof(a)/sizeof(a[0])); ++cmp_i) { \
Chris@1086 29 COMPARE_FUZZIER(a[cmp_i], b[cmp_i]); \
Chris@1086 30 }
Chris@1086 31
Chris@1086 32 #define COMPARE_SCALED(a, b, s) \
Chris@1086 33 for (int cmp_i = 0; cmp_i < (int)(sizeof(a)/sizeof(a[0])); ++cmp_i) { \
Chris@1086 34 COMPARE_FUZZIER(a[cmp_i] / s, b[cmp_i]); \
Chris@1086 35 }
Chris@1086 36
Chris@1086 37 #define COMPARE_ALL_TO_F(a, n) \
Chris@1086 38 for (int cmp_i = 0; cmp_i < (int)(sizeof(a)/sizeof(a[0])); ++cmp_i) { \
Chris@1086 39 COMPARE_FUZZIER_F(a[cmp_i], n); \
Chris@1086 40 }
Chris@1086 41
Chris@1086 42 #define COMPARE_ALL_F(a, b) \
Chris@1086 43 for (int cmp_i = 0; cmp_i < (int)(sizeof(a)/sizeof(a[0])); ++cmp_i) { \
Chris@1086 44 COMPARE_FUZZIER_F(a[cmp_i], b[cmp_i]); \
Chris@1086 45 }
Chris@1086 46
Chris@1086 47 #define COMPARE_SCALED_F(a, b, s) \
Chris@1086 48 for (int cmp_i = 0; cmp_i < (int)(sizeof(a)/sizeof(a[0])); ++cmp_i) { \
Chris@1086 49 COMPARE_FUZZIER_F(a[cmp_i] / s, b[cmp_i]); \
Chris@1086 50 }
Chris@1086 51
Chris@1086 52 #endif