-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathasserts.h
57 lines (44 loc) · 1.87 KB
/
asserts.h
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
53
54
55
56
57
#pragma once
#include "AudioMath.h"
#include <assert.h>
#include <iostream>
/**
* Our own little assert library, loosely inspired by Chai Assert.
*
* Will print information on failure, then generate a "real" assertion
*/
#define assertEQEx(actual, expected, msg) if (actual != expected) { \
std::cout << "assertEq failed " << msg << " actual value =" << \
actual << " expected=" << expected << std::endl; \
assert(false); }
#define assertEQ(actual, expected) assertEQEx(actual, expected, "")
#define assertNEEx(actual, expected, msg) if (actual == expected) { \
std::cout << "assertNE failed " << msg << " did not expect " << \
actual << " to be == to " << expected << std::endl; \
assert(false); }
#define assertNE(actual, expected) assertNEEx(actual, expected, "")
#define assertClose(actual, expected, diff) if (!AudioMath::closeTo(actual, expected, diff)) { \
std::cout << "assertClose failed actual value =" << \
actual << " expected=" << expected << std::endl << std::flush; \
assert(false); }
// assert less than
#define assertLT(actual, expected) if ( actual >= expected) { \
std::cout << "assertLt " << expected << " actual value = " << \
actual << std::endl ; \
assert(false); }
// assert less than or equal to
#define assertLE(actual, expected) if ( actual > expected) { \
std::cout << "assertLE " << expected << " actual value = " << \
actual << std::endl ; \
assert(false); }
// assert greater than
#define assertGT(actual, expected) if ( actual <= expected) { \
std::cout << "assertGT " << expected << " actual value = " << \
actual << std::endl ; \
assert(false); }
// assert greater than or equal to
#define assertGE(actual, expected) if ( actual < expected) { \
std::cout << "assertGE " << expected << " actual value = " << \
actual << std::endl ; \
assert(false); }
// leave space after macro