HART  0.2.0
High level Audio Regression and Testing
Loading...
Searching...
No Matches
hart_condition_macros.hpp
Go to the documentation of this file.
1#pragma once
2
4
5// TODO: Document each of those macros
6
7/// @defgroup Conditions Conditions
8/// @brief Rich boolean conditions for free-standing assertions and function-based matchers
9/// @{
10
11#define HART_TRUE(value)
12 ::hart::Condition::truth ((value), #value, __FILE__, __LINE__)
13
14#define HART_FALSE(value)
15 ::hart::Condition::falsehood ((value), #value, __FILE__, __LINE__)
16
17#define HART_EQUAL(lhs, rhs)
18 ::hart::Condition::equals ((lhs), (rhs), #lhs, #rhs, __FILE__, __LINE__)
19
20#define HART_EQ(lhs, rhs)
21 HART_EQUAL (lhs, rhs)
22
23#define HART_NOT_EQUAL(lhs, rhs)
24 ::hart::Condition::notEquals ((lhs), (rhs), #lhs, #rhs, __FILE__, __LINE__)
25
26#define HART_NE(lhs, rhs)
27 HART_NOT_EQUAL (lhs, rhs)
28
29#define HART_FLOAT_EQUAL(lhs, rhs, tolerance)
30 ::hart::Condition::floatEqual ((lhs), (rhs), (tolerance), #lhs, #rhs, #tolerance, __FILE__, __LINE__)
31
32#define HART_FLOAT_EQ(lhs, rhs, tolerance)
33 HART_FLOAT_EQUAL (lhs, rhs, tolerance)
34
35#define HART_FLOAT_NOT_EQUAL(lhs, rhs, tolerance)
36 ::hart::Condition::floatNotEqual ((lhs), (rhs), (tolerance), #lhs, #rhs, #tolerance, __FILE__, __LINE__)
37
38#define HART_FLOAT_NE(lhs, rhs, tolerance)
39 HART_FLOAT_NOT_EQUAL (lhs, rhs, tolerance)
40
41#define HART_FREQUENCIES_EQUAL(observedFrequencyHz, expectedFrequencyHz, toleranceCents)
42 ::hart::Condition::frequenciesEqual ((observedFrequencyHz), (expectedFrequencyHz), (toleranceCents), #observedFrequencyHz, #expectedFrequencyHz, #toleranceCents, __FILE__, __LINE__)
43
44#define HART_FREQ_EQ(observedFrequencyHz, expectedFrequencyHz, toleranceCents)
45 HART_FREQUENCIES_EQUAL(observedFrequencyHz, expectedFrequencyHz, toleranceCents)
46
47#define HART_FREQUENCIES_NOT_EQUAL(observedFrequencyHz, expectedFrequencyHz, toleranceCents)
48 ::hart::Condition::frequenciesNotEqual ((observedFrequencyHz), (expectedFrequencyHz), (toleranceCents), #observedFrequencyHz, #expectedFrequencyHz, #toleranceCents, __FILE__, __LINE__)
49
50#define HART_FREQ_NE(observedFrequencyHz, expectedFrequencyHz, toleranceCents)
51 HART_FREQUENCIES_NOT_EQUAL(observedFrequencyHz, expectedFrequencyHz, toleranceCents)
52
53#define HART_GREATER_THAN(lhs, rhs)
54 ::hart::Condition::greaterThan ((lhs), (rhs), #lhs, #rhs, __FILE__, __LINE__)
55
56#define HART_GT(lhs, rhs)
57 HART_GREATER_THAN (lhs, rhs)
58
59#define HART_GREATER_OR_EQUAL(lhs, rhs)
60 ::hart::Condition::greaterOrEqual ((lhs), (rhs), #lhs, #rhs, __FILE__, __LINE__)
61
62#define HART_GE(lhs, rhs)
63 HART_GREATER_OR_EQUAL (lhs, rhs)
64
65#define HART_LESS_THAN(lhs, rhs)
66 ::hart::Condition::lessThan ((lhs), (rhs), #lhs, #rhs, __FILE__, __LINE__)
67
68#define HART_LT(lhs, rhs)
69 HART_LESS_THAN (lhs, rhs)
70
71#define HART_LESS_OR_EQUAL(lhs, rhs)
72 ::hart::Condition::lessOrEqual ((lhs), (rhs), #lhs, #rhs, __FILE__, __LINE__)
73
74#define HART_LE(lhs, rhs)
75 HART_LESS_OR_EQUAL (lhs, rhs)
76
77#define HART_IN_RANGE(value, minValue, maxValue)
78 ::hart::Condition::inRange ((value), (minValue), (maxValue), #value, #minValue, #maxValue, __FILE__, __LINE__)
79
80#define HART_FLOAT_IN_RANGE(value, minValue, maxValue, tolerance)
81 ::hart::Condition::floatInRange ((value), (minValue), (maxValue), (tolerance), #value, #minValue, #maxValue, #tolerance, __FILE__, __LINE__)
82
83/// @}
#define HART_GREATER_THAN(lhs, rhs)
#define HART_NOT_EQUAL(lhs, rhs)
#define HART_FREQUENCIES_NOT_EQUAL(observedFrequencyHz, expectedFrequencyHz, toleranceCents)
#define HART_LESS_THAN(lhs, rhs)
#define HART_FLOAT_EQUAL(lhs, rhs, tolerance)
#define HART_FLOAT_NOT_EQUAL(lhs, rhs, tolerance)
#define HART_LESS_OR_EQUAL(lhs, rhs)
#define HART_EQUAL(lhs, rhs)
#define HART_GREATER_OR_EQUAL(lhs, rhs)
#define HART_FREQUENCIES_EQUAL(observedFrequencyHz, expectedFrequencyHz, toleranceCents)