|
6 | 6 |
|
7 | 7 | #include "Compare.h"
|
8 | 8 |
|
9 |
| -#define testBehaviorExp(die, desc, pass) \ |
| 9 | +#define arduinoCITestBehaviorExp(die, desc, pass) \ |
10 | 10 | do \
|
11 | 11 | { \
|
12 | 12 | if (!assertion(__FILE__, __LINE__, \
|
|
16 | 16 | } \
|
17 | 17 | } while (0)
|
18 | 18 |
|
19 |
| -#define testBehaviorOp(die, desc, rel1, arg1, op, op_name, rel2, arg2) \ |
| 19 | +#define arduinoCITestBehaviorOp(die, desc, rel1, arg1, op, op_name, rel2, arg2) \ |
20 | 20 | do \
|
21 | 21 | { \
|
22 | 22 | if (!assertion<typeof(arg1), typeof(arg2)>(__FILE__, __LINE__, \
|
|
32 | 32 |
|
33 | 33 |
|
34 | 34 | // helper define for the operators below
|
35 |
| -#define assertOp(desc, rel1, arg1, op, op_name, rel2, arg2) \ |
36 |
| - testBehaviorOp(false, desc, rel1, arg1, op, op_name, rel2, arg2) |
| 35 | +#define arduinoCIAssertOp(desc, rel1, arg1, op, op_name, rel2, arg2) \ |
| 36 | + arduinoCITestBehaviorOp(false, "assert" desc, rel1, arg1, op, op_name, rel2, arg2) |
37 | 37 |
|
38 |
| -#define assureOp(desc, rel1, arg1, op, op_name, rel2, arg2) \ |
39 |
| - testBehaviorOp(true, desc, rel1, arg1, op, op_name, rel2, arg2) |
| 38 | +#define arduinoCIAssureOp(desc, rel1, arg1, op, op_name, rel2, arg2) \ |
| 39 | + arduinoCITestBehaviorOp(true, "assure" desc, rel1, arg1, op, op_name, rel2, arg2) |
40 | 40 |
|
41 | 41 |
|
42 | 42 | /** macro generates optional output and calls fail() but does not return if false. */
|
43 |
| -#define assertTrue(arg) testBehaviorExp(false, "assertTrue " #arg, (arg)) |
44 |
| -#define assertFalse(arg) testBehaviorExp(false, "assertFalse " #arg, !(arg)) |
45 |
| -#define assertNull(arg) testBehaviorExp(false, "assertNull " #arg, ((void*)NULL == (void*)(arg))) |
46 |
| -#define assertNotNull(arg) testBehaviorExp(false, "assertNotNull " #arg, ((void*)NULL != (void*)(arg))) |
47 |
| -#define assertEqual(arg1,arg2) assertOp("assertEqual","expected",arg1,compareEqual,"==","actual",arg2) |
48 |
| -#define assertNotEqual(arg1,arg2) assertOp("assertNotEqual","unwanted",arg1,compareNotEqual,"!=","actual",arg2) |
49 |
| -#define assertComparativeEquivalent(arg1,arg2) assertOp("assertComparativeEquivalent","expected",arg1,compareEquivalent,"!<>","actual",arg2) |
50 |
| -#define assertComparativeNotEquivalent(arg1,arg2) assertOp("assertComparativeNotEquivalent","unwanted",arg1,compareNotEquivalent,"<>","actual",arg2) |
51 |
| -#define assertLess(arg1,arg2) assertOp("assertLess","lowerBound",arg1,compareLess,"<","actual",arg2) |
52 |
| -#define assertMore(arg1,arg2) assertOp("assertMore","upperBound",arg1,compareMore,">","actual",arg2) |
53 |
| -#define assertLessOrEqual(arg1,arg2) assertOp("assertLessOrEqual","lowerBound",arg1,compareLessOrEqual,"<=","actual",arg2) |
54 |
| -#define assertMoreOrEqual(arg1,arg2) assertOp("assertMoreOrEqual","upperBound",arg1,compareMoreOrEqual,">=","actual",arg2) |
| 43 | +#define assertTrue(arg) arduinoCITestBehaviorExp(false, "True " #arg, (arg)) |
| 44 | +#define assertFalse(arg) arduinoCITestBehaviorExp(false, "False " #arg, !(arg)) |
| 45 | +#define assertNull(arg) arduinoCITestBehaviorExp(false, "Null " #arg, ((void*)NULL == (void*)(arg))) |
| 46 | +#define assertNotNull(arg) arduinoCITestBehaviorExp(false, "NotNull " #arg, ((void*)NULL != (void*)(arg))) |
| 47 | +#define assertEqual(arg1,arg2) arduinoCIAssertOp("Equal","expected",arg1,compareEqual,"==","actual",arg2) |
| 48 | +#define assertNotEqual(arg1,arg2) arduinoCIAssertOp("NotEqual","unwanted",arg1,compareNotEqual,"!=","actual",arg2) |
| 49 | +#define assertComparativeEquivalent(arg1,arg2) arduinoCIAssertOp("ComparativeEquivalent","expected",arg1,compareEquivalent,"!<>","actual",arg2) |
| 50 | +#define assertComparativeNotEquivalent(arg1,arg2) arduinoCIAssertOp("ComparativeNotEquivalent","unwanted",arg1,compareNotEquivalent,"<>","actual",arg2) |
| 51 | +#define assertLess(arg1,arg2) arduinoCIAssertOp("Less","lowerBound",arg1,compareLess,"<","actual",arg2) |
| 52 | +#define assertMore(arg1,arg2) arduinoCIAssertOp("More","upperBound",arg1,compareMore,">","actual",arg2) |
| 53 | +#define assertLessOrEqual(arg1,arg2) arduinoCIAssertOp("LessOrEqual","lowerBound",arg1,compareLessOrEqual,"<=","actual",arg2) |
| 54 | +#define assertMoreOrEqual(arg1,arg2) arduinoCIAssertOp("MoreOrEqual","upperBound",arg1,compareMoreOrEqual,">=","actual",arg2) |
55 | 55 |
|
56 |
| -#define assertEqualFloat(arg1, arg2, arg3) assertOp("assertEqualFloat", "epsilon", arg3, compareMoreOrEqual, ">=", "actualDifference", fabs(arg1 - arg2)) |
57 |
| -#define assertNotEqualFloat(arg1, arg2, arg3) assertOp("assertNotEqualFloat", "epsilon", arg3, compareLessOrEqual, "<=", "insufficientDifference", fabs(arg1 - arg2)) |
58 |
| -#define assertInfinity(arg) testBehaviorExp(false, "assertInfinity " #arg, isinf(arg)) |
59 |
| -#define assertNotInfinity(arg) testBehaviorExp(false, "assertNotInfinity " #arg, !isinf(arg)) |
60 |
| -#define assertNAN(arg) testBehaviorExp(false, "assertNAN " #arg, isnan(arg)) |
61 |
| -#define assertNotNAN(arg) testBehaviorExp(false, "assertNotNAN " #arg, !isnan(arg)) |
| 56 | +#define assertEqualFloat(arg1, arg2, arg3) arduinoCIAssertOp("EqualFloat", "epsilon", arg3, compareMoreOrEqual, ">=", "actualDifference", fabs(arg1 - arg2)) |
| 57 | +#define assertNotEqualFloat(arg1, arg2, arg3) arduinoCIAssertOp("NotEqualFloat", "epsilon", arg3, compareLessOrEqual, "<=", "insufficientDifference", fabs(arg1 - arg2)) |
| 58 | +#define assertInfinity(arg) arduinoCITestBehaviorExp(false, "Infinity " #arg, isinf(arg)) |
| 59 | +#define assertNotInfinity(arg) arduinoCITestBehaviorExp(false, "NotInfinity " #arg, !isinf(arg)) |
| 60 | +#define assertNAN(arg) arduinoCITestBehaviorExp(false, "NAN " #arg, isnan(arg)) |
| 61 | +#define assertNotNAN(arg) arduinoCITestBehaviorExp(false, "NotNAN " #arg, !isnan(arg)) |
62 | 62 |
|
63 | 63 |
|
64 | 64 | /** macro generates optional output and calls fail() followed by a return if false. */
|
65 |
| -#define assureTrue(arg) testBehaviorExp(true, "assertTrue " #arg, (arg)) |
66 |
| -#define assureFalse(arg) testBehaviorExp(true, "assertFalse " #arg, !(arg)) |
67 |
| -#define assureNull(arg) testBehaviorExp(true, "assertNull " #arg, ((void*)NULL == (void*)(arg))) |
68 |
| -#define assureNotNull(arg) testBehaviorExp(true, "assertNotNull " #arg, ((void*)NULL != (void*)(arg))) |
69 |
| -#define assureEqual(arg1,arg2) assureOp("assureEqual","expected",arg1,compareEqual,"==","actual",arg2) |
70 |
| -#define assureNotEqual(arg1,arg2) assureOp("assureNotEqual","unwanted",arg1,compareNotEqual,"!=","actual",arg2) |
71 |
| -#define assureComparativeEquivalent(arg1,arg2) assertOp("assureComparativeEquivalent","expected",arg1,compareEquivalent,"!<>","actual",arg2) |
72 |
| -#define assureComparativeNotEquivalent(arg1,arg2) assertOp("assureComparativeNotEquivalent","unwanted",arg1,compareNotEquivalent,"<>","actual",arg2) |
73 |
| -#define assureLess(arg1,arg2) assureOp("assureLess","lowerBound",arg1,compareLess,"<","actual",arg2) |
74 |
| -#define assureMore(arg1,arg2) assureOp("assureMore","upperBound",arg1,compareMore,">","actual",arg2) |
75 |
| -#define assureLessOrEqual(arg1,arg2) assureOp("assureLessOrEqual","lowerBound",arg1,compareLessOrEqual,"<=","actual",arg2) |
76 |
| -#define assureMoreOrEqual(arg1,arg2) assureOp("assureMoreOrEqual","upperBound",arg1,compareMoreOrEqual,">=","actual",arg2) |
| 65 | +#define assureTrue(arg) arduinoCITestBehaviorExp(true, "True " #arg, (arg)) |
| 66 | +#define assureFalse(arg) arduinoCITestBehaviorExp(true, "False " #arg, !(arg)) |
| 67 | +#define assureNull(arg) arduinoCITestBehaviorExp(true, "Null " #arg, ((void*)NULL == (void*)(arg))) |
| 68 | +#define assureNotNull(arg) arduinoCITestBehaviorExp(true, "NotNull " #arg, ((void*)NULL != (void*)(arg))) |
| 69 | +#define assureEqual(arg1,arg2) arduinoCIAssureOp("Equal","expected",arg1,compareEqual,"==","actual",arg2) |
| 70 | +#define assureNotEqual(arg1,arg2) arduinoCIAssureOp("NotEqual","unwanted",arg1,compareNotEqual,"!=","actual",arg2) |
| 71 | +#define assureComparativeEquivalent(arg1,arg2) arduinoCIAssureOp("ComparativeEquivalent","expected",arg1,compareEquivalent,"!<>","actual",arg2) |
| 72 | +#define assureComparativeNotEquivalent(arg1,arg2) arduinoCIAssureOp("ComparativeNotEquivalent","unwanted",arg1,compareNotEquivalent,"<>","actual",arg2) |
| 73 | +#define assureLess(arg1,arg2) arduinoCIAssureOp("Less","lowerBound",arg1,compareLess,"<","actual",arg2) |
| 74 | +#define assureMore(arg1,arg2) arduinoCIAssureOp("More","upperBound",arg1,compareMore,">","actual",arg2) |
| 75 | +#define assureLessOrEqual(arg1,arg2) arduinoCIAssureOp("LessOrEqual","lowerBound",arg1,compareLessOrEqual,"<=","actual",arg2) |
| 76 | +#define assureMoreOrEqual(arg1,arg2) arduinoCIAssureOp("MoreOrEqual","upperBound",arg1,compareMoreOrEqual,">=","actual",arg2) |
77 | 77 |
|
78 |
| -#define assureEqualFloat(arg1, arg2, arg3) assureOp("assureEqualFloat", "epsilon", arg3, compareMoreOrEqual, ">=", "actualDifference", fabs(arg1 - arg2)) |
79 |
| -#define assureNotEqualFloat(arg1, arg2, arg3) assureOp("assureNotEqualFloat", "epsilon", arg3, compareLessOrEqual, "<=", "insufficientDifference", fabs(arg1 - arg2)) |
80 |
| -#define assureInfinity(arg) testBehaviorExp(true, "assertInfinity " #arg, isinf(arg)) |
81 |
| -#define assureNotInfinity(arg) testBehaviorExp(true, "assertNotInfinity " #arg, !isinf(arg)) |
82 |
| -#define assureNAN(arg) testBehaviorExp(true, "assertNAN " #arg, isnan(arg)) |
83 |
| -#define assureNotNAN(arg) testBehaviorExp(true, "assertNotNAN " #arg, !isnan(arg)) |
| 78 | +#define assureEqualFloat(arg1, arg2, arg3) arduinoCIAssureOp("EqualFloat", "epsilon", arg3, compareMoreOrEqual, ">=", "actualDifference", fabs(arg1 - arg2)) |
| 79 | +#define assureNotEqualFloat(arg1, arg2, arg3) arduinoCIAssureOp("NotEqualFloat", "epsilon", arg3, compareLessOrEqual, "<=", "insufficientDifference", fabs(arg1 - arg2)) |
| 80 | +#define assureInfinity(arg) arduinoCITestBehaviorExp(true, "Infinity " #arg, isinf(arg)) |
| 81 | +#define assureNotInfinity(arg) arduinoCITestBehaviorExp(true, "NotInfinity " #arg, !isinf(arg)) |
| 82 | +#define assureNAN(arg) arduinoCITestBehaviorExp(true, "NAN " #arg, isnan(arg)) |
| 83 | +#define assureNotNAN(arg) arduinoCITestBehaviorExp(true, "NotNAN " #arg, !isnan(arg)) |
0 commit comments