trackler 2.0.8.24 → 2.0.8.26

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/c/config.json +9 -0
  4. data/tracks/c/exercises/nucleotide-count/makefile +15 -0
  5. data/tracks/c/exercises/nucleotide-count/src/example.c +43 -0
  6. data/tracks/c/exercises/nucleotide-count/src/example.h +6 -0
  7. data/tracks/c/exercises/nucleotide-count/test/test_nucleotide_count.c +58 -0
  8. data/tracks/c/exercises/nucleotide-count/test/vendor/unity.c +1300 -0
  9. data/tracks/c/exercises/nucleotide-count/test/vendor/unity.h +274 -0
  10. data/tracks/c/exercises/nucleotide-count/test/vendor/unity_internals.h +701 -0
  11. data/tracks/ceylon/README.md +2 -2
  12. data/tracks/csharp/.gitattributes +11 -0
  13. data/tracks/csharp/appveyor.yml +1 -4
  14. data/tracks/csharp/exercises/acronym/AcronymTest.cs +1 -1
  15. data/tracks/csharp/exercises/atbash-cipher/AtbashCipher.cs +8 -3
  16. data/tracks/csharp/exercises/atbash-cipher/AtbashCipherTest.cs +76 -0
  17. data/tracks/csharp/exercises/atbash-cipher/Example.cs +22 -23
  18. data/tracks/csharp/exercises/isogram/Example.cs +2 -2
  19. data/tracks/csharp/exercises/isogram/IsogramTest.cs +47 -15
  20. data/tracks/csharp/exercises/nth-prime/Example.cs +4 -1
  21. data/tracks/csharp/exercises/nth-prime/NthPrime.cs +1 -1
  22. data/tracks/csharp/exercises/nth-prime/NthPrimeTest.cs +29 -15
  23. data/tracks/csharp/exercises/perfect-numbers/Example.cs +14 -16
  24. data/tracks/csharp/exercises/perfect-numbers/PerfectNumbers.cs +2 -2
  25. data/tracks/csharp/exercises/perfect-numbers/PerfectNumbersTest.cs +78 -26
  26. data/tracks/csharp/exercises/pig-latin/PigLatinTest.cs +69 -24
  27. data/tracks/csharp/exercises/raindrops/Example.cs +1 -1
  28. data/tracks/csharp/exercises/raindrops/RaindropsTest.cs +93 -31
  29. data/tracks/csharp/exercises/roman-numerals/HINTS.md +2 -0
  30. data/tracks/csharp/exercises/roman-numerals/RomanNumeralsTest.cs +106 -23
  31. data/tracks/csharp/exercises/word-search/HINTS.md +6 -0
  32. data/tracks/csharp/generators/{TestClass.cs → Classes/TestClass.cs} +2 -1
  33. data/tracks/csharp/generators/{TestClassNameTransformer.cs → Classes/TestClassNameTransformer.cs} +1 -1
  34. data/tracks/csharp/generators/{TestClassRenderer.cs → Classes/TestClassRenderer.cs} +2 -1
  35. data/tracks/csharp/generators/Classes/TestedClassNameTransformer.cs +9 -0
  36. data/tracks/csharp/generators/{CanonicalData.cs → Data/CanonicalData.cs} +1 -1
  37. data/tracks/csharp/generators/{CanonicalDataCase.cs → Data/CanonicalDataCase.cs} +3 -3
  38. data/tracks/csharp/generators/{CanonicalDataCaseJsonConverter.cs → Data/CanonicalDataCaseJsonConverter.cs} +1 -1
  39. data/tracks/csharp/generators/{CanonicalDataCasesJsonConverter.cs → Data/CanonicalDataCasesJsonConverter.cs} +2 -2
  40. data/tracks/csharp/generators/{CanonicalDataParser.cs → Data/CanonicalDataParser.cs} +5 -5
  41. data/tracks/csharp/generators/{ExerciseCollection.cs → Data/ExerciseCollection.cs} +3 -3
  42. data/tracks/csharp/generators/Exercises/AcronymExercise.cs +20 -0
  43. data/tracks/csharp/generators/Exercises/AtbashCipherExercise.cs +20 -0
  44. data/tracks/csharp/generators/Exercises/BooleanExercise.cs +14 -0
  45. data/tracks/csharp/generators/Exercises/EqualityExercise.cs +14 -0
  46. data/tracks/csharp/generators/Exercises/Exercise.cs +59 -4
  47. data/tracks/csharp/generators/Exercises/IsogramExercise.cs +9 -0
  48. data/tracks/csharp/generators/Exercises/LeapExercise.cs +1 -4
  49. data/tracks/csharp/generators/Exercises/NthPrimeExercise.cs +25 -0
  50. data/tracks/csharp/generators/Exercises/PerfectNumbersExercise.cs +29 -0
  51. data/tracks/csharp/generators/Exercises/PigLatinExercise.cs +9 -0
  52. data/tracks/csharp/generators/Exercises/RaindropsExercise.cs +20 -0
  53. data/tracks/csharp/generators/Exercises/RomanNumeralsExercise.cs +30 -0
  54. data/tracks/csharp/generators/Helpers/StringExtensions.cs +8 -0
  55. data/tracks/csharp/generators/{To.cs → Helpers/To.cs} +4 -1
  56. data/tracks/csharp/generators/Methods/BooleanTestMethodGenerator.cs +32 -0
  57. data/tracks/csharp/generators/Methods/EqualityTestMethodGenerator.cs +25 -0
  58. data/tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs +30 -0
  59. data/tracks/csharp/generators/{TestMethod.cs → Methods/TestMethod.cs} +6 -3
  60. data/tracks/csharp/generators/Methods/TestMethodData.cs +12 -0
  61. data/tracks/csharp/generators/Methods/TestMethodGenerator.cs +64 -0
  62. data/tracks/csharp/generators/Methods/TestMethodNameTransformer.cs +23 -0
  63. data/tracks/csharp/generators/Methods/TestMethodOptions.cs +13 -0
  64. data/tracks/csharp/generators/{TestMethodRenderer.cs → Methods/TestMethodRenderer.cs} +1 -1
  65. data/tracks/csharp/generators/{TestedMethodNameTransformer.cs → Methods/TestedMethodNameTransformer.cs} +1 -1
  66. data/tracks/csharp/generators/Methods/TestedMethodType.cs +9 -0
  67. data/tracks/csharp/generators/Program.cs +2 -0
  68. data/tracks/elixir/config.json +7 -0
  69. data/tracks/elixir/exercises/diffie-hellman/HINTS.md +10 -0
  70. data/tracks/elixir/exercises/diffie-hellman/diffie_hellman.exs +61 -0
  71. data/tracks/elixir/exercises/diffie-hellman/diffie_hellman_test.exs +99 -0
  72. data/tracks/elixir/exercises/diffie-hellman/example.exs +64 -0
  73. data/tracks/haskell/exercises/pov/src/POV.hs +2 -2
  74. data/tracks/haskell/exercises/pythagorean-triplet/src/Triplet.hs +6 -3
  75. data/tracks/haskell/exercises/queen-attack/src/Queens.hs +1 -1
  76. data/tracks/haskell/exercises/raindrops/src/Raindrops.hs +2 -1
  77. data/tracks/haskell/exercises/robot-name/src/Robot.hs +2 -2
  78. data/tracks/haskell/exercises/robot-simulator/src/Robot.hs +6 -6
  79. data/tracks/haskell/exercises/roman-numerals/src/Roman.hs +2 -1
  80. data/tracks/haskell/exercises/run-length-encoding/src/RunLength.hs +2 -2
  81. data/tracks/haskell/exercises/saddle-points/src/Matrix.hs +2 -1
  82. data/tracks/haskell/exercises/say/src/Say.hs +2 -1
  83. data/tracks/haskell/exercises/scrabble-score/src/Scrabble.hs +4 -2
  84. data/tracks/haskell/exercises/secret-handshake/src/SecretHandshake.hs +1 -1
  85. data/tracks/haskell/exercises/sgf-parsing/src/Sgf.hs +1 -1
  86. data/tracks/java/exercises/acronym/src/example/java/Acronym.java +11 -1
  87. data/tracks/java/exercises/acronym/src/test/java/AcronymTest.java +8 -9
  88. data/tracks/java/exercises/grade-school/src/test/java/SchoolTest.java +8 -2
  89. data/tracks/java/exercises/luhn/src/test/java/LuhnValidatorTest.java +20 -13
  90. data/tracks/java/exercises/robot-name/src/test/java/RobotTest.java +6 -1
  91. data/tracks/javascript/README.md +1 -1
  92. data/tracks/javascript/docs/TESTS.md +9 -1
  93. data/tracks/kotlin/exercises/luhn/src/example/kotlin/Luhn.kt +18 -26
  94. data/tracks/kotlin/exercises/luhn/src/test/kotlin/LuhnTest.kt +40 -38
  95. data/tracks/php/README.md +1 -1
  96. data/tracks/php/config.json +5 -0
  97. data/tracks/php/exercises/perfect-numbers/example.php +23 -0
  98. data/tracks/php/exercises/perfect-numbers/perfect-numbers_test.php +99 -0
  99. data/tracks/purescript/.travis.yml +1 -0
  100. data/tracks/purescript/bin/test.sh +33 -8
  101. data/tracks/purescript/config.json +7 -0
  102. data/tracks/purescript/exercises/meetup/bower.json +17 -0
  103. data/tracks/purescript/exercises/meetup/examples/src/Meetup.purs +37 -0
  104. data/tracks/purescript/exercises/meetup/src/Meetup.purs +11 -0
  105. data/tracks/purescript/exercises/meetup/test/Main.purs +395 -0
  106. data/tracks/python/README.md +7 -6
  107. data/tracks/python/docs/TOOLS.md +3 -3
  108. data/tracks/python/exercises/bracket-push/bracket_push_test.py +32 -15
  109. data/tracks/python/exercises/hamming/hamming_test.py +2 -0
  110. data/tracks/python/exercises/luhn/luhn_test.py +2 -0
  111. data/tracks/python/test/check-exercises.py +7 -1
  112. metadata +56 -20
  113. data/tracks/csharp/exercises/atbash-cipher/AtbashTest.cs +0 -17
  114. data/tracks/csharp/generators/BooleanTestMethod.cs +0 -36
  115. data/tracks/csharp/generators/TestMethodNameTransformer.cs +0 -11
  116. data/tracks/csharp/generators/TestedClassNameTransformer.cs +0 -11
  117. data/tracks/java/exercises/allergies/src/main/java/.keep +0 -0
@@ -0,0 +1,701 @@
1
+ /* ==========================================
2
+ Unity Project - A Test Framework for C
3
+ Copyright (c) 2007-14 Mike Karlesky, Mark VanderVoord, Greg Williams
4
+ [Released under MIT License. Please refer to license.txt for details]
5
+ ========================================== */
6
+
7
+ #ifndef UNITY_INTERNALS_H
8
+ #define UNITY_INTERNALS_H
9
+
10
+ #ifdef UNITY_INCLUDE_CONFIG_H
11
+ #include "unity_config.h"
12
+ #endif
13
+
14
+ #include <setjmp.h>
15
+
16
+ // Unity Attempts to Auto-Detect Integer Types
17
+ // Attempt 1: UINT_MAX, ULONG_MAX, etc in <stdint.h>
18
+ // Attempt 2: UINT_MAX, ULONG_MAX, etc in <limits.h>
19
+ // Attempt 3: Deduced from sizeof() macros
20
+ #ifndef UNITY_EXCLUDE_STDINT_H
21
+ #include <stdint.h>
22
+ #endif
23
+
24
+ #ifndef UNITY_EXCLUDE_LIMITS_H
25
+ #include <limits.h>
26
+ #endif
27
+
28
+ #ifndef UNITY_EXCLUDE_SIZEOF
29
+ #ifndef UINT_MAX
30
+ #define UINT_MAX (sizeof(unsigned int) * 256 - 1)
31
+ #endif
32
+ #ifndef ULONG_MAX
33
+ #define ULONG_MAX (sizeof(unsigned long) * 256 - 1)
34
+ #endif
35
+ #ifndef UINTPTR_MAX
36
+ //apparently this is not a constant expression: (sizeof(unsigned int *) * 256 - 1) so we have to just let this fall through
37
+ #endif
38
+ #endif
39
+ //-------------------------------------------------------
40
+ // Guess Widths If Not Specified
41
+ //-------------------------------------------------------
42
+
43
+ // Determine the size of an int, if not already specificied.
44
+ // We cannot use sizeof(int), because it is not yet defined
45
+ // at this stage in the trnslation of the C program.
46
+ // Therefore, infer it from UINT_MAX if possible.
47
+ #ifndef UNITY_INT_WIDTH
48
+ #ifdef UINT_MAX
49
+ #if (UINT_MAX == 0xFFFF)
50
+ #define UNITY_INT_WIDTH (16)
51
+ #elif (UINT_MAX == 0xFFFFFFFF)
52
+ #define UNITY_INT_WIDTH (32)
53
+ #elif (UINT_MAX == 0xFFFFFFFFFFFFFFFF)
54
+ #define UNITY_INT_WIDTH (64)
55
+ #endif
56
+ #endif
57
+ #endif
58
+ #ifndef UNITY_INT_WIDTH
59
+ #define UNITY_INT_WIDTH (32)
60
+ #endif
61
+
62
+ // Determine the size of a long, if not already specified,
63
+ // by following the process used above to define
64
+ // UNITY_INT_WIDTH.
65
+ #ifndef UNITY_LONG_WIDTH
66
+ #ifdef ULONG_MAX
67
+ #if (ULONG_MAX == 0xFFFF)
68
+ #define UNITY_LONG_WIDTH (16)
69
+ #elif (ULONG_MAX == 0xFFFFFFFF)
70
+ #define UNITY_LONG_WIDTH (32)
71
+ #elif (ULONG_MAX == 0xFFFFFFFFFFFFFFFF)
72
+ #define UNITY_LONG_WIDTH (64)
73
+ #endif
74
+ #endif
75
+ #endif
76
+ #ifndef UNITY_LONG_WIDTH
77
+ #define UNITY_LONG_WIDTH (32)
78
+ #endif
79
+
80
+ // Determine the size of a pointer, if not already specified,
81
+ // by following the process used above to define
82
+ // UNITY_INT_WIDTH.
83
+ #ifndef UNITY_POINTER_WIDTH
84
+ #ifdef UINTPTR_MAX
85
+ #if (UINTPTR_MAX+0 <= 0xFFFF)
86
+ #define UNITY_POINTER_WIDTH (16)
87
+ #elif (UINTPTR_MAX+0 <= 0xFFFFFFFF)
88
+ #define UNITY_POINTER_WIDTH (32)
89
+ #elif (UINTPTR_MAX+0 <= 0xFFFFFFFFFFFFFFFF)
90
+ #define UNITY_POINTER_WIDTH (64)
91
+ #endif
92
+ #endif
93
+ #endif
94
+ #ifndef UNITY_POINTER_WIDTH
95
+ #ifdef INTPTR_MAX
96
+ #if (INTPTR_MAX+0 <= 0x7FFF)
97
+ #define UNITY_POINTER_WIDTH (16)
98
+ #elif (INTPTR_MAX+0 <= 0x7FFFFFFF)
99
+ #define UNITY_POINTER_WIDTH (32)
100
+ #elif (INTPTR_MAX+0 <= 0x7FFFFFFFFFFFFFFF)
101
+ #define UNITY_POINTER_WIDTH (64)
102
+ #endif
103
+ #endif
104
+ #endif
105
+ #ifndef UNITY_POINTER_WIDTH
106
+ #define UNITY_POINTER_WIDTH UNITY_LONG_WIDTH
107
+ #endif
108
+
109
+ //-------------------------------------------------------
110
+ // Int Support (Define types based on detected sizes)
111
+ //-------------------------------------------------------
112
+
113
+ #if (UNITY_INT_WIDTH == 32)
114
+ typedef unsigned char _UU8;
115
+ typedef unsigned short _UU16;
116
+ typedef unsigned int _UU32;
117
+ typedef signed char _US8;
118
+ typedef signed short _US16;
119
+ typedef signed int _US32;
120
+ #elif (UNITY_INT_WIDTH == 16)
121
+ typedef unsigned char _UU8;
122
+ typedef unsigned int _UU16;
123
+ typedef unsigned long _UU32;
124
+ typedef signed char _US8;
125
+ typedef signed int _US16;
126
+ typedef signed long _US32;
127
+ #else
128
+ #error Invalid UNITY_INT_WIDTH specified! (16 or 32 are supported)
129
+ #endif
130
+
131
+ //-------------------------------------------------------
132
+ // 64-bit Support
133
+ //-------------------------------------------------------
134
+
135
+ #ifndef UNITY_SUPPORT_64
136
+ #if UNITY_LONG_WIDTH > 32
137
+ #define UNITY_SUPPORT_64
138
+ #endif
139
+ #endif
140
+ #ifndef UNITY_SUPPORT_64
141
+ #if UNITY_POINTER_WIDTH > 32
142
+ #define UNITY_SUPPORT_64
143
+ #endif
144
+ #endif
145
+
146
+ #ifndef UNITY_SUPPORT_64
147
+
148
+ //No 64-bit Support
149
+ typedef _UU32 _U_UINT;
150
+ typedef _US32 _U_SINT;
151
+
152
+ #else
153
+
154
+ //64-bit Support
155
+ #if (UNITY_LONG_WIDTH == 32)
156
+ typedef unsigned long long _UU64;
157
+ typedef signed long long _US64;
158
+ #elif (UNITY_LONG_WIDTH == 64)
159
+ typedef unsigned long _UU64;
160
+ typedef signed long _US64;
161
+ #else
162
+ #error Invalid UNITY_LONG_WIDTH specified! (32 or 64 are supported)
163
+ #endif
164
+ typedef _UU64 _U_UINT;
165
+ typedef _US64 _U_SINT;
166
+
167
+ #endif
168
+
169
+ //-------------------------------------------------------
170
+ // Pointer Support
171
+ //-------------------------------------------------------
172
+
173
+ #if (UNITY_POINTER_WIDTH == 32)
174
+ typedef _UU32 _UP;
175
+ #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32
176
+ #elif (UNITY_POINTER_WIDTH == 64)
177
+ typedef _UU64 _UP;
178
+ #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX64
179
+ #elif (UNITY_POINTER_WIDTH == 16)
180
+ typedef _UU16 _UP;
181
+ #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX16
182
+ #else
183
+ #error Invalid UNITY_POINTER_WIDTH specified! (16, 32 or 64 are supported)
184
+ #endif
185
+
186
+ #ifndef UNITY_PTR_ATTRIBUTE
187
+ #define UNITY_PTR_ATTRIBUTE
188
+ #endif
189
+
190
+ //-------------------------------------------------------
191
+ // Float Support
192
+ //-------------------------------------------------------
193
+
194
+ #ifdef UNITY_EXCLUDE_FLOAT
195
+
196
+ //No Floating Point Support
197
+ #undef UNITY_INCLUDE_FLOAT
198
+ #undef UNITY_FLOAT_PRECISION
199
+ #undef UNITY_FLOAT_TYPE
200
+ #undef UNITY_FLOAT_VERBOSE
201
+
202
+ #else
203
+
204
+ #ifndef UNITY_INCLUDE_FLOAT
205
+ #define UNITY_INCLUDE_FLOAT
206
+ #endif
207
+
208
+ //Floating Point Support
209
+ #ifndef UNITY_FLOAT_PRECISION
210
+ #define UNITY_FLOAT_PRECISION (0.00001f)
211
+ #endif
212
+ #ifndef UNITY_FLOAT_TYPE
213
+ #define UNITY_FLOAT_TYPE float
214
+ #endif
215
+ typedef UNITY_FLOAT_TYPE _UF;
216
+
217
+ #endif
218
+
219
+ //-------------------------------------------------------
220
+ // Double Float Support
221
+ //-------------------------------------------------------
222
+
223
+ //unlike FLOAT, we DON'T include by default
224
+ #ifndef UNITY_EXCLUDE_DOUBLE
225
+ #ifndef UNITY_INCLUDE_DOUBLE
226
+ #define UNITY_EXCLUDE_DOUBLE
227
+ #endif
228
+ #endif
229
+
230
+ #ifdef UNITY_EXCLUDE_DOUBLE
231
+
232
+ //No Floating Point Support
233
+ #undef UNITY_DOUBLE_PRECISION
234
+ #undef UNITY_DOUBLE_TYPE
235
+ #undef UNITY_DOUBLE_VERBOSE
236
+
237
+ #ifdef UNITY_INCLUDE_DOUBLE
238
+ #undef UNITY_INCLUDE_DOUBLE
239
+ #endif
240
+
241
+ #else
242
+
243
+ //Double Floating Point Support
244
+ #ifndef UNITY_DOUBLE_PRECISION
245
+ #define UNITY_DOUBLE_PRECISION (1e-12f)
246
+ #endif
247
+ #ifndef UNITY_DOUBLE_TYPE
248
+ #define UNITY_DOUBLE_TYPE double
249
+ #endif
250
+ typedef UNITY_DOUBLE_TYPE _UD;
251
+
252
+ #endif
253
+
254
+ #ifdef UNITY_DOUBLE_VERBOSE
255
+ #ifndef UNITY_FLOAT_VERBOSE
256
+ #define UNITY_FLOAT_VERBOSE
257
+ #endif
258
+ #endif
259
+
260
+ //-------------------------------------------------------
261
+ // Output Method: stdout (DEFAULT)
262
+ //-------------------------------------------------------
263
+ #ifndef UNITY_OUTPUT_CHAR
264
+ //Default to using putchar, which is defined in stdio.h
265
+ #include <stdio.h>
266
+ #define UNITY_OUTPUT_CHAR(a) putchar(a)
267
+ #else
268
+ //If defined as something else, make sure we declare it here so it's ready for use
269
+ extern int UNITY_OUTPUT_CHAR(int);
270
+ #endif
271
+
272
+ #ifndef UNITY_OUTPUT_START
273
+ #define UNITY_OUTPUT_START()
274
+ #endif
275
+
276
+ #ifndef UNITY_OUTPUT_COMPLETE
277
+ #define UNITY_OUTPUT_COMPLETE()
278
+ #endif
279
+
280
+ //-------------------------------------------------------
281
+ // Footprint
282
+ //-------------------------------------------------------
283
+
284
+ #ifndef UNITY_LINE_TYPE
285
+ #define UNITY_LINE_TYPE _U_UINT
286
+ #endif
287
+
288
+ #ifndef UNITY_COUNTER_TYPE
289
+ #define UNITY_COUNTER_TYPE _U_UINT
290
+ #endif
291
+
292
+ //-------------------------------------------------------
293
+ // Language Features Available
294
+ //-------------------------------------------------------
295
+ #if !defined(UNITY_WEAK_ATTRIBUTE) && !defined(UNITY_WEAK_PRAGMA)
296
+ # ifdef __GNUC__ // includes clang
297
+ # if !(defined(__WIN32__) && defined(__clang__))
298
+ # define UNITY_WEAK_ATTRIBUTE __attribute__((weak))
299
+ # endif
300
+ # endif
301
+ #endif
302
+
303
+ #ifdef UNITY_NO_WEAK
304
+ # undef UNITY_WEAK_ATTRIBUTE
305
+ # undef UNITY_WEAK_PRAGMA
306
+ #endif
307
+
308
+
309
+ //-------------------------------------------------------
310
+ // Internal Structs Needed
311
+ //-------------------------------------------------------
312
+
313
+ typedef void (*UnityTestFunction)(void);
314
+
315
+ #define UNITY_DISPLAY_RANGE_INT (0x10)
316
+ #define UNITY_DISPLAY_RANGE_UINT (0x20)
317
+ #define UNITY_DISPLAY_RANGE_HEX (0x40)
318
+ #define UNITY_DISPLAY_RANGE_AUTO (0x80)
319
+
320
+ typedef enum
321
+ {
322
+ #if (UNITY_INT_WIDTH == 16)
323
+ UNITY_DISPLAY_STYLE_INT = 2 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO,
324
+ #elif (UNITY_INT_WIDTH == 32)
325
+ UNITY_DISPLAY_STYLE_INT = 4 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO,
326
+ #elif (UNITY_INT_WIDTH == 64)
327
+ UNITY_DISPLAY_STYLE_INT = 8 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO,
328
+ #endif
329
+ UNITY_DISPLAY_STYLE_INT8 = 1 + UNITY_DISPLAY_RANGE_INT,
330
+ UNITY_DISPLAY_STYLE_INT16 = 2 + UNITY_DISPLAY_RANGE_INT,
331
+ UNITY_DISPLAY_STYLE_INT32 = 4 + UNITY_DISPLAY_RANGE_INT,
332
+ #ifdef UNITY_SUPPORT_64
333
+ UNITY_DISPLAY_STYLE_INT64 = 8 + UNITY_DISPLAY_RANGE_INT,
334
+ #endif
335
+
336
+ #if (UNITY_INT_WIDTH == 16)
337
+ UNITY_DISPLAY_STYLE_UINT = 2 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO,
338
+ #elif (UNITY_INT_WIDTH == 32)
339
+ UNITY_DISPLAY_STYLE_UINT = 4 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO,
340
+ #elif (UNITY_INT_WIDTH == 64)
341
+ UNITY_DISPLAY_STYLE_UINT = 8 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO,
342
+ #endif
343
+ UNITY_DISPLAY_STYLE_UINT8 = 1 + UNITY_DISPLAY_RANGE_UINT,
344
+ UNITY_DISPLAY_STYLE_UINT16 = 2 + UNITY_DISPLAY_RANGE_UINT,
345
+ UNITY_DISPLAY_STYLE_UINT32 = 4 + UNITY_DISPLAY_RANGE_UINT,
346
+ #ifdef UNITY_SUPPORT_64
347
+ UNITY_DISPLAY_STYLE_UINT64 = 8 + UNITY_DISPLAY_RANGE_UINT,
348
+ #endif
349
+ UNITY_DISPLAY_STYLE_HEX8 = 1 + UNITY_DISPLAY_RANGE_HEX,
350
+ UNITY_DISPLAY_STYLE_HEX16 = 2 + UNITY_DISPLAY_RANGE_HEX,
351
+ UNITY_DISPLAY_STYLE_HEX32 = 4 + UNITY_DISPLAY_RANGE_HEX,
352
+ #ifdef UNITY_SUPPORT_64
353
+ UNITY_DISPLAY_STYLE_HEX64 = 8 + UNITY_DISPLAY_RANGE_HEX,
354
+ #endif
355
+ UNITY_DISPLAY_STYLE_UNKNOWN
356
+ } UNITY_DISPLAY_STYLE_T;
357
+
358
+ #ifndef UNITY_EXCLUDE_FLOAT
359
+ typedef enum _UNITY_FLOAT_TRAIT_T
360
+ {
361
+ UNITY_FLOAT_IS_NOT_INF = 0,
362
+ UNITY_FLOAT_IS_INF,
363
+ UNITY_FLOAT_IS_NOT_NEG_INF,
364
+ UNITY_FLOAT_IS_NEG_INF,
365
+ UNITY_FLOAT_IS_NOT_NAN,
366
+ UNITY_FLOAT_IS_NAN,
367
+ UNITY_FLOAT_IS_NOT_DET,
368
+ UNITY_FLOAT_IS_DET,
369
+ } UNITY_FLOAT_TRAIT_T;
370
+ #endif
371
+
372
+ struct _Unity
373
+ {
374
+ const char* TestFile;
375
+ const char* CurrentTestName;
376
+ UNITY_LINE_TYPE CurrentTestLineNumber;
377
+ UNITY_COUNTER_TYPE NumberOfTests;
378
+ UNITY_COUNTER_TYPE TestFailures;
379
+ UNITY_COUNTER_TYPE TestIgnores;
380
+ UNITY_COUNTER_TYPE CurrentTestFailed;
381
+ UNITY_COUNTER_TYPE CurrentTestIgnored;
382
+ jmp_buf AbortFrame;
383
+ };
384
+
385
+ extern struct _Unity Unity;
386
+
387
+ //-------------------------------------------------------
388
+ // Test Suite Management
389
+ //-------------------------------------------------------
390
+
391
+ void UnityBegin(const char* filename);
392
+ int UnityEnd(void);
393
+ void UnityConcludeTest(void);
394
+ void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum);
395
+
396
+ //-------------------------------------------------------
397
+ // Test Output
398
+ //-------------------------------------------------------
399
+
400
+ void UnityPrint(const char* string);
401
+ void UnityPrintMask(const _U_UINT mask, const _U_UINT number);
402
+ void UnityPrintNumberByStyle(const _U_SINT number, const UNITY_DISPLAY_STYLE_T style);
403
+ void UnityPrintNumber(const _U_SINT number);
404
+ void UnityPrintNumberUnsigned(const _U_UINT number);
405
+ void UnityPrintNumberHex(const _U_UINT number, const char nibbles);
406
+
407
+ #ifdef UNITY_FLOAT_VERBOSE
408
+ void UnityPrintFloat(const _UF number);
409
+ #endif
410
+
411
+ //-------------------------------------------------------
412
+ // Test Assertion Fuctions
413
+ //-------------------------------------------------------
414
+ // Use the macros below this section instead of calling
415
+ // these directly. The macros have a consistent naming
416
+ // convention and will pull in file and line information
417
+ // for you.
418
+
419
+ void UnityAssertEqualNumber(const _U_SINT expected,
420
+ const _U_SINT actual,
421
+ const char* msg,
422
+ const UNITY_LINE_TYPE lineNumber,
423
+ const UNITY_DISPLAY_STYLE_T style);
424
+
425
+ void UnityAssertEqualIntArray(UNITY_PTR_ATTRIBUTE const void* expected,
426
+ UNITY_PTR_ATTRIBUTE const void* actual,
427
+ const _UU32 num_elements,
428
+ const char* msg,
429
+ const UNITY_LINE_TYPE lineNumber,
430
+ const UNITY_DISPLAY_STYLE_T style);
431
+
432
+ void UnityAssertBits(const _U_SINT mask,
433
+ const _U_SINT expected,
434
+ const _U_SINT actual,
435
+ const char* msg,
436
+ const UNITY_LINE_TYPE lineNumber);
437
+
438
+ void UnityAssertEqualString(const char* expected,
439
+ const char* actual,
440
+ const char* msg,
441
+ const UNITY_LINE_TYPE lineNumber);
442
+
443
+ void UnityAssertEqualStringLen(const char* expected,
444
+ const char* actual,
445
+ const _UU32 length,
446
+ const char* msg,
447
+ const UNITY_LINE_TYPE lineNumber);
448
+
449
+ void UnityAssertEqualStringArray( const char** expected,
450
+ const char** actual,
451
+ const _UU32 num_elements,
452
+ const char* msg,
453
+ const UNITY_LINE_TYPE lineNumber);
454
+
455
+ void UnityAssertEqualMemory( UNITY_PTR_ATTRIBUTE const void* expected,
456
+ UNITY_PTR_ATTRIBUTE const void* actual,
457
+ const _UU32 length,
458
+ const _UU32 num_elements,
459
+ const char* msg,
460
+ const UNITY_LINE_TYPE lineNumber);
461
+
462
+ void UnityAssertNumbersWithin(const _U_SINT delta,
463
+ const _U_SINT expected,
464
+ const _U_SINT actual,
465
+ const char* msg,
466
+ const UNITY_LINE_TYPE lineNumber,
467
+ const UNITY_DISPLAY_STYLE_T style);
468
+
469
+ void UnityFail(const char* message, const UNITY_LINE_TYPE line);
470
+
471
+ void UnityIgnore(const char* message, const UNITY_LINE_TYPE line);
472
+
473
+ #ifndef UNITY_EXCLUDE_FLOAT
474
+ void UnityAssertFloatsWithin(const _UF delta,
475
+ const _UF expected,
476
+ const _UF actual,
477
+ const char* msg,
478
+ const UNITY_LINE_TYPE lineNumber);
479
+
480
+ void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const _UF* expected,
481
+ UNITY_PTR_ATTRIBUTE const _UF* actual,
482
+ const _UU32 num_elements,
483
+ const char* msg,
484
+ const UNITY_LINE_TYPE lineNumber);
485
+
486
+ void UnityAssertFloatSpecial(const _UF actual,
487
+ const char* msg,
488
+ const UNITY_LINE_TYPE lineNumber,
489
+ const UNITY_FLOAT_TRAIT_T style);
490
+ #endif
491
+
492
+ #ifndef UNITY_EXCLUDE_DOUBLE
493
+ void UnityAssertDoublesWithin(const _UD delta,
494
+ const _UD expected,
495
+ const _UD actual,
496
+ const char* msg,
497
+ const UNITY_LINE_TYPE lineNumber);
498
+
499
+ void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const _UD* expected,
500
+ UNITY_PTR_ATTRIBUTE const _UD* actual,
501
+ const _UU32 num_elements,
502
+ const char* msg,
503
+ const UNITY_LINE_TYPE lineNumber);
504
+
505
+ void UnityAssertDoubleSpecial(const _UD actual,
506
+ const char* msg,
507
+ const UNITY_LINE_TYPE lineNumber,
508
+ const UNITY_FLOAT_TRAIT_T style);
509
+ #endif
510
+
511
+ //-------------------------------------------------------
512
+ // Error Strings We Might Need
513
+ //-------------------------------------------------------
514
+
515
+ extern const char UnityStrErrFloat[];
516
+ extern const char UnityStrErrDouble[];
517
+ extern const char UnityStrErr64[];
518
+
519
+ //-------------------------------------------------------
520
+ // Test Running Macros
521
+ //-------------------------------------------------------
522
+
523
+ #define TEST_PROTECT() (setjmp(Unity.AbortFrame) == 0)
524
+
525
+ #define TEST_ABORT() {longjmp(Unity.AbortFrame, 1);}
526
+
527
+ //This tricky series of macros gives us an optional line argument to treat it as RUN_TEST(func, num=__LINE__)
528
+ #ifndef RUN_TEST
529
+ #ifdef __STDC_VERSION__
530
+ #if __STDC_VERSION__ >= 199901L
531
+ #define RUN_TEST(...) UnityDefaultTestRun(RUN_TEST_FIRST(__VA_ARGS__), RUN_TEST_SECOND(__VA_ARGS__))
532
+ #define RUN_TEST_FIRST(...) RUN_TEST_FIRST_HELPER(__VA_ARGS__, throwaway)
533
+ #define RUN_TEST_FIRST_HELPER(first,...) first, #first
534
+ #define RUN_TEST_SECOND(...) RUN_TEST_SECOND_HELPER(__VA_ARGS__, __LINE__, throwaway)
535
+ #define RUN_TEST_SECOND_HELPER(first,second,...) second
536
+ #endif
537
+ #endif
538
+ #endif
539
+
540
+ //If we can't do the tricky version, we'll just have to require them to always include the line number
541
+ #ifndef RUN_TEST
542
+ #ifdef CMOCK
543
+ #define RUN_TEST(func, num) UnityDefaultTestRun(func, #func, num)
544
+ #else
545
+ #define RUN_TEST(func) UnityDefaultTestRun(func, #func, __LINE__)
546
+ #endif
547
+ #endif
548
+
549
+ #define TEST_LINE_NUM (Unity.CurrentTestLineNumber)
550
+ #define TEST_IS_IGNORED (Unity.CurrentTestIgnored)
551
+ #define UNITY_NEW_TEST(a) \
552
+ Unity.CurrentTestName = a; \
553
+ Unity.CurrentTestLineNumber = (UNITY_LINE_TYPE)(__LINE__); \
554
+ Unity.NumberOfTests++;
555
+
556
+ #ifndef UNITY_BEGIN
557
+ #define UNITY_BEGIN() UnityBegin(__FILE__)
558
+ #endif
559
+
560
+ #ifndef UNITY_END
561
+ #define UNITY_END() UnityEnd()
562
+ #endif
563
+
564
+ #define UNITY_UNUSED(x) (void)(sizeof(x))
565
+
566
+ //-------------------------------------------------------
567
+ // Basic Fail and Ignore
568
+ //-------------------------------------------------------
569
+
570
+ #define UNITY_TEST_FAIL(line, message) UnityFail( (message), (UNITY_LINE_TYPE)line);
571
+ #define UNITY_TEST_IGNORE(line, message) UnityIgnore( (message), (UNITY_LINE_TYPE)line);
572
+
573
+ //-------------------------------------------------------
574
+ // Test Asserts
575
+ //-------------------------------------------------------
576
+
577
+ #define UNITY_TEST_ASSERT(condition, line, message) if (condition) {} else {UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, message);}
578
+ #define UNITY_TEST_ASSERT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) == NULL), (UNITY_LINE_TYPE)line, message)
579
+ #define UNITY_TEST_ASSERT_NOT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) != NULL), (UNITY_LINE_TYPE)line, message)
580
+
581
+ #define UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT)
582
+ #define UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US8 )(expected), (_U_SINT)(_US8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT8)
583
+ #define UNITY_TEST_ASSERT_EQUAL_INT16(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US16)(expected), (_U_SINT)(_US16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT16)
584
+ #define UNITY_TEST_ASSERT_EQUAL_INT32(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US32)(expected), (_U_SINT)(_US32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT32)
585
+ #define UNITY_TEST_ASSERT_EQUAL_UINT(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT)
586
+ #define UNITY_TEST_ASSERT_EQUAL_UINT8(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_UU8 )(expected), (_U_SINT)(_UU8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT8)
587
+ #define UNITY_TEST_ASSERT_EQUAL_UINT16(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_UU16)(expected), (_U_SINT)(_UU16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT16)
588
+ #define UNITY_TEST_ASSERT_EQUAL_UINT32(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_UU32)(expected), (_U_SINT)(_UU32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT32)
589
+ #define UNITY_TEST_ASSERT_EQUAL_HEX8(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US8 )(expected), (_U_SINT)(_US8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8)
590
+ #define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US16)(expected), (_U_SINT)(_US16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16)
591
+ #define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US32)(expected), (_U_SINT)(_US32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32)
592
+ #define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((_U_SINT)(mask), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line)
593
+
594
+ #define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT)
595
+ #define UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_US8 )(delta), (_U_SINT)(_US8 )(expected), (_U_SINT)(_US8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT8)
596
+ #define UNITY_TEST_ASSERT_INT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_US16)(delta), (_U_SINT)(_US16)(expected), (_U_SINT)(_US16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT16)
597
+ #define UNITY_TEST_ASSERT_INT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_US32)(delta), (_U_SINT)(_US32)(expected), (_U_SINT)(_US32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT32)
598
+ #define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT)
599
+ #define UNITY_TEST_ASSERT_UINT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU8 )(delta), (_U_SINT)(_U_UINT)(_UU8 )(expected), (_U_SINT)(_U_UINT)(_UU8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT8)
600
+ #define UNITY_TEST_ASSERT_UINT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU16)(delta), (_U_SINT)(_U_UINT)(_UU16)(expected), (_U_SINT)(_U_UINT)(_UU16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT16)
601
+ #define UNITY_TEST_ASSERT_UINT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU32)(delta), (_U_SINT)(_U_UINT)(_UU32)(expected), (_U_SINT)(_U_UINT)(_UU32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT32)
602
+ #define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU8 )(delta), (_U_SINT)(_U_UINT)(_UU8 )(expected), (_U_SINT)(_U_UINT)(_UU8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8)
603
+ #define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU16)(delta), (_U_SINT)(_U_UINT)(_UU16)(expected), (_U_SINT)(_U_UINT)(_UU16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16)
604
+ #define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU32)(delta), (_U_SINT)(_U_UINT)(_UU32)(expected), (_U_SINT)(_U_UINT)(_UU32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32)
605
+
606
+ #define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_UP)(expected), (_U_SINT)(_UP)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_POINTER)
607
+ #define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)line)
608
+ #define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (_UU32)(len), (message), (UNITY_LINE_TYPE)line)
609
+ #define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_PTR_ATTRIBUTE void*)(expected), (UNITY_PTR_ATTRIBUTE void*)(actual), (_UU32)(len), 1, (message), (UNITY_LINE_TYPE)line)
610
+
611
+ #define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const void*)(expected), (UNITY_PTR_ATTRIBUTE const void*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT)
612
+ #define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const void*)(expected), (UNITY_PTR_ATTRIBUTE const void*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT8)
613
+ #define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const void*)(expected), (UNITY_PTR_ATTRIBUTE const void*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT16)
614
+ #define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const void*)(expected), (UNITY_PTR_ATTRIBUTE const void*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT32)
615
+ #define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const void*)(expected), (UNITY_PTR_ATTRIBUTE const void*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT)
616
+ #define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const void*)(expected), (UNITY_PTR_ATTRIBUTE const void*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT8)
617
+ #define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const void*)(expected), (UNITY_PTR_ATTRIBUTE const void*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT16)
618
+ #define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const void*)(expected), (UNITY_PTR_ATTRIBUTE const void*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT32)
619
+ #define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const void*)(expected), (UNITY_PTR_ATTRIBUTE const void*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8)
620
+ #define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const void*)(expected), (UNITY_PTR_ATTRIBUTE const void*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16)
621
+ #define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const void*)(expected), (UNITY_PTR_ATTRIBUTE const void*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32)
622
+ #define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const void*)(_UP*)(expected), (const void*)(_UP*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_POINTER)
623
+ #define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((const char**)(expected), (const char**)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
624
+ #define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_PTR_ATTRIBUTE void*)(expected), (UNITY_PTR_ATTRIBUTE void*)(actual), (_UU32)(len), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
625
+
626
+ #ifdef UNITY_SUPPORT_64
627
+ #define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT64)
628
+ #define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT64)
629
+ #define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX64)
630
+ #define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const _U_SINT*)(expected), (UNITY_PTR_ATTRIBUTE const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT64)
631
+ #define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const _U_SINT*)(expected), (UNITY_PTR_ATTRIBUTE const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT64)
632
+ #define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_PTR_ATTRIBUTE const _U_SINT*)(expected), (UNITY_PTR_ATTRIBUTE const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX64)
633
+ #define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), NULL, (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT64)
634
+ #define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), NULL, (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT64)
635
+ #define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), NULL, (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX64)
636
+ #else
637
+ #define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErr64)
638
+ #define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErr64)
639
+ #define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErr64)
640
+ #define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErr64)
641
+ #define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErr64)
642
+ #define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErr64)
643
+ #define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErr64)
644
+ #define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErr64)
645
+ #define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErr64)
646
+ #endif
647
+
648
+ #ifdef UNITY_EXCLUDE_FLOAT
649
+ #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrFloat)
650
+ #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrFloat)
651
+ #define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrFloat)
652
+ #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrFloat)
653
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrFloat)
654
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrFloat)
655
+ #define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrFloat)
656
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrFloat)
657
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrFloat)
658
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrFloat)
659
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrFloat)
660
+ #else
661
+ #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((_UF)(delta), (_UF)(expected), (_UF)(actual), (message), (UNITY_LINE_TYPE)line)
662
+ #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((_UF)(expected) * (_UF)UNITY_FLOAT_PRECISION, (_UF)expected, (_UF)actual, (UNITY_LINE_TYPE)line, message)
663
+ #define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((_UF*)(expected), (_UF*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
664
+ #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_INF)
665
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_NEG_INF)
666
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_NAN)
667
+ #define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_DET)
668
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_NOT_INF)
669
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_NOT_NEG_INF)
670
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_NOT_NAN)
671
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((_UF)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_NOT_DET)
672
+ #endif
673
+
674
+ #ifdef UNITY_EXCLUDE_DOUBLE
675
+ #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrDouble)
676
+ #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrDouble)
677
+ #define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrDouble)
678
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrDouble)
679
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrDouble)
680
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrDouble)
681
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrDouble)
682
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrDouble)
683
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrDouble)
684
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrDouble)
685
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, UnityStrErrDouble)
686
+ #else
687
+ #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((_UD)(delta), (_UD)(expected), (_UD)(actual), (message), (UNITY_LINE_TYPE)line)
688
+ #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((_UD)(expected) * (_UD)UNITY_DOUBLE_PRECISION, (_UD)expected, (_UD)actual, (UNITY_LINE_TYPE)line, message)
689
+ #define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((_UD*)(expected), (_UD*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
690
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_INF)
691
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_NEG_INF)
692
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_NAN)
693
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_DET)
694
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_NOT_INF)
695
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_NOT_NEG_INF)
696
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_NOT_NAN)
697
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((_UD)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_FLOAT_IS_NOT_DET)
698
+ #endif
699
+
700
+ //End of UNITY_INTERNALS_H
701
+ #endif