1 /* ==========================================
2 Unity Project - A Test Framework for C
3 Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4 [Released under MIT License. Please refer to license.txt for details]
5 ========================================== */
6
7 #include "unity.h"
8 #include <string.h>
9 #include <stdint.h>
10
11 /* Dividing by these constants produces +/- infinity.
12 * The rationale is given in UnityAssertFloatIsInf's body.
13 */
14 #ifndef UNITY_EXCLUDE_FLOAT
15 static const UNITY_FLOAT f_zero = 0.0f;
16 #endif
17
18 #ifndef UNITY_EXCLUDE_DOUBLE
19 static const UNITY_DOUBLE d_zero = 0.0;
20 #endif
21
22 #define EXPECT_ABORT_BEGIN \
23 startPutcharSpy(); \
24 if (TEST_PROTECT()) \
25 {
26
27 #define VERIFY_FAILS_END \
28 } \
29 endPutcharSpy(); /* start/end Spy to suppress output of failure message */ \
30 Unity.CurrentTestFailed = (Unity.CurrentTestFailed == 1) ? 0 : 1; \
31 if (Unity.CurrentTestFailed == 1) { \
32 SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
33 UnityPrintNumberUnsigned(Unity.CurrentTestLineNumber); \
34 UNITY_OUTPUT_CHAR(':'); \
35 UnityPrint(Unity.CurrentTestName); \
36 UnityPrint(":FAIL: [[[[ Test Should Have Failed But Did Not ]]]]"); \
37 UNITY_OUTPUT_CHAR('\n'); \
38 }
39
40 #define VERIFY_IGNORES_END \
41 } \
42 endPutcharSpy(); /* start/end Spy to suppress output of ignore message */ \
43 Unity.CurrentTestFailed = (Unity.CurrentTestIgnored == 1) ? 0 : 1; \
44 Unity.CurrentTestIgnored = 0; \
45 if (Unity.CurrentTestFailed == 1) { \
46 SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
47 UnityPrintNumberUnsigned(Unity.CurrentTestLineNumber); \
48 UNITY_OUTPUT_CHAR(':'); \
49 UnityPrint(Unity.CurrentTestName); \
50 UnityPrint(":FAIL: [[[[ Test Should Have Ignored But Did Not ]]]]"); \
51 UNITY_OUTPUT_CHAR('\n'); \
52 }
53
54 void startPutcharSpy(void);
55 void endPutcharSpy(void);
56 char* getBufferPutcharSpy(void);
57
58 void startFlushSpy(void);
59 void endFlushSpy(void);
60 int getFlushSpyCalls(void);
61
62 static int SetToOneToFailInTearDown;
63 static int SetToOneMeanWeAlreadyCheckedThisGuy;
64
setUp(void)65 void setUp(void)
66 {
67 SetToOneToFailInTearDown = 0;
68 SetToOneMeanWeAlreadyCheckedThisGuy = 0;
69 }
70
tearDown(void)71 void tearDown(void)
72 {
73 endPutcharSpy(); /* Stop suppressing test output */
74 if (SetToOneToFailInTearDown == 1)
75 {
76 /* These will be skipped internally if already failed/ignored */
77 TEST_FAIL_MESSAGE("<= Failed in tearDown");
78 TEST_IGNORE_MESSAGE("<= Ignored in tearDown");
79 }
80 if ((SetToOneMeanWeAlreadyCheckedThisGuy == 0) && (Unity.CurrentTestFailed > 0))
81 {
82 UnityPrint(": [[[[ Test Should Have Passed But Did Not ]]]]");
83 UNITY_OUTPUT_CHAR('\n');
84 }
85 }
86
testUnitySizeInitializationReminder(void)87 void testUnitySizeInitializationReminder(void)
88 {
89 /* This test ensures that sizeof(struct UNITY_STORAGE_T) doesn't change. If this
90 * test breaks, go look at the initialization of the Unity global variable
91 * in unity.c and make sure we're filling in the proper fields. */
92 const char* message = "Unexpected size for UNITY_STORAGE_T struct. Please check that "
93 "the initialization of the Unity symbol in unity.c is "
94 "still correct.";
95
96 /* Define a structure with all the same fields as `struct UNITY_STORAGE_T`. */
97 #ifdef UNITY_EXCLUDE_DETAILS
98 struct {
99 const char* TestFile;
100 const char* CurrentTestName;
101 UNITY_LINE_TYPE CurrentTestLineNumber;
102 UNITY_COUNTER_TYPE NumberOfTests;
103 UNITY_COUNTER_TYPE TestFailures;
104 UNITY_COUNTER_TYPE TestIgnores;
105 UNITY_COUNTER_TYPE CurrentTestFailed;
106 UNITY_COUNTER_TYPE CurrentTestIgnored;
107 #ifdef UNITY_INCLUDE_EXEC_TIME
108 UNITY_TIME_TYPE CurrentTestStartTime;
109 UNITY_TIME_TYPE CurrentTestStopTime;
110 #endif
111 #ifndef UNITY_EXCLUDE_SETJMP_H
112 jmp_buf AbortFrame;
113 #endif
114 } _Expected_Unity;
115 #else
116 struct {
117 const char* TestFile;
118 const char* CurrentTestName;
119 const char* CurrentDetails1;
120 const char* CurrentDetails2;
121 UNITY_LINE_TYPE CurrentTestLineNumber;
122 UNITY_COUNTER_TYPE NumberOfTests;
123 UNITY_COUNTER_TYPE TestFailures;
124 UNITY_COUNTER_TYPE TestIgnores;
125 UNITY_COUNTER_TYPE CurrentTestFailed;
126 UNITY_COUNTER_TYPE CurrentTestIgnored;
127 #ifdef UNITY_INCLUDE_EXEC_TIME
128 UNITY_COUNTER_TYPE CurrentTestStartTime;
129 UNITY_COUNTER_TYPE CurrentTestStopTime;
130 #endif
131 #ifndef UNITY_EXCLUDE_SETJMP_H
132 jmp_buf AbortFrame;
133 #endif
134 } _Expected_Unity;
135 #endif
136
137 /* Compare our fake structure's size to the actual structure's size. They
138 * should be the same.
139 *
140 * This accounts for alignment, padding, and packing issues that might come
141 * up between different architectures. */
142 TEST_ASSERT_EQUAL_MESSAGE(sizeof(_Expected_Unity), sizeof(Unity), message);
143 }
144
testPassShouldEndImmediatelyWithPass(void)145 void testPassShouldEndImmediatelyWithPass(void)
146 {
147 TEST_PASS();
148 TEST_FAIL_MESSAGE("We should have passed already and finished this test");
149 }
150
testPassShouldEndImmediatelyWithPassAndMessage(void)151 void testPassShouldEndImmediatelyWithPassAndMessage(void)
152 {
153 TEST_PASS_MESSAGE("Woohoo! This Automatically Passes!");
154 TEST_FAIL_MESSAGE("We should have passed already and finished this test");
155 }
156
testMessageShouldDisplayMessageWithoutEndingAndGoOnToPass(void)157 void testMessageShouldDisplayMessageWithoutEndingAndGoOnToPass(void)
158 {
159 TEST_MESSAGE("This is just a message");
160 TEST_MESSAGE("This is another message");
161 TEST_PASS();
162 }
163
testMessageShouldDisplayMessageWithoutEndingAndGoOnToFail(void)164 void testMessageShouldDisplayMessageWithoutEndingAndGoOnToFail(void)
165 {
166 TEST_MESSAGE("This is yet another message");
167
168 EXPECT_ABORT_BEGIN
169 TEST_FAIL();
170 VERIFY_FAILS_END
171 }
172
testTrue(void)173 void testTrue(void)
174 {
175 TEST_ASSERT(1);
176
177 TEST_ASSERT_TRUE(1);
178 }
179
testFalse(void)180 void testFalse(void)
181 {
182 TEST_ASSERT_FALSE(0);
183
184 TEST_ASSERT_UNLESS(0);
185 }
186
testPreviousPass(void)187 void testPreviousPass(void)
188 {
189 TEST_ASSERT_EQUAL_INT(0U, Unity.TestFailures);
190 }
191
testNotVanilla(void)192 void testNotVanilla(void)
193 {
194 EXPECT_ABORT_BEGIN
195 TEST_ASSERT(0);
196 VERIFY_FAILS_END
197 }
198
testNotTrue(void)199 void testNotTrue(void)
200 {
201 EXPECT_ABORT_BEGIN
202 TEST_ASSERT_TRUE(0);
203 VERIFY_FAILS_END
204 }
205
testNotFalse(void)206 void testNotFalse(void)
207 {
208 EXPECT_ABORT_BEGIN
209 TEST_ASSERT_FALSE(1);
210 VERIFY_FAILS_END
211 }
212
testNotUnless(void)213 void testNotUnless(void)
214 {
215 EXPECT_ABORT_BEGIN
216 TEST_ASSERT_UNLESS(1);
217 VERIFY_FAILS_END
218 }
219
testNotNotEqual(void)220 void testNotNotEqual(void)
221 {
222 EXPECT_ABORT_BEGIN
223 TEST_ASSERT_NOT_EQUAL(10, 10);
224 VERIFY_FAILS_END
225 }
226
testFail(void)227 void testFail(void)
228 {
229 EXPECT_ABORT_BEGIN
230 TEST_FAIL_MESSAGE("Expected for testing");
231 VERIFY_FAILS_END
232 }
233
testIsNull(void)234 void testIsNull(void)
235 {
236 char* ptr1 = NULL;
237 const char* ptr2 = "hello";
238
239 TEST_ASSERT_NULL(ptr1);
240 TEST_ASSERT_NOT_NULL(ptr2);
241 }
242
testIsNullShouldFailIfNot(void)243 void testIsNullShouldFailIfNot(void)
244 {
245 const char* ptr1 = "hello";
246
247 EXPECT_ABORT_BEGIN
248 TEST_ASSERT_NULL(ptr1);
249 VERIFY_FAILS_END
250 }
251
testNotNullShouldFailIfNULL(void)252 void testNotNullShouldFailIfNULL(void)
253 {
254 char* ptr1 = NULL;
255
256 EXPECT_ABORT_BEGIN
257 TEST_ASSERT_NOT_NULL(ptr1);
258 VERIFY_FAILS_END
259 }
260
testIgnore(void)261 void testIgnore(void)
262 {
263 EXPECT_ABORT_BEGIN
264 TEST_IGNORE();
265 TEST_FAIL_MESSAGE("This should not be reached");
266 VERIFY_IGNORES_END
267 }
268
testIgnoreMessage(void)269 void testIgnoreMessage(void)
270 {
271 EXPECT_ABORT_BEGIN
272 TEST_IGNORE_MESSAGE("This is an expected TEST_IGNORE_MESSAGE string!");
273 TEST_FAIL_MESSAGE("This should not be reached");
274 VERIFY_IGNORES_END
275 }
276
testNotEqualInts(void)277 void testNotEqualInts(void)
278 {
279 EXPECT_ABORT_BEGIN
280 TEST_ASSERT_EQUAL_INT(3982, 3983);
281 VERIFY_FAILS_END
282 }
283
testNotEqualInt8s(void)284 void testNotEqualInt8s(void)
285 {
286 EXPECT_ABORT_BEGIN
287 TEST_ASSERT_EQUAL_INT8(-127, -126);
288 VERIFY_FAILS_END
289 }
290
testNotEqualChars(void)291 void testNotEqualChars(void)
292 {
293 EXPECT_ABORT_BEGIN
294 TEST_ASSERT_EQUAL_CHAR('A', 'a');
295 VERIFY_FAILS_END
296 }
297
testNotEqualInt16s(void)298 void testNotEqualInt16s(void)
299 {
300 EXPECT_ABORT_BEGIN
301 TEST_ASSERT_EQUAL_INT16(-16383, -16382);
302 VERIFY_FAILS_END
303 }
304
testNotEqualInt32s(void)305 void testNotEqualInt32s(void)
306 {
307 EXPECT_ABORT_BEGIN
308 /*use largest 32 bit negative to test printability*/
309 /*note: (-2147483647 - 1) is used instead of -2147483648 because of C90 casting rules */
310 TEST_ASSERT_EQUAL_INT32(-2147483647, (-2147483647 - 1));
311 VERIFY_FAILS_END
312 }
313
testNotEqualBits(void)314 void testNotEqualBits(void)
315 {
316 EXPECT_ABORT_BEGIN
317 TEST_ASSERT_BITS(0xFF00, 0x5555, 0x5A55);
318 VERIFY_FAILS_END
319 }
320
testNotEqualUInts(void)321 void testNotEqualUInts(void)
322 {
323 UNITY_UINT16 v0, v1;
324
325 v0 = 9000;
326 v1 = 9001;
327
328 EXPECT_ABORT_BEGIN
329 TEST_ASSERT_EQUAL_UINT(v0, v1);
330 VERIFY_FAILS_END
331 }
332
testNotEqualUInt8s(void)333 void testNotEqualUInt8s(void)
334 {
335 UNITY_UINT8 v0, v1;
336
337 v0 = 254;
338 v1 = 255;
339
340 EXPECT_ABORT_BEGIN
341 TEST_ASSERT_EQUAL_UINT8(v0, v1);
342 VERIFY_FAILS_END
343 }
344
testNotEqualUInt16s(void)345 void testNotEqualUInt16s(void)
346 {
347 UNITY_UINT16 v0, v1;
348
349 v0 = 65535u;
350 v1 = 65534u;
351
352 EXPECT_ABORT_BEGIN
353 TEST_ASSERT_EQUAL_UINT16(v0, v1);
354 VERIFY_FAILS_END
355 }
356
testNotEqualUInt32s(void)357 void testNotEqualUInt32s(void)
358 {
359 UNITY_UINT32 v0, v1;
360
361 v0 = 4294967295u;
362 v1 = 4294967294u;
363
364 EXPECT_ABORT_BEGIN
365 TEST_ASSERT_EQUAL_UINT32(v0, v1);
366 VERIFY_FAILS_END
367 }
368
testNotEqualHex8s(void)369 void testNotEqualHex8s(void)
370 {
371 UNITY_UINT8 v0, v1;
372
373 v0 = 0x23;
374 v1 = 0x22;
375
376 EXPECT_ABORT_BEGIN
377 TEST_ASSERT_EQUAL_HEX8(v0, v1);
378 VERIFY_FAILS_END
379 }
380
testNotEqualHex8sIfSigned(void)381 void testNotEqualHex8sIfSigned(void)
382 {
383 UNITY_INT8 v0, v1;
384
385 v0 = -2;
386 v1 = 2;
387
388 EXPECT_ABORT_BEGIN
389 TEST_ASSERT_EQUAL_HEX8(v0, v1);
390 VERIFY_FAILS_END
391 }
392
testNotEqualHex16s(void)393 void testNotEqualHex16s(void)
394 {
395 UNITY_UINT16 v0, v1;
396
397 v0 = 0x1234;
398 v1 = 0x1235;
399
400 EXPECT_ABORT_BEGIN
401 TEST_ASSERT_EQUAL_HEX16(v0, v1);
402 VERIFY_FAILS_END
403 }
404
testNotEqualHex16sIfSigned(void)405 void testNotEqualHex16sIfSigned(void)
406 {
407 UNITY_INT16 v0, v1;
408
409 v0 = -1024;
410 v1 = -1028;
411
412 EXPECT_ABORT_BEGIN
413 TEST_ASSERT_EQUAL_HEX16(v0, v1);
414 VERIFY_FAILS_END
415 }
416
testNotEqualHex32s(void)417 void testNotEqualHex32s(void)
418 {
419 UNITY_UINT32 v0, v1;
420
421 v0 = 900000;
422 v1 = 900001;
423
424 EXPECT_ABORT_BEGIN
425 TEST_ASSERT_EQUAL_HEX32(v0, v1);
426 VERIFY_FAILS_END
427 }
428
testNotEqualHex32sIfSigned(void)429 void testNotEqualHex32sIfSigned(void)
430 {
431 UNITY_INT32 v0, v1;
432
433 v0 = -900000;
434 v1 = 900001;
435
436 EXPECT_ABORT_BEGIN
437 TEST_ASSERT_EQUAL_HEX32(v0, v1);
438 VERIFY_FAILS_END
439 }
440
testEqualInts(void)441 void testEqualInts(void)
442 {
443 int v0, v1;
444 int *p0, *p1;
445
446 v0 = 19467;
447 v1 = 19467;
448 p0 = &v0;
449 p1 = &v1;
450
451 TEST_ASSERT_EQUAL_INT(1837, 1837);
452 TEST_ASSERT_EQUAL_INT(-27365, -27365);
453 TEST_ASSERT_EQUAL_INT(v0, v1);
454 TEST_ASSERT_EQUAL_INT(19467, v1);
455 TEST_ASSERT_EQUAL_INT(v0, 19467);
456 TEST_ASSERT_EQUAL_INT(*p0, v1);
457 TEST_ASSERT_EQUAL_INT(*p0, *p1);
458 TEST_ASSERT_EQUAL_INT(*p0, 19467);
459 }
460
testEqualInt8s(void)461 void testEqualInt8s(void)
462 {
463 UNITY_INT8 v0, v1;
464 UNITY_INT8 *p0, *p1;
465
466 v0 = 0x22;
467 v1 = 0x22;
468 p0 = &v0;
469 p1 = &v1;
470
471 TEST_ASSERT_EQUAL_INT8(0x22, 0x22);
472 TEST_ASSERT_EQUAL_INT8(v0, v1);
473 TEST_ASSERT_EQUAL_INT8(0x22, v1);
474 TEST_ASSERT_EQUAL_INT8(v0, 0x22);
475 TEST_ASSERT_EQUAL_INT8(*p0, v1);
476 TEST_ASSERT_EQUAL_INT8(*p0, *p1);
477 TEST_ASSERT_EQUAL_INT8(*p0, 0x22);
478 }
479
testEqualInt8sWhenThereAreDifferencesOutside8Bits(void)480 void testEqualInt8sWhenThereAreDifferencesOutside8Bits(void)
481 {
482 TEST_ASSERT_EQUAL_INT8(0x321,0x421);
483 TEST_ASSERT_EQUAL_INT8(0xFF21,0x0021);
484 }
485
testEqualChars(void)486 void testEqualChars(void)
487 {
488 char v0, v1;
489 char *p0, *p1;
490
491 v0 = 'A';
492 v1 = 'A';
493 p0 = &v0;
494 p1 = &v1;
495
496 TEST_ASSERT_EQUAL_CHAR('A', 'A');
497 TEST_ASSERT_EQUAL_CHAR(v0, v1);
498 TEST_ASSERT_EQUAL_CHAR('A', v1);
499 TEST_ASSERT_EQUAL_CHAR(v0, 'A');
500 TEST_ASSERT_EQUAL_CHAR(*p0, v1);
501 TEST_ASSERT_EQUAL_CHAR(*p0, *p1);
502 TEST_ASSERT_EQUAL_CHAR(*p0, 'A');
503 }
504
testEqualCharsWhenThereAreDifferencesOutside8Bits(void)505 void testEqualCharsWhenThereAreDifferencesOutside8Bits(void)
506 {
507 TEST_ASSERT_EQUAL_CHAR(0x321,0x421);
508 TEST_ASSERT_EQUAL_CHAR(0xFF21,0x0021);
509 }
510
511
testEqualInt16s(void)512 void testEqualInt16s(void)
513 {
514 UNITY_INT16 v0, v1;
515 UNITY_INT16 *p0, *p1;
516
517 v0 = 0x7876;
518 v1 = 0x7876;
519 p0 = &v0;
520 p1 = &v1;
521
522 TEST_ASSERT_EQUAL_INT16(0x7876, 0x7876);
523 TEST_ASSERT_EQUAL_INT16(v0, v1);
524 TEST_ASSERT_EQUAL_INT16(0x7876, v1);
525 TEST_ASSERT_EQUAL_INT16(v0, 0x7876);
526 TEST_ASSERT_EQUAL_INT16(*p0, v1);
527 TEST_ASSERT_EQUAL_INT16(*p0, *p1);
528 TEST_ASSERT_EQUAL_INT16(*p0, 0x7876);
529 }
530
testEqualInt16sNegatives(void)531 void testEqualInt16sNegatives(void)
532 {
533 UNITY_INT16 v0, v1;
534 UNITY_INT16 *p0, *p1;
535
536 v0 = -7876;
537 v1 = -7876;
538 p0 = &v0;
539 p1 = &v1;
540
541 TEST_ASSERT_EQUAL_INT16(-7876, -7876);
542 TEST_ASSERT_EQUAL_INT16(v0, v1);
543 TEST_ASSERT_EQUAL_INT16(-7876, v1);
544 TEST_ASSERT_EQUAL_INT16(v0, -7876);
545 TEST_ASSERT_EQUAL_INT16(*p0, v1);
546 TEST_ASSERT_EQUAL_INT16(*p0, *p1);
547 TEST_ASSERT_EQUAL_INT16(*p0, -7876);
548 }
549
testEqualInt16sWhenThereAreDifferencesOutside16Bits(void)550 void testEqualInt16sWhenThereAreDifferencesOutside16Bits(void)
551 {
552 TEST_ASSERT_EQUAL_INT16(0x54321,0x64321);
553 TEST_ASSERT_EQUAL_INT16(0xFFFF4321,0x00004321);
554 }
555
testEqualInt32s(void)556 void testEqualInt32s(void)
557 {
558 UNITY_INT32 v0, v1;
559 UNITY_INT32 *p0, *p1;
560
561 v0 = 0x78760000;
562 v1 = 0x78760000;
563 p0 = &v0;
564 p1 = &v1;
565
566 TEST_ASSERT_EQUAL_INT32(0x78760000, 0x78760000);
567 TEST_ASSERT_EQUAL_INT32(v0, v1);
568 TEST_ASSERT_EQUAL_INT32(0x78760000, v1);
569 TEST_ASSERT_EQUAL_INT32(v0, 0x78760000);
570 TEST_ASSERT_EQUAL_INT32(*p0, v1);
571 TEST_ASSERT_EQUAL_INT32(*p0, *p1);
572 TEST_ASSERT_EQUAL_INT32(*p0, 0x78760000);
573 }
574
testEqualInt32sNegatives(void)575 void testEqualInt32sNegatives(void)
576 {
577 UNITY_INT32 v0, v1;
578 UNITY_INT32 *p0, *p1;
579
580 v0 = -123456789;
581 v1 = -123456789;
582 p0 = &v0;
583 p1 = &v1;
584
585 TEST_ASSERT_EQUAL_INT32(-123456789, -123456789);
586 TEST_ASSERT_EQUAL_INT32(v0, v1);
587 TEST_ASSERT_EQUAL_INT32(-123456789, v1);
588 TEST_ASSERT_EQUAL_INT32(v0, -123456789);
589 TEST_ASSERT_EQUAL_INT32(*p0, v1);
590 TEST_ASSERT_EQUAL_INT32(*p0, *p1);
591 TEST_ASSERT_EQUAL_INT32(*p0, -123456789);
592 }
593
594
testEqualUints(void)595 void testEqualUints(void)
596 {
597 unsigned int v0, v1;
598 unsigned int *p0, *p1;
599
600 v0 = 19467;
601 v1 = 19467;
602 p0 = &v0;
603 p1 = &v1;
604
605 TEST_ASSERT_EQUAL_UINT(1837, 1837);
606 TEST_ASSERT_EQUAL_UINT(v0, v1);
607 TEST_ASSERT_EQUAL_UINT(19467, v1);
608 TEST_ASSERT_EQUAL_UINT(v0, 19467);
609 TEST_ASSERT_EQUAL_UINT(*p0, v1);
610 TEST_ASSERT_EQUAL_UINT(*p0, *p1);
611 TEST_ASSERT_EQUAL_UINT(*p0, 19467);
612 TEST_ASSERT_EQUAL_UINT(60872u, 60872u);
613 }
614
615
testEqualUint8s(void)616 void testEqualUint8s(void)
617 {
618 UNITY_UINT8 v0, v1;
619 UNITY_UINT8 *p0, *p1;
620
621 v0 = 0x22;
622 v1 = 0x22;
623 p0 = &v0;
624 p1 = &v1;
625
626 TEST_ASSERT_EQUAL_UINT8(0x22, 0x22);
627 TEST_ASSERT_EQUAL_UINT8(v0, v1);
628 TEST_ASSERT_EQUAL_UINT8(0x22, v1);
629 TEST_ASSERT_EQUAL_UINT8(v0, 0x22);
630 TEST_ASSERT_EQUAL_UINT8(*p0, v1);
631 TEST_ASSERT_EQUAL_UINT8(*p0, *p1);
632 TEST_ASSERT_EQUAL_UINT8(*p0, 0x22);
633 }
634
testEqualUint8sWhenThereAreDifferencesOutside8Bits(void)635 void testEqualUint8sWhenThereAreDifferencesOutside8Bits(void)
636 {
637 TEST_ASSERT_EQUAL_UINT8(0x321,0x421);
638 TEST_ASSERT_EQUAL_UINT8(0xFF21,0x0021);
639 }
640
testEqualUint16s(void)641 void testEqualUint16s(void)
642 {
643 UNITY_UINT16 v0, v1;
644 UNITY_UINT16 *p0, *p1;
645
646 v0 = 0x9876;
647 v1 = 0x9876;
648 p0 = &v0;
649 p1 = &v1;
650
651 TEST_ASSERT_EQUAL_UINT16(0x9876, 0x9876);
652 TEST_ASSERT_EQUAL_UINT16(v0, v1);
653 TEST_ASSERT_EQUAL_UINT16(0x9876, v1);
654 TEST_ASSERT_EQUAL_UINT16(v0, 0x9876);
655 TEST_ASSERT_EQUAL_UINT16(*p0, v1);
656 TEST_ASSERT_EQUAL_UINT16(*p0, *p1);
657 TEST_ASSERT_EQUAL_UINT16(*p0, 0x9876);
658 }
659
testEqualUint16sWhenThereAreDifferencesOutside16Bits(void)660 void testEqualUint16sWhenThereAreDifferencesOutside16Bits(void)
661 {
662 TEST_ASSERT_EQUAL_UINT16(0x54321,0x64321);
663 TEST_ASSERT_EQUAL_UINT16(0xFFFF4321,0x00004321);
664 }
665
testEqualUint32s(void)666 void testEqualUint32s(void)
667 {
668 UNITY_UINT32 v0, v1;
669 UNITY_UINT32 *p0, *p1;
670
671 v0 = 0x98760000;
672 v1 = 0x98760000;
673 p0 = &v0;
674 p1 = &v1;
675
676 TEST_ASSERT_EQUAL_UINT32(0x98760000, 0x98760000);
677 TEST_ASSERT_EQUAL_UINT32(v0, v1);
678 TEST_ASSERT_EQUAL_UINT32(0x98760000, v1);
679 TEST_ASSERT_EQUAL_UINT32(v0, 0x98760000);
680 TEST_ASSERT_EQUAL_UINT32(*p0, v1);
681 TEST_ASSERT_EQUAL_UINT32(*p0, *p1);
682 TEST_ASSERT_EQUAL_UINT32(*p0, 0x98760000);
683 }
684
testNotEqual(void)685 void testNotEqual(void)
686 {
687 TEST_ASSERT_NOT_EQUAL(0, 1);
688 TEST_ASSERT_NOT_EQUAL(1, 0);
689 TEST_ASSERT_NOT_EQUAL(100, 101);
690 TEST_ASSERT_NOT_EQUAL(0, -1);
691 TEST_ASSERT_NOT_EQUAL(65535, -65535);
692 TEST_ASSERT_NOT_EQUAL(75, 900);
693 TEST_ASSERT_NOT_EQUAL(-100, -101);
694 }
695
testEqualHex8s(void)696 void testEqualHex8s(void)
697 {
698 UNITY_UINT8 v0, v1;
699 UNITY_UINT8 *p0, *p1;
700
701 v0 = 0x22;
702 v1 = 0x22;
703 p0 = &v0;
704 p1 = &v1;
705
706 TEST_ASSERT_EQUAL_HEX8(0x22, 0x22);
707 TEST_ASSERT_EQUAL_HEX8(v0, v1);
708 TEST_ASSERT_EQUAL_HEX8(0x22, v1);
709 TEST_ASSERT_EQUAL_HEX8(v0, 0x22);
710 TEST_ASSERT_EQUAL_HEX8(*p0, v1);
711 TEST_ASSERT_EQUAL_HEX8(*p0, *p1);
712 TEST_ASSERT_EQUAL_HEX8(*p0, 0x22);
713 }
714
testEqualHex8sWhenThereAreDifferencesOutside8Bits(void)715 void testEqualHex8sWhenThereAreDifferencesOutside8Bits(void)
716 {
717 TEST_ASSERT_EQUAL_HEX8(0x321,0x421);
718 TEST_ASSERT_EQUAL_HEX8(0xFF21,0x0021);
719 }
720
testEqualHex8sNegatives(void)721 void testEqualHex8sNegatives(void)
722 {
723 UNITY_UINT8 v0, v1;
724 UNITY_UINT8 *p0, *p1;
725
726 v0 = 0xDD;
727 v1 = 0xDD;
728 p0 = &v0;
729 p1 = &v1;
730
731 TEST_ASSERT_EQUAL_HEX8(0xDD, 0xDD);
732 TEST_ASSERT_EQUAL_HEX8(v0, v1);
733 TEST_ASSERT_EQUAL_HEX8(0xDD, v1);
734 TEST_ASSERT_EQUAL_HEX8(v0, 0xDD);
735 TEST_ASSERT_EQUAL_HEX8(*p0, v1);
736 TEST_ASSERT_EQUAL_HEX8(*p0, *p1);
737 TEST_ASSERT_EQUAL_HEX8(*p0, 0xDD);
738 }
739
testEqualHex16s(void)740 void testEqualHex16s(void)
741 {
742 UNITY_UINT16 v0, v1;
743 UNITY_UINT16 *p0, *p1;
744
745 v0 = 0x9876;
746 v1 = 0x9876;
747 p0 = &v0;
748 p1 = &v1;
749
750 TEST_ASSERT_EQUAL_HEX16(0x9876, 0x9876);
751 TEST_ASSERT_EQUAL_HEX16(v0, v1);
752 TEST_ASSERT_EQUAL_HEX16(0x9876, v1);
753 TEST_ASSERT_EQUAL_HEX16(v0, 0x9876);
754 TEST_ASSERT_EQUAL_HEX16(*p0, v1);
755 TEST_ASSERT_EQUAL_HEX16(*p0, *p1);
756 TEST_ASSERT_EQUAL_HEX16(*p0, 0x9876);
757 }
758
testEqualHex16sWhenThereAreDifferencesOutside16Bits(void)759 void testEqualHex16sWhenThereAreDifferencesOutside16Bits(void)
760 {
761 TEST_ASSERT_EQUAL_HEX16(0x54321,0x64321);
762 TEST_ASSERT_EQUAL_HEX16(0xFFFF4321,0x00004321);
763 }
764
testEqualHex32s(void)765 void testEqualHex32s(void)
766 {
767 UNITY_UINT32 v0, v1;
768 UNITY_UINT32 *p0, *p1;
769
770 v0 = 0x98765432ul;
771 v1 = 0x98765432ul;
772 p0 = &v0;
773 p1 = &v1;
774
775 TEST_ASSERT_EQUAL_HEX32(0x98765432ul, 0x98765432ul);
776 TEST_ASSERT_EQUAL_HEX32(v0, v1);
777 TEST_ASSERT_EQUAL_HEX32(0x98765432ul, v1);
778 TEST_ASSERT_EQUAL_HEX32(v0, 0x98765432ul);
779 TEST_ASSERT_EQUAL_HEX32(*p0, v1);
780 TEST_ASSERT_EQUAL_HEX32(*p0, *p1);
781 TEST_ASSERT_EQUAL_HEX32(*p0, 0x98765432ul);
782 }
783
testEqualBits(void)784 void testEqualBits(void)
785 {
786 UNITY_UINT32 v0 = 0xFF55AA00;
787 UNITY_UINT32 v1 = 0x55550000;
788
789 TEST_ASSERT_BITS(v1, v0, 0x55550000);
790 TEST_ASSERT_BITS(v1, v0, 0xFF55CC00);
791 TEST_ASSERT_BITS(0xFFFFFFFF, v0, 0xFF55AA00);
792 TEST_ASSERT_BITS(0xFFFFFFFF, v0, v0);
793 TEST_ASSERT_BITS(0xF0F0F0F0, v0, 0xFC5DAE0F);
794 TEST_ASSERT_BITS_HIGH(v1, v0);
795 TEST_ASSERT_BITS_LOW(0x000055FF, v0);
796 TEST_ASSERT_BIT_HIGH(30, v0);
797 TEST_ASSERT_BIT_LOW(5, v0);
798 }
799
testNotEqualBitHigh(void)800 void testNotEqualBitHigh(void)
801 {
802 UNITY_UINT32 v0 = 0x7F55AA00;
803
804 EXPECT_ABORT_BEGIN
805 TEST_ASSERT_BIT_HIGH(31, v0);
806 VERIFY_FAILS_END
807 }
808
testNotEqualBitLow(void)809 void testNotEqualBitLow(void)
810 {
811 UNITY_UINT32 v0 = 0xFF55AA00;
812
813 EXPECT_ABORT_BEGIN
814 TEST_ASSERT_BIT_LOW(30, v0);
815 VERIFY_FAILS_END
816 }
817
testNotEqualBitsHigh(void)818 void testNotEqualBitsHigh(void)
819 {
820 UNITY_UINT32 v0 = 0xFF55AA00;
821 UNITY_UINT32 v1 = 0x55550000;
822
823 EXPECT_ABORT_BEGIN
824 TEST_ASSERT_BITS_HIGH(v0, v1);
825 VERIFY_FAILS_END
826
827 }
828
testNotEqualBitsLow(void)829 void testNotEqualBitsLow(void)
830 {
831 UNITY_UINT32 v0 = 0xFF55AA00;
832 UNITY_UINT32 v1 = 0x55550000;
833
834 EXPECT_ABORT_BEGIN
835 TEST_ASSERT_BITS_LOW(v0, v1);
836 VERIFY_FAILS_END
837 }
838
839
testEqualShorts(void)840 void testEqualShorts(void)
841 {
842 short v0, v1;
843 short *p0, *p1;
844
845 v0 = 19467;
846 v1 = 19467;
847 p0 = &v0;
848 p1 = &v1;
849
850 TEST_ASSERT_EQUAL_INT(1837, 1837);
851 TEST_ASSERT_EQUAL_INT(-2987, -2987);
852 TEST_ASSERT_EQUAL_INT(v0, v1);
853 TEST_ASSERT_EQUAL_INT(19467, v1);
854 TEST_ASSERT_EQUAL_INT(v0, 19467);
855 TEST_ASSERT_EQUAL_INT(*p0, v1);
856 TEST_ASSERT_EQUAL_INT(*p0, *p1);
857 TEST_ASSERT_EQUAL_INT(*p0, 19467);
858 }
859
testEqualUShorts(void)860 void testEqualUShorts(void)
861 {
862 unsigned short v0, v1;
863 unsigned short *p0, *p1;
864
865 v0 = 19467;
866 v1 = 19467;
867 p0 = &v0;
868 p1 = &v1;
869
870 TEST_ASSERT_EQUAL_UINT(1837, 1837);
871 TEST_ASSERT_EQUAL_UINT(2987, 2987);
872 TEST_ASSERT_EQUAL_UINT(v0, v1);
873 TEST_ASSERT_EQUAL_UINT(19467, v1);
874 TEST_ASSERT_EQUAL_UINT(v0, 19467);
875 TEST_ASSERT_EQUAL_UINT(*p0, v1);
876 TEST_ASSERT_EQUAL_UINT(*p0, *p1);
877 TEST_ASSERT_EQUAL_UINT(*p0, 19467);
878 }
879
testEqualUInts(void)880 void testEqualUInts(void)
881 {
882 unsigned char v0, v1;
883 unsigned char *p0, *p1;
884
885 v0 = 109;
886 v1 = 109;
887 p0 = &v0;
888 p1 = &v1;
889
890 TEST_ASSERT_EQUAL_UINT(42, 42);
891 TEST_ASSERT_EQUAL_UINT(-116, -116);
892 TEST_ASSERT_EQUAL_UINT(v0, v1);
893 TEST_ASSERT_EQUAL_UINT(109, v1);
894 TEST_ASSERT_EQUAL_UINT(v0, 109);
895 TEST_ASSERT_EQUAL_UINT(*p0, v1);
896 TEST_ASSERT_EQUAL_UINT(*p0, *p1);
897 TEST_ASSERT_EQUAL_UINT(*p0, 109);
898 }
899
testEqualUChars(void)900 void testEqualUChars(void)
901 {
902 unsigned char v0, v1;
903 unsigned char *p0, *p1;
904
905 v0 = 251;
906 v1 = 251;
907 p0 = &v0;
908 p1 = &v1;
909
910 TEST_ASSERT_EQUAL_INT(42, 42);
911 TEST_ASSERT_EQUAL_INT(v0, v1);
912 TEST_ASSERT_EQUAL_INT(251, v1);
913 TEST_ASSERT_EQUAL_INT(v0, 251);
914 TEST_ASSERT_EQUAL_INT(*p0, v1);
915 TEST_ASSERT_EQUAL_INT(*p0, *p1);
916 TEST_ASSERT_EQUAL_INT(*p0, 251);
917 }
918
testEqualPointers(void)919 void testEqualPointers(void)
920 {
921 int v0, v1;
922 int *p0, *p1, *p2;
923
924 v0 = 19467;
925 v1 = 18271;
926 p0 = &v0;
927 p1 = &v1;
928 p2 = &v1;
929
930 TEST_ASSERT_EQUAL_PTR(p0, &v0);
931 TEST_ASSERT_EQUAL_PTR(&v1, p1);
932 TEST_ASSERT_EQUAL_PTR(p2, p1);
933 TEST_ASSERT_EQUAL_PTR(&v0, &v0);
934 }
935
testNotEqualPointers(void)936 void testNotEqualPointers(void)
937 {
938 EXPECT_ABORT_BEGIN
939 TEST_ASSERT_EQUAL_PTR(0x12345678, 0x12345677);
940 VERIFY_FAILS_END
941 }
942
testIntsWithinDelta(void)943 void testIntsWithinDelta(void)
944 {
945 TEST_ASSERT_INT_WITHIN(1, 5000, 5001);
946 TEST_ASSERT_INT_WITHIN(5, 5000, 4996);
947 TEST_ASSERT_INT_WITHIN(5, 5000, 5005);
948 TEST_ASSERT_INT_WITHIN(500, 50, -440);
949
950 TEST_ASSERT_INT_WITHIN(2, -1, -1);
951 TEST_ASSERT_INT_WITHIN(5, 1, -1);
952 TEST_ASSERT_INT_WITHIN(5, -1, 1);
953 }
954
testIntsWithinDeltaAndCustomMessage(void)955 void testIntsWithinDeltaAndCustomMessage(void)
956 {
957 TEST_ASSERT_INT_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
958 TEST_ASSERT_INT_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
959 TEST_ASSERT_INT_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
960 TEST_ASSERT_INT_WITHIN_MESSAGE(500, 50, -440, "Custom Message.");
961
962 TEST_ASSERT_INT_WITHIN_MESSAGE(2, -1, -1, "Custom Message.");
963 TEST_ASSERT_INT_WITHIN_MESSAGE(5, 1, -1, "Custom Message.");
964 TEST_ASSERT_INT_WITHIN_MESSAGE(5, -1, 1, "Custom Message.");
965 }
966
testIntsNotWithinDelta(void)967 void testIntsNotWithinDelta(void)
968 {
969 EXPECT_ABORT_BEGIN
970 TEST_ASSERT_INT_WITHIN(5, 5000, 5006);
971 VERIFY_FAILS_END
972 }
973
testIntsNotWithinDeltaAndCustomMessage(void)974 void testIntsNotWithinDeltaAndCustomMessage(void)
975 {
976 EXPECT_ABORT_BEGIN
977 TEST_ASSERT_INT_WITHIN_MESSAGE(5, 5000, 5006, "Custom Message.");
978 VERIFY_FAILS_END
979 }
980
testUIntsWithinDelta(void)981 void testUIntsWithinDelta(void)
982 {
983 TEST_ASSERT_UINT_WITHIN(1, 5000, 5001);
984 TEST_ASSERT_UINT_WITHIN(5, 5000, 4996);
985 TEST_ASSERT_UINT_WITHIN(5, 5000, 5005);
986 }
987
testUIntsWithinDeltaAndCustomMessage(void)988 void testUIntsWithinDeltaAndCustomMessage(void)
989 {
990 TEST_ASSERT_UINT_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
991 TEST_ASSERT_UINT_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
992 TEST_ASSERT_UINT_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
993 }
994
testUIntsNotWithinDelta(void)995 void testUIntsNotWithinDelta(void)
996 {
997 EXPECT_ABORT_BEGIN
998 TEST_ASSERT_UINT_WITHIN(1, 2147483647u, 2147483649u);
999 VERIFY_FAILS_END
1000 }
1001
testUIntsNotWithinDeltaAndCustomMessage(void)1002 void testUIntsNotWithinDeltaAndCustomMessage(void)
1003 {
1004 EXPECT_ABORT_BEGIN
1005 TEST_ASSERT_UINT_WITHIN_MESSAGE(1, 2147483647u, 2147483649u, "Custom Message.");
1006 VERIFY_FAILS_END
1007 }
1008
testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirst(void)1009 void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirst(void)
1010 {
1011 EXPECT_ABORT_BEGIN
1012 TEST_ASSERT_UINT_WITHIN(5, 1, -1);
1013 VERIFY_FAILS_END
1014 }
1015
testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirstAndCustomMessage(void)1016 void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirstAndCustomMessage(void)
1017 {
1018 EXPECT_ABORT_BEGIN
1019 TEST_ASSERT_UINT_WITHIN_MESSAGE(5, 1, -1, "Custom Message.");
1020 VERIFY_FAILS_END
1021 }
1022
testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirst(void)1023 void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirst(void)
1024 {
1025 EXPECT_ABORT_BEGIN
1026 TEST_ASSERT_UINT_WITHIN(5, -1, 1);
1027 VERIFY_FAILS_END
1028 }
1029
testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirstAndCustomMessage(void)1030 void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirstAndCustomMessage(void)
1031 {
1032 EXPECT_ABORT_BEGIN
1033 TEST_ASSERT_UINT_WITHIN_MESSAGE(5, -1, 1, "Custom Message.");
1034 VERIFY_FAILS_END
1035 }
1036
testHEX32sWithinDelta(void)1037 void testHEX32sWithinDelta(void)
1038 {
1039 TEST_ASSERT_HEX32_WITHIN(1, 5000, 5001);
1040 TEST_ASSERT_HEX32_WITHIN(5, 5000, 4996);
1041 TEST_ASSERT_HEX32_WITHIN(5, 5000, 5005);
1042 }
1043
testHEX32sWithinDeltaAndCustomMessage(void)1044 void testHEX32sWithinDeltaAndCustomMessage(void)
1045 {
1046 TEST_ASSERT_HEX32_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
1047 TEST_ASSERT_HEX32_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
1048 TEST_ASSERT_HEX32_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
1049 }
1050
testHEX32sNotWithinDelta(void)1051 void testHEX32sNotWithinDelta(void)
1052 {
1053 EXPECT_ABORT_BEGIN
1054 TEST_ASSERT_HEX32_WITHIN(1, 2147483647u, 2147483649u);
1055 VERIFY_FAILS_END
1056 }
1057
testHEX32sNotWithinDeltaAndCustomMessage(void)1058 void testHEX32sNotWithinDeltaAndCustomMessage(void)
1059 {
1060 EXPECT_ABORT_BEGIN
1061 TEST_ASSERT_HEX32_WITHIN_MESSAGE(1, 2147483647u, 2147483649u, "Custom Message.");
1062 VERIFY_FAILS_END
1063 }
1064
testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPass(void)1065 void testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
1066 {
1067 EXPECT_ABORT_BEGIN
1068 TEST_ASSERT_HEX32_WITHIN(5, 1, -1);
1069 VERIFY_FAILS_END
1070 }
1071
testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPassAndCustomMessage(void)1072 void testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPassAndCustomMessage(void)
1073 {
1074 EXPECT_ABORT_BEGIN
1075 TEST_ASSERT_HEX32_WITHIN_MESSAGE(5, 1, -1, "Custom Message.");
1076 VERIFY_FAILS_END
1077 }
1078
testHEX16sWithinDelta(void)1079 void testHEX16sWithinDelta(void)
1080 {
1081 TEST_ASSERT_HEX16_WITHIN(1, 5000, 5001);
1082 TEST_ASSERT_HEX16_WITHIN(5, 5000, 4996);
1083 TEST_ASSERT_HEX16_WITHIN(5, 5000, 5005);
1084 }
1085
testHEX16sWithinDeltaAndCustomMessage(void)1086 void testHEX16sWithinDeltaAndCustomMessage(void)
1087 {
1088 TEST_ASSERT_HEX16_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
1089 TEST_ASSERT_HEX16_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
1090 TEST_ASSERT_HEX16_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
1091 }
1092
testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits(void)1093 void testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits(void)
1094 {
1095 TEST_ASSERT_HEX16_WITHIN(5, 0x54321, 0x44321);
1096 }
1097
testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage(void)1098 void testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage(void)
1099 {
1100 TEST_ASSERT_HEX16_WITHIN_MESSAGE(5, 0x54321, 0x44321, "Custom Message.");
1101 }
1102
testHEX16sNotWithinDelta(void)1103 void testHEX16sNotWithinDelta(void)
1104 {
1105 EXPECT_ABORT_BEGIN
1106 TEST_ASSERT_HEX16_WITHIN(2, 65535, 0);
1107 VERIFY_FAILS_END
1108 }
1109
testHEX16sNotWithinDeltaAndCustomMessage(void)1110 void testHEX16sNotWithinDeltaAndCustomMessage(void)
1111 {
1112 EXPECT_ABORT_BEGIN
1113 TEST_ASSERT_HEX16_WITHIN_MESSAGE(2, 65535, 0, "Custom Message.");
1114 VERIFY_FAILS_END
1115 }
1116
testHEX8sWithinDelta(void)1117 void testHEX8sWithinDelta(void)
1118 {
1119 TEST_ASSERT_HEX8_WITHIN(1, 254, 255);
1120 TEST_ASSERT_HEX8_WITHIN(5, 251, 255);
1121 TEST_ASSERT_HEX8_WITHIN(5, 1, 4);
1122 }
1123
testHEX8sWithinDeltaAndCustomMessage(void)1124 void testHEX8sWithinDeltaAndCustomMessage(void)
1125 {
1126 TEST_ASSERT_HEX8_WITHIN_MESSAGE(1, 254, 255, "Custom Message.");
1127 TEST_ASSERT_HEX8_WITHIN_MESSAGE(5, 251, 255, "Custom Message.");
1128 TEST_ASSERT_HEX8_WITHIN_MESSAGE(5, 1, 4, "Custom Message.");
1129 }
1130
testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)1131 void testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)
1132 {
1133 TEST_ASSERT_HEX8_WITHIN(5, 0x123, 0xF23);
1134 }
1135
testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)1136 void testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)
1137 {
1138 TEST_ASSERT_HEX8_WITHIN_MESSAGE(5, 0x123, 0xF23, "Custom Message.");
1139 }
1140
testHEX8sNotWithinDelta(void)1141 void testHEX8sNotWithinDelta(void)
1142 {
1143 EXPECT_ABORT_BEGIN
1144 TEST_ASSERT_HEX8_WITHIN(2, 255, 0);
1145 VERIFY_FAILS_END
1146 }
1147
testHEX8sNotWithinDeltaAndCustomMessage(void)1148 void testHEX8sNotWithinDeltaAndCustomMessage(void)
1149 {
1150 EXPECT_ABORT_BEGIN
1151 TEST_ASSERT_HEX8_WITHIN_MESSAGE(2, 255, 0, "Custom Message.");
1152 VERIFY_FAILS_END
1153 }
1154
1155 /*-----------------*/
1156
testUINT32sWithinDelta(void)1157 void testUINT32sWithinDelta(void)
1158 {
1159 TEST_ASSERT_UINT32_WITHIN(1, 5000, 5001);
1160 TEST_ASSERT_UINT32_WITHIN(5, 5000, 4996);
1161 TEST_ASSERT_UINT32_WITHIN(5, 5000, 5005);
1162 }
1163
testUINT32sWithinDeltaAndCustomMessage(void)1164 void testUINT32sWithinDeltaAndCustomMessage(void)
1165 {
1166 TEST_ASSERT_UINT32_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
1167 TEST_ASSERT_UINT32_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
1168 TEST_ASSERT_UINT32_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
1169 }
1170
testUINT32sNotWithinDelta(void)1171 void testUINT32sNotWithinDelta(void)
1172 {
1173 EXPECT_ABORT_BEGIN
1174 TEST_ASSERT_UINT32_WITHIN(1, 2147483647u, 2147483649u);
1175 VERIFY_FAILS_END
1176 }
1177
testUINT32sNotWithinDeltaAndCustomMessage(void)1178 void testUINT32sNotWithinDeltaAndCustomMessage(void)
1179 {
1180 EXPECT_ABORT_BEGIN
1181 TEST_ASSERT_UINT32_WITHIN_MESSAGE(1, 2147483647u, 2147483649u, "Custom Message.");
1182 VERIFY_FAILS_END
1183 }
1184
testUINT32sNotWithinDeltaEvenThoughASignedIntWouldPass(void)1185 void testUINT32sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
1186 {
1187 EXPECT_ABORT_BEGIN
1188 TEST_ASSERT_UINT32_WITHIN(5, 1, -1);
1189 VERIFY_FAILS_END
1190 }
1191
testUINT32sNotWithinDeltaEvenThoughASignedIntWouldPassAndCustomMessage(void)1192 void testUINT32sNotWithinDeltaEvenThoughASignedIntWouldPassAndCustomMessage(void)
1193 {
1194 EXPECT_ABORT_BEGIN
1195 TEST_ASSERT_UINT32_WITHIN_MESSAGE(5, 1, -1, "Custom Message.");
1196 VERIFY_FAILS_END
1197 }
1198
testUINT16sWithinDelta(void)1199 void testUINT16sWithinDelta(void)
1200 {
1201 TEST_ASSERT_UINT16_WITHIN(1, 5000, 5001);
1202 TEST_ASSERT_UINT16_WITHIN(5, 5000, 4996);
1203 TEST_ASSERT_UINT16_WITHIN(5, 5000, 5005);
1204 }
1205
testUINT16sWithinDeltaAndCustomMessage(void)1206 void testUINT16sWithinDeltaAndCustomMessage(void)
1207 {
1208 TEST_ASSERT_UINT16_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
1209 TEST_ASSERT_UINT16_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
1210 TEST_ASSERT_UINT16_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
1211 }
1212
testUINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits(void)1213 void testUINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits(void)
1214 {
1215 TEST_ASSERT_UINT16_WITHIN(5, 0x54321, 0x44321);
1216 }
1217
testUINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage(void)1218 void testUINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage(void)
1219 {
1220 TEST_ASSERT_UINT16_WITHIN_MESSAGE(5, 0x54321, 0x44321, "Custom Message.");
1221 }
1222
testUINT16sNotWithinDelta(void)1223 void testUINT16sNotWithinDelta(void)
1224 {
1225 EXPECT_ABORT_BEGIN
1226 TEST_ASSERT_UINT16_WITHIN(2, 65535, 0);
1227 VERIFY_FAILS_END
1228 }
1229
testUINT16sNotWithinDeltaAndCustomMessage(void)1230 void testUINT16sNotWithinDeltaAndCustomMessage(void)
1231 {
1232 EXPECT_ABORT_BEGIN
1233 TEST_ASSERT_UINT16_WITHIN_MESSAGE(2, 65535, 0, "Custom Message.");
1234 VERIFY_FAILS_END
1235 }
1236
testUINT8sWithinDelta(void)1237 void testUINT8sWithinDelta(void)
1238 {
1239 TEST_ASSERT_UINT8_WITHIN(1, 254, 255);
1240 TEST_ASSERT_UINT8_WITHIN(5, 251, 255);
1241 TEST_ASSERT_UINT8_WITHIN(5, 1, 4);
1242 }
1243
testUINT8sWithinDeltaAndCustomMessage(void)1244 void testUINT8sWithinDeltaAndCustomMessage(void)
1245 {
1246 TEST_ASSERT_UINT8_WITHIN_MESSAGE(1, 254, 255, "Custom Message.");
1247 TEST_ASSERT_UINT8_WITHIN_MESSAGE(5, 251, 255, "Custom Message.");
1248 TEST_ASSERT_UINT8_WITHIN_MESSAGE(5, 1, 4, "Custom Message.");
1249 }
1250
testUINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)1251 void testUINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)
1252 {
1253 TEST_ASSERT_UINT8_WITHIN(5, 0x123, 0xF23);
1254 }
1255
testUINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)1256 void testUINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)
1257 {
1258 TEST_ASSERT_UINT8_WITHIN_MESSAGE(5, 0x123, 0xF23, "Custom Message.");
1259 }
1260
testUINT8sNotWithinDelta(void)1261 void testUINT8sNotWithinDelta(void)
1262 {
1263 EXPECT_ABORT_BEGIN
1264 TEST_ASSERT_UINT8_WITHIN(2, 255, 0);
1265 VERIFY_FAILS_END
1266 }
1267
testUINT8sNotWithinDeltaAndCustomMessage(void)1268 void testUINT8sNotWithinDeltaAndCustomMessage(void)
1269 {
1270 EXPECT_ABORT_BEGIN
1271 TEST_ASSERT_UINT8_WITHIN_MESSAGE(2, 255, 0, "Custom Message.");
1272 VERIFY_FAILS_END
1273 }
1274
testINT32sWithinDelta(void)1275 void testINT32sWithinDelta(void)
1276 {
1277 TEST_ASSERT_INT32_WITHIN(1, 5000, 5001);
1278 TEST_ASSERT_INT32_WITHIN(5, 1, -2);
1279 TEST_ASSERT_INT32_WITHIN(5, -2, 1);
1280 }
1281
testINT32sWithinDeltaAndCustomMessage(void)1282 void testINT32sWithinDeltaAndCustomMessage(void)
1283 {
1284 TEST_ASSERT_INT32_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
1285 }
1286
testINT32sNotWithinDelta(void)1287 void testINT32sNotWithinDelta(void)
1288 {
1289 EXPECT_ABORT_BEGIN
1290 TEST_ASSERT_INT32_WITHIN(1, -3, 1);
1291 VERIFY_FAILS_END
1292 }
1293
testINT32sNotWithinDeltaAndDifferenceOverflows(void)1294 void testINT32sNotWithinDeltaAndDifferenceOverflows(void)
1295 {
1296 EXPECT_ABORT_BEGIN
1297 TEST_ASSERT_INT32_WITHIN(1, -1, 0x7FFFFFFF);
1298 VERIFY_FAILS_END
1299 }
testINT32sNotWithinDeltaAndCustomMessage(void)1300 void testINT32sNotWithinDeltaAndCustomMessage(void)
1301 {
1302 EXPECT_ABORT_BEGIN
1303 TEST_ASSERT_INT32_WITHIN_MESSAGE(1, -2, 1, "Custom Message.");
1304 VERIFY_FAILS_END
1305 }
1306
testINT16sWithinDelta(void)1307 void testINT16sWithinDelta(void)
1308 {
1309 TEST_ASSERT_INT16_WITHIN(1, 5000, 5001);
1310 TEST_ASSERT_INT16_WITHIN(5, 2, -2);
1311 TEST_ASSERT_INT16_WITHIN(5, -2, 2);
1312 }
1313
testINT16sWithinDeltaAndCustomMessage(void)1314 void testINT16sWithinDeltaAndCustomMessage(void)
1315 {
1316 TEST_ASSERT_INT16_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
1317 }
1318
testINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits(void)1319 void testINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits(void)
1320 {
1321 TEST_ASSERT_INT16_WITHIN(5, 0x54321, 0x44321);
1322 }
1323
testINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage(void)1324 void testINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage(void)
1325 {
1326 TEST_ASSERT_INT16_WITHIN_MESSAGE(5, 0x54321, 0x44321, "Custom Message.");
1327 }
1328
testINT16sNotWithinDelta(void)1329 void testINT16sNotWithinDelta(void)
1330 {
1331 EXPECT_ABORT_BEGIN
1332 TEST_ASSERT_INT16_WITHIN(2, 4, -2);
1333 VERIFY_FAILS_END
1334 }
1335
testINT16sNotWithinDeltaAndCustomMessage(void)1336 void testINT16sNotWithinDeltaAndCustomMessage(void)
1337 {
1338 EXPECT_ABORT_BEGIN
1339 TEST_ASSERT_INT16_WITHIN_MESSAGE(2, 3, 0, "Custom Message.");
1340 VERIFY_FAILS_END
1341 }
1342
testINT8sWithinDelta(void)1343 void testINT8sWithinDelta(void)
1344 {
1345 TEST_ASSERT_INT8_WITHIN(1, 127, 126);
1346 TEST_ASSERT_INT8_WITHIN(5, -2, 2);
1347 TEST_ASSERT_INT8_WITHIN(5, 2, -2);
1348 }
1349
testINT8sWithinDeltaAndCustomMessage(void)1350 void testINT8sWithinDeltaAndCustomMessage(void)
1351 {
1352 TEST_ASSERT_INT8_WITHIN_MESSAGE(5, 1, 4, "Custom Message.");
1353 }
1354
testINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)1355 void testINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)
1356 {
1357 TEST_ASSERT_INT8_WITHIN(5, 0x123, 0xF23);
1358 }
1359
testINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)1360 void testINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)
1361 {
1362 TEST_ASSERT_INT8_WITHIN_MESSAGE(5, 0x123, 0xF23, "Custom Message.");
1363 }
1364
testINT8sNotWithinDelta(void)1365 void testINT8sNotWithinDelta(void)
1366 {
1367 EXPECT_ABORT_BEGIN
1368 TEST_ASSERT_INT8_WITHIN(2, -3, 0);
1369 VERIFY_FAILS_END
1370 }
1371
testINT8sNotWithinDeltaAndCustomMessage(void)1372 void testINT8sNotWithinDeltaAndCustomMessage(void)
1373 {
1374 EXPECT_ABORT_BEGIN
1375 TEST_ASSERT_INT8_WITHIN_MESSAGE(2, -4, 0, "Custom Message.");
1376 VERIFY_FAILS_END
1377 }
1378
testCHARsWithinDelta(void)1379 void testCHARsWithinDelta(void)
1380 {
1381 TEST_ASSERT_CHAR_WITHIN(1, 'M', 'L');
1382 TEST_ASSERT_CHAR_WITHIN(5, -2, 2);
1383 TEST_ASSERT_CHAR_WITHIN(5, 2, -2);
1384 }
1385
testCHARsWithinDeltaAndCustomMessage(void)1386 void testCHARsWithinDeltaAndCustomMessage(void)
1387 {
1388 TEST_ASSERT_CHAR_WITHIN_MESSAGE(5, 1, 4, "Custom Message.");
1389 }
1390
testCHARsWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)1391 void testCHARsWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)
1392 {
1393 TEST_ASSERT_CHAR_WITHIN(5, 0x123, 0xF23);
1394 }
1395
testCHARsWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)1396 void testCHARsWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)
1397 {
1398 TEST_ASSERT_CHAR_WITHIN_MESSAGE(5, 0x123, 0xF23, "Custom Message.");
1399 }
1400
testCHARsNotWithinDelta(void)1401 void testCHARsNotWithinDelta(void)
1402 {
1403 EXPECT_ABORT_BEGIN
1404 TEST_ASSERT_CHAR_WITHIN(2, -3, 0);
1405 VERIFY_FAILS_END
1406 }
1407
testCHARsNotWithinDeltaAndCustomMessage(void)1408 void testCHARsNotWithinDeltaAndCustomMessage(void)
1409 {
1410 EXPECT_ABORT_BEGIN
1411 TEST_ASSERT_CHAR_WITHIN_MESSAGE(2, -4, 0, "Custom Message.");
1412 VERIFY_FAILS_END
1413 }
1414
1415 /*------------------------*/
1416
testInt64ArrayWithinDelta(void)1417 void testInt64ArrayWithinDelta(void)
1418 {
1419 #ifndef UNITY_SUPPORT_64
1420 TEST_IGNORE();
1421 #else
1422 UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
1423 UNITY_INT64 actualSmallDelta[] = {12345001, -12344996, 12345005};
1424 UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
1425
1426 TEST_ASSERT_INT64_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
1427 TEST_ASSERT_INT64_ARRAY_WITHIN(110, expected, actualBigDelta, 3);
1428 #endif
1429 }
1430
testInt64ArrayWithinDeltaAndMessage(void)1431 void testInt64ArrayWithinDeltaAndMessage(void)
1432 {
1433 #ifndef UNITY_SUPPORT_64
1434 TEST_IGNORE();
1435 #else
1436 UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
1437 UNITY_INT64 actualSmallDelta[] = {12345001, -12344996, 12345005};
1438 UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
1439
1440 TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
1441 TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 3, "Custom Message.");
1442 #endif
1443 }
1444
tesUInt64ArrayNotWithinDelta(void)1445 void tesUInt64ArrayNotWithinDelta(void)
1446 {
1447 #ifndef UNITY_SUPPORT_64
1448 TEST_IGNORE();
1449 #else
1450 UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
1451 UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
1452
1453 EXPECT_ABORT_BEGIN
1454 TEST_ASSERT_UINT64_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
1455 VERIFY_FAILS_END
1456 #endif
1457 }
1458
testInt64ArrayNotWithinDeltaAndMessage(void)1459 void testInt64ArrayNotWithinDeltaAndMessage(void)
1460 {
1461 #ifndef UNITY_SUPPORT_64
1462 TEST_IGNORE();
1463 #else
1464 UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
1465 UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
1466
1467 EXPECT_ABORT_BEGIN
1468 TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
1469 VERIFY_FAILS_END
1470 #endif
1471 }
1472
testInt64ArrayWithinDeltaPointless(void)1473 void testInt64ArrayWithinDeltaPointless(void)
1474 {
1475 #ifndef UNITY_SUPPORT_64
1476 TEST_IGNORE();
1477 #else
1478 UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
1479 UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
1480
1481 EXPECT_ABORT_BEGIN
1482 TEST_ASSERT_INT64_ARRAY_WITHIN(110, expected, actualBigDelta, 0);
1483 VERIFY_FAILS_END
1484 #endif
1485 }
1486
testInt64ArrayWithinDeltaPointlessAndMessage(void)1487 void testInt64ArrayWithinDeltaPointlessAndMessage(void)
1488 {
1489 #ifndef UNITY_SUPPORT_64
1490 TEST_IGNORE();
1491 #else
1492 UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
1493 UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
1494
1495 EXPECT_ABORT_BEGIN
1496 TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 0, "Custom Message.");
1497 VERIFY_FAILS_END
1498 #endif
1499 }
1500
testInt64ArrayWithinDeltaExpectedNull(void)1501 void testInt64ArrayWithinDeltaExpectedNull(void)
1502 {
1503 #ifndef UNITY_SUPPORT_64
1504 TEST_IGNORE();
1505 #else
1506 UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
1507
1508 EXPECT_ABORT_BEGIN
1509 TEST_ASSERT_INT64_ARRAY_WITHIN(110, NULL, actualBigDelta, 3);
1510 VERIFY_FAILS_END
1511 #endif
1512 }
1513
testInt64ArrayWithinDeltaExpectedNullAndMessage(void)1514 void testInt64ArrayWithinDeltaExpectedNullAndMessage(void)
1515 {
1516 #ifndef UNITY_SUPPORT_64
1517 TEST_IGNORE();
1518 #else
1519 UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
1520
1521 EXPECT_ABORT_BEGIN
1522 TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(110, NULL, actualBigDelta, 3, "Custom Message.");
1523 VERIFY_FAILS_END
1524 #endif
1525 }
1526
testInt64ArrayWithinDeltaActualNull(void)1527 void testInt64ArrayWithinDeltaActualNull(void)
1528 {
1529 #ifndef UNITY_SUPPORT_64
1530 TEST_IGNORE();
1531 #else
1532 UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
1533
1534 EXPECT_ABORT_BEGIN
1535 TEST_ASSERT_INT64_ARRAY_WITHIN(110, expected, NULL, 3);
1536 VERIFY_FAILS_END
1537 #endif
1538 }
1539
testInt64ArrayWithinDeltaActualNullAndMessage(void)1540 void testInt64ArrayWithinDeltaActualNullAndMessage(void)
1541 {
1542 #ifndef UNITY_SUPPORT_64
1543 TEST_IGNORE();
1544 #else
1545 UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
1546
1547 EXPECT_ABORT_BEGIN
1548 TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(110, expected, NULL, 3, "Custom Message.");
1549 VERIFY_FAILS_END
1550 #endif
1551 }
1552
testInt64ArrayWithinDeltaSamePointer(void)1553 void testInt64ArrayWithinDeltaSamePointer(void)
1554 {
1555 #ifndef UNITY_SUPPORT_64
1556 TEST_IGNORE();
1557 #else
1558 UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
1559
1560 TEST_ASSERT_UINT64_ARRAY_WITHIN(110, expected, expected, 3);
1561 #endif
1562 }
1563
testInt64ArrayWithinDeltaSamePointerAndMessage(void)1564 void testInt64ArrayWithinDeltaSamePointerAndMessage(void)
1565 {
1566 #ifndef UNITY_SUPPORT_64
1567 TEST_IGNORE();
1568 #else
1569 UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
1570
1571 TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(110, expected, expected, 3, "Custom Message.");
1572 #endif
1573 }
1574
testIntArrayWithinDelta(void)1575 void testIntArrayWithinDelta(void)
1576 {
1577 UNITY_INT expected[] = {5000, -4995, 5005};
1578 UNITY_INT actualSmallDelta[] = {5001, -4996, 5005};
1579 UNITY_INT actualBigDelta[] = {5101, -4896, 5055};
1580
1581 TEST_ASSERT_INT_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
1582 TEST_ASSERT_INT_ARRAY_WITHIN(110, expected, actualBigDelta, 3);
1583 }
1584
testIntArrayWithinDeltaAndMessage(void)1585 void testIntArrayWithinDeltaAndMessage(void)
1586 {
1587 UNITY_INT expected[] = {5000, -4995, 5005};
1588 UNITY_INT actualSmallDelta[] = {5001, -4996, 5005};
1589 UNITY_INT actualBigDelta[] = {5101, -4896, 5055};
1590
1591 TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
1592 TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 3, "Custom Message.");
1593 }
1594
testIntArrayNotWithinDelta(void)1595 void testIntArrayNotWithinDelta(void)
1596 {
1597 UNITY_INT expected[] = {5000, -4995, 5005};
1598 UNITY_INT actualBigDelta[] = {5101, -4896, 5055};
1599
1600 EXPECT_ABORT_BEGIN
1601 TEST_ASSERT_INT_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
1602 VERIFY_FAILS_END
1603 }
1604
testIntArrayNotWithinDeltaAndMessage(void)1605 void testIntArrayNotWithinDeltaAndMessage(void)
1606 {
1607 UNITY_INT expected[] = {5000, -4995, 5005};
1608 UNITY_INT actualBigDelta[] = {5101, -4896, 5055};
1609
1610 EXPECT_ABORT_BEGIN
1611 TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
1612 VERIFY_FAILS_END
1613 }
1614
testIntArrayWithinDeltaPointless(void)1615 void testIntArrayWithinDeltaPointless(void)
1616 {
1617 UNITY_INT expected[] = {5000, -4995, 5005};
1618 UNITY_INT actualBigDelta[] = {5101, -4896, 5055};
1619
1620 EXPECT_ABORT_BEGIN
1621 TEST_ASSERT_INT_ARRAY_WITHIN(110, expected, actualBigDelta, 0);
1622 VERIFY_FAILS_END
1623 }
1624
testIntArrayWithinDeltaPointlessAndMessage(void)1625 void testIntArrayWithinDeltaPointlessAndMessage(void)
1626 {
1627 UNITY_INT expected[] = {5000, -4995, 5005};
1628 UNITY_INT actualBigDelta[] = {5101, -4896, 5055};
1629
1630 EXPECT_ABORT_BEGIN
1631 TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 0, "Custom Message.");
1632 VERIFY_FAILS_END
1633 }
1634
testIntArrayWithinDeltaExpectedNull(void)1635 void testIntArrayWithinDeltaExpectedNull(void)
1636 {
1637 UNITY_INT actualBigDelta[] = {5101, -4896, 5055};
1638
1639 EXPECT_ABORT_BEGIN
1640 TEST_ASSERT_INT_ARRAY_WITHIN(110, NULL, actualBigDelta, 3);
1641 VERIFY_FAILS_END
1642 }
1643
testIntArrayWithinDeltaExpectedNullAndMessage(void)1644 void testIntArrayWithinDeltaExpectedNullAndMessage(void)
1645 {
1646 UNITY_INT actualBigDelta[] = {5101, -4896, 5055};
1647
1648 EXPECT_ABORT_BEGIN
1649 TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(110, NULL, actualBigDelta, 3, "Custom Message.");
1650 VERIFY_FAILS_END
1651 }
1652
testIntArrayWithinDeltaActualNull(void)1653 void testIntArrayWithinDeltaActualNull(void)
1654 {
1655 UNITY_INT expected[] = {5000, -4995, 5005};
1656
1657 EXPECT_ABORT_BEGIN
1658 TEST_ASSERT_INT_ARRAY_WITHIN(110, expected, NULL, 3);
1659 VERIFY_FAILS_END
1660 }
1661
testIntArrayWithinDeltaActualNullAndMessage(void)1662 void testIntArrayWithinDeltaActualNullAndMessage(void)
1663 {
1664 UNITY_INT expected[] = {5000, -4995, 5005};
1665
1666 EXPECT_ABORT_BEGIN
1667 TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(110, expected, NULL, 3, "Custom Message.");
1668 VERIFY_FAILS_END
1669 }
1670
testIntArrayWithinDeltaSamePointer(void)1671 void testIntArrayWithinDeltaSamePointer(void)
1672 {
1673 UNITY_INT expected[] = {5000, -4995, 5005};
1674
1675 TEST_ASSERT_INT_ARRAY_WITHIN(110, expected, expected, 3);
1676 }
1677
testIntArrayWithinDeltaSamePointerAndMessage(void)1678 void testIntArrayWithinDeltaSamePointerAndMessage(void)
1679 {
1680 UNITY_INT expected[] = {5000, -4995, 5005};
1681
1682 TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(110, expected, expected, 3, "Custom Message.");
1683 }
1684
testInt16ArrayWithinDelta(void)1685 void testInt16ArrayWithinDelta(void)
1686 {
1687 UNITY_INT16 expected[] = {5000, -4995, 5005};
1688 UNITY_INT16 actualSmallDelta[] = {5001, -4996, 5005};
1689 UNITY_INT16 actualBigDelta[] = {5101, -4896, 5055};
1690
1691 TEST_ASSERT_INT16_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
1692 TEST_ASSERT_INT16_ARRAY_WITHIN(110, expected, actualBigDelta, 3);
1693 }
1694
testInt16ArrayWithinDeltaAndMessage(void)1695 void testInt16ArrayWithinDeltaAndMessage(void)
1696 {
1697 UNITY_INT16 expected[] = {5000, -4995, 5005};
1698 UNITY_INT16 actualSmallDelta[] = {5001, -4996, 5005};
1699 UNITY_INT16 actualBigDelta[] = {5101, -4896, 5055};
1700
1701 TEST_ASSERT_INT16_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
1702 TEST_ASSERT_INT16_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 3, "Custom Message.");
1703 }
1704
testInt16ArrayNotWithinDelta(void)1705 void testInt16ArrayNotWithinDelta(void)
1706 {
1707 UNITY_INT16 expected[] = {5000, -4995, 5005};
1708 UNITY_INT16 actualBigDelta[] = {5101, -4896, 5055};
1709
1710 EXPECT_ABORT_BEGIN
1711 TEST_ASSERT_UINT16_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
1712 VERIFY_FAILS_END
1713 }
1714
testInt16ArrayNotWithinDeltaAndMessage(void)1715 void testInt16ArrayNotWithinDeltaAndMessage(void)
1716 {
1717 UNITY_INT16 expected[] = {5000, -4995, 5005};
1718 UNITY_INT16 actualBigDelta[] = {5101, -4896, 5055};
1719
1720 EXPECT_ABORT_BEGIN
1721 TEST_ASSERT_INT16_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
1722 VERIFY_FAILS_END
1723 }
1724
testInt16ArrayWithinDeltaPointless(void)1725 void testInt16ArrayWithinDeltaPointless(void)
1726 {
1727 UNITY_INT16 expected[] = {5000, -4995, 5005};
1728 UNITY_INT16 actualBigDelta[] = {5101, -4896, 5055};
1729
1730 EXPECT_ABORT_BEGIN
1731 TEST_ASSERT_INT16_ARRAY_WITHIN(110, expected, actualBigDelta, 0);
1732 VERIFY_FAILS_END
1733 }
1734
testInt16ArrayWithinDeltaPointlessAndMessage(void)1735 void testInt16ArrayWithinDeltaPointlessAndMessage(void)
1736 {
1737 UNITY_INT16 expected[] = {5000, -4995, 5005};
1738 UNITY_INT16 actualBigDelta[] = {5101, -4896, 5055};
1739
1740 EXPECT_ABORT_BEGIN
1741 TEST_ASSERT_INT16_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 0, "Custom Message.");
1742 VERIFY_FAILS_END
1743 }
1744
testInt16ArrayWithinDeltaExpectedNull(void)1745 void testInt16ArrayWithinDeltaExpectedNull(void)
1746 {
1747 UNITY_INT16 actualBigDelta[] = {5101, -4896, 5055};
1748
1749 EXPECT_ABORT_BEGIN
1750 TEST_ASSERT_INT16_ARRAY_WITHIN(110, NULL, actualBigDelta, 3);
1751 VERIFY_FAILS_END
1752 }
1753
testInt16ArrayWithinDeltaExpectedNullAndMessage(void)1754 void testInt16ArrayWithinDeltaExpectedNullAndMessage(void)
1755 {
1756 UNITY_INT16 actualBigDelta[] = {5101, -4896, 5055};
1757
1758 EXPECT_ABORT_BEGIN
1759 TEST_ASSERT_INT16_ARRAY_WITHIN_MESSAGE(110, NULL, actualBigDelta, 3, "Custom Message.");
1760 VERIFY_FAILS_END
1761 }
1762
testInt16ArrayWithinDeltaActualNull(void)1763 void testInt16ArrayWithinDeltaActualNull(void)
1764 {
1765 UNITY_INT16 expected[] = {5000, -4995, 5005};
1766
1767 EXPECT_ABORT_BEGIN
1768 TEST_ASSERT_INT16_ARRAY_WITHIN(110, expected, NULL, 3);
1769 VERIFY_FAILS_END
1770 }
1771
testInt16ArrayWithinDeltaActualNullAndMessage(void)1772 void testInt16ArrayWithinDeltaActualNullAndMessage(void)
1773 {
1774 UNITY_INT16 expected[] = {5000, -4995, 5005};
1775
1776 EXPECT_ABORT_BEGIN
1777 TEST_ASSERT_INT16_ARRAY_WITHIN_MESSAGE(110, expected, NULL, 3, "Custom Message.");
1778 VERIFY_FAILS_END
1779 }
1780
testInt16ArrayWithinDeltaSamePointer(void)1781 void testInt16ArrayWithinDeltaSamePointer(void)
1782 {
1783 UNITY_INT16 expected[] = {5000, -4995, 5005};
1784
1785 TEST_ASSERT_INT16_ARRAY_WITHIN(110, expected, expected, 3);
1786 }
1787
testInt16ArrayWithinDeltaSamePointerAndMessage(void)1788 void testInt16ArrayWithinDeltaSamePointerAndMessage(void)
1789 {
1790 UNITY_INT16 expected[] = {5000, -4995, 5005};
1791
1792 TEST_ASSERT_INT16_ARRAY_WITHIN_MESSAGE(110, expected, expected, 3, "Custom Message.");
1793 }
1794
testInt8ArrayWithinDelta(void)1795 void testInt8ArrayWithinDelta(void)
1796 {
1797 UNITY_INT8 expected[] = {20, -95, 55};
1798 UNITY_INT8 actualSmallDelta[] = {21, -94, 55};
1799 UNITY_INT8 actualBigDelta[] = {11, -86, 45};
1800
1801 TEST_ASSERT_INT8_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
1802 TEST_ASSERT_INT8_ARRAY_WITHIN(11, expected, actualBigDelta, 3);
1803 }
1804
testInt8ArrayWithinDeltaAndMessage(void)1805 void testInt8ArrayWithinDeltaAndMessage(void)
1806 {
1807 UNITY_INT8 expected[] = {20, -95, 55};
1808 UNITY_INT8 actualSmallDelta[] = {21, -94, 55};
1809 UNITY_INT8 actualBigDelta[] = {11, -86, 45};
1810
1811 TEST_ASSERT_INT8_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
1812 TEST_ASSERT_INT8_ARRAY_WITHIN_MESSAGE(11, expected, actualBigDelta, 3, "Custom Message.");
1813 }
1814
testInt8ArrayNotWithinDelta(void)1815 void testInt8ArrayNotWithinDelta(void)
1816 {
1817 UNITY_INT8 expected[] = {20, -95, 55};
1818 UNITY_INT8 actualBigDelta[] = {11, -86, 45};
1819
1820 EXPECT_ABORT_BEGIN
1821 TEST_ASSERT_INT8_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
1822 VERIFY_FAILS_END
1823 }
1824
testInt8ArrayNotWithinDeltaAndMessage(void)1825 void testInt8ArrayNotWithinDeltaAndMessage(void)
1826 {
1827 UNITY_INT8 expected[] = {20, -95, 55};
1828 UNITY_INT8 actualBigDelta[] = {11, -86, 45};
1829
1830 EXPECT_ABORT_BEGIN
1831 TEST_ASSERT_INT8_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
1832 VERIFY_FAILS_END
1833 }
1834
testInt8ArrayWithinDeltaPointless(void)1835 void testInt8ArrayWithinDeltaPointless(void)
1836 {
1837 UNITY_INT8 expected[] = {20, -95, 55};
1838 UNITY_INT8 actualBigDelta[] = {11, -86, 45};
1839
1840 EXPECT_ABORT_BEGIN
1841 TEST_ASSERT_INT8_ARRAY_WITHIN(11, expected, actualBigDelta, 0);
1842 VERIFY_FAILS_END
1843 }
1844
testInt8ArrayWithinDeltaPointlessAndMessage(void)1845 void testInt8ArrayWithinDeltaPointlessAndMessage(void)
1846 {
1847 UNITY_INT8 expected[] = {20, -95, 55};
1848 UNITY_INT8 actualBigDelta[] = {11, -86, 45};
1849
1850 EXPECT_ABORT_BEGIN
1851 TEST_ASSERT_INT8_ARRAY_WITHIN_MESSAGE(11, expected, actualBigDelta, 0, "Custom Message.");
1852 VERIFY_FAILS_END
1853 }
1854
testInt8ArrayWithinDeltaExpectedNull(void)1855 void testInt8ArrayWithinDeltaExpectedNull(void)
1856 {
1857 UNITY_INT8 actualBigDelta[] = {11, -86, 45};
1858
1859 EXPECT_ABORT_BEGIN
1860 TEST_ASSERT_INT8_ARRAY_WITHIN(11, NULL, actualBigDelta, 3);
1861 VERIFY_FAILS_END
1862 }
1863
testInt8ArrayWithinDeltaExpectedNullAndMessage(void)1864 void testInt8ArrayWithinDeltaExpectedNullAndMessage(void)
1865 {
1866 UNITY_INT8 actualBigDelta[] = {11, -86, 45};
1867
1868 EXPECT_ABORT_BEGIN
1869 TEST_ASSERT_INT8_ARRAY_WITHIN_MESSAGE(11, NULL, actualBigDelta, 3, "Custom Message.");
1870 VERIFY_FAILS_END
1871 }
1872
testInt8ArrayWithinDeltaActualNull(void)1873 void testInt8ArrayWithinDeltaActualNull(void)
1874 {
1875 UNITY_INT8 expected[] = {20, -95, 55};
1876
1877 EXPECT_ABORT_BEGIN
1878 TEST_ASSERT_INT8_ARRAY_WITHIN(11, expected, NULL, 3);
1879 VERIFY_FAILS_END
1880 }
1881
testInt8ArrayWithinDeltaActualNullAndMessage(void)1882 void testInt8ArrayWithinDeltaActualNullAndMessage(void)
1883 {
1884 UNITY_INT8 expected[] = {20, -95, 55};
1885
1886 EXPECT_ABORT_BEGIN
1887 TEST_ASSERT_INT8_ARRAY_WITHIN_MESSAGE(11, expected, NULL, 3, "Custom Message.");
1888 VERIFY_FAILS_END
1889 }
1890
testInt8ArrayWithinDeltaSamePointer(void)1891 void testInt8ArrayWithinDeltaSamePointer(void)
1892 {
1893 UNITY_INT8 expected[] = {20, -95, 55};
1894
1895 TEST_ASSERT_INT8_ARRAY_WITHIN(11, expected, expected, 3);
1896 }
1897
testInt8ArrayWithinDeltaSamePointerAndMessage(void)1898 void testInt8ArrayWithinDeltaSamePointerAndMessage(void)
1899 {
1900 UNITY_INT8 expected[] = {20, -95, 55};
1901
1902 TEST_ASSERT_INT8_ARRAY_WITHIN_MESSAGE(11, expected, expected, 3, "Custom Message.");
1903 }
1904
1905
1906
1907
1908
testCHARArrayWithinDelta(void)1909 void testCHARArrayWithinDelta(void)
1910 {
1911 char expected[] = {20, -95, 55};
1912 char actualSmallDelta[] = {21, -94, 55};
1913 char actualBigDelta[] = {11, -86, 45};
1914
1915 TEST_ASSERT_CHAR_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
1916 TEST_ASSERT_CHAR_ARRAY_WITHIN(11, expected, actualBigDelta, 3);
1917 }
1918
testCHARArrayWithinDeltaAndMessage(void)1919 void testCHARArrayWithinDeltaAndMessage(void)
1920 {
1921 char expected[] = {20, -95, 55};
1922 char actualSmallDelta[] = {21, -94, 55};
1923 char actualBigDelta[] = {11, -86, 45};
1924
1925 TEST_ASSERT_CHAR_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
1926 TEST_ASSERT_CHAR_ARRAY_WITHIN_MESSAGE(11, expected, actualBigDelta, 3, "Custom Message.");
1927 }
1928
testCHARArrayNotWithinDelta(void)1929 void testCHARArrayNotWithinDelta(void)
1930 {
1931 char expected[] = {20, -95, 55};
1932 char actualBigDelta[] = {11, -86, 45};
1933
1934 EXPECT_ABORT_BEGIN
1935 TEST_ASSERT_CHAR_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
1936 VERIFY_FAILS_END
1937 }
1938
testCHARArrayNotWithinDeltaAndMessage(void)1939 void testCHARArrayNotWithinDeltaAndMessage(void)
1940 {
1941 char expected[] = {20, -95, 55};
1942 char actualBigDelta[] = {11, -86, 45};
1943
1944 EXPECT_ABORT_BEGIN
1945 TEST_ASSERT_CHAR_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
1946 VERIFY_FAILS_END
1947 }
1948
testCHARArrayWithinDeltaPointless(void)1949 void testCHARArrayWithinDeltaPointless(void)
1950 {
1951 char expected[] = {20, -95, 55};
1952 char actualBigDelta[] = {11, -86, 45};
1953
1954 EXPECT_ABORT_BEGIN
1955 TEST_ASSERT_CHAR_ARRAY_WITHIN(11, expected, actualBigDelta, 0);
1956 VERIFY_FAILS_END
1957 }
1958
testCHARArrayWithinDeltaPointlessAndMessage(void)1959 void testCHARArrayWithinDeltaPointlessAndMessage(void)
1960 {
1961 char expected[] = {20, -95, 55};
1962 char actualBigDelta[] = {11, -86, 45};
1963
1964 EXPECT_ABORT_BEGIN
1965 TEST_ASSERT_CHAR_ARRAY_WITHIN_MESSAGE(11, expected, actualBigDelta, 0, "Custom Message.");
1966 VERIFY_FAILS_END
1967 }
1968
testCHARArrayWithinDeltaExpectedNull(void)1969 void testCHARArrayWithinDeltaExpectedNull(void)
1970 {
1971 char actualBigDelta[] = {11, -86, 45};
1972
1973 EXPECT_ABORT_BEGIN
1974 TEST_ASSERT_CHAR_ARRAY_WITHIN(11, NULL, actualBigDelta, 3);
1975 VERIFY_FAILS_END
1976 }
1977
testCHARArrayWithinDeltaExpectedNullAndMessage(void)1978 void testCHARArrayWithinDeltaExpectedNullAndMessage(void)
1979 {
1980 char actualBigDelta[] = {11, -86, 45};
1981
1982 EXPECT_ABORT_BEGIN
1983 TEST_ASSERT_CHAR_ARRAY_WITHIN_MESSAGE(11, NULL, actualBigDelta, 3, "Custom Message.");
1984 VERIFY_FAILS_END
1985 }
1986
testCHARArrayWithinDeltaActualNull(void)1987 void testCHARArrayWithinDeltaActualNull(void)
1988 {
1989 char expected[] = {20, -95, 55};
1990
1991 EXPECT_ABORT_BEGIN
1992 TEST_ASSERT_CHAR_ARRAY_WITHIN(11, expected, NULL, 3);
1993 VERIFY_FAILS_END
1994 }
1995
testCHARArrayWithinDeltaActualNullAndMessage(void)1996 void testCHARArrayWithinDeltaActualNullAndMessage(void)
1997 {
1998 char expected[] = {20, -95, 55};
1999
2000 EXPECT_ABORT_BEGIN
2001 TEST_ASSERT_CHAR_ARRAY_WITHIN_MESSAGE(11, expected, NULL, 3, "Custom Message.");
2002 VERIFY_FAILS_END
2003 }
2004
testCHARArrayWithinDeltaSamePointer(void)2005 void testCHARArrayWithinDeltaSamePointer(void)
2006 {
2007 char expected[] = {20, -95, 55};
2008
2009 TEST_ASSERT_CHAR_ARRAY_WITHIN(11, expected, expected, 3);
2010 }
2011
testCHARArrayWithinDeltaSamePointerAndMessage(void)2012 void testCHARArrayWithinDeltaSamePointerAndMessage(void)
2013 {
2014 char expected[] = {20, -95, 55};
2015
2016 TEST_ASSERT_CHAR_ARRAY_WITHIN_MESSAGE(11, expected, expected, 3, "Custom Message.");
2017 }
2018
testUInt64ArrayWithinDelta(void)2019 void testUInt64ArrayWithinDelta(void)
2020 {
2021 #ifndef UNITY_SUPPORT_64
2022 TEST_IGNORE();
2023 #else
2024 UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
2025 UNITY_UINT64 actualSmallDelta[] = {12345001, 12344996, 12345005};
2026 UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
2027
2028 TEST_ASSERT_UINT64_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
2029 TEST_ASSERT_UINT64_ARRAY_WITHIN(110, expected, actualBigDelta, 3);
2030 #endif
2031 }
2032
testUInt64ArrayWithinDeltaAndMessage(void)2033 void testUInt64ArrayWithinDeltaAndMessage(void)
2034 {
2035 #ifndef UNITY_SUPPORT_64
2036 TEST_IGNORE();
2037 #else
2038 UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
2039 UNITY_UINT64 actualSmallDelta[] = {12345001, 12344996, 12345005};
2040 UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
2041
2042 TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
2043 TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 3, "Custom Message.");
2044 #endif
2045 }
2046
testUInt64ArrayNotWithinDelta(void)2047 void testUInt64ArrayNotWithinDelta(void)
2048 {
2049 #ifndef UNITY_SUPPORT_64
2050 TEST_IGNORE();
2051 #else
2052 UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
2053 UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
2054
2055 EXPECT_ABORT_BEGIN
2056 TEST_ASSERT_UINT64_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
2057 VERIFY_FAILS_END
2058 #endif
2059 }
2060
testUInt64ArrayNotWithinDeltaAndMessage(void)2061 void testUInt64ArrayNotWithinDeltaAndMessage(void)
2062 {
2063 #ifndef UNITY_SUPPORT_64
2064 TEST_IGNORE();
2065 #else
2066 UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
2067 UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
2068
2069 EXPECT_ABORT_BEGIN
2070 TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
2071 VERIFY_FAILS_END
2072 #endif
2073 }
2074
testUInt64ArrayWithinDeltaPointless(void)2075 void testUInt64ArrayWithinDeltaPointless(void)
2076 {
2077 #ifndef UNITY_SUPPORT_64
2078 TEST_IGNORE();
2079 #else
2080 UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
2081 UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
2082
2083 EXPECT_ABORT_BEGIN
2084 TEST_ASSERT_UINT64_ARRAY_WITHIN(110, expected, actualBigDelta, 0);
2085 VERIFY_FAILS_END
2086 #endif
2087 }
2088
testUInt64ArrayWithinDeltaPointlessAndMessage(void)2089 void testUInt64ArrayWithinDeltaPointlessAndMessage(void)
2090 {
2091 #ifndef UNITY_SUPPORT_64
2092 TEST_IGNORE();
2093 #else
2094 UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
2095 UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
2096
2097 EXPECT_ABORT_BEGIN
2098 TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 0, "Custom Message.");
2099 VERIFY_FAILS_END
2100 #endif
2101 }
2102
testUInt64ArrayWithinDeltaExpectedNull(void)2103 void testUInt64ArrayWithinDeltaExpectedNull(void)
2104 {
2105 #ifndef UNITY_SUPPORT_64
2106 TEST_IGNORE();
2107 #else
2108 UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
2109
2110 EXPECT_ABORT_BEGIN
2111 TEST_ASSERT_UINT64_ARRAY_WITHIN(110, NULL, actualBigDelta, 3);
2112 VERIFY_FAILS_END
2113 #endif
2114 }
2115
testUInt64ArrayWithinDeltaExpectedNullAndMessage(void)2116 void testUInt64ArrayWithinDeltaExpectedNullAndMessage(void)
2117 {
2118 #ifndef UNITY_SUPPORT_64
2119 TEST_IGNORE();
2120 #else
2121 UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
2122
2123 EXPECT_ABORT_BEGIN
2124 TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(110, NULL, actualBigDelta, 3, "Custom Message.");
2125 VERIFY_FAILS_END
2126 #endif
2127 }
2128
testUInt64ArrayWithinDeltaActualNull(void)2129 void testUInt64ArrayWithinDeltaActualNull(void)
2130 {
2131 #ifndef UNITY_SUPPORT_64
2132 TEST_IGNORE();
2133 #else
2134 UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
2135
2136 EXPECT_ABORT_BEGIN
2137 TEST_ASSERT_UINT64_ARRAY_WITHIN(110, expected, NULL, 3);
2138 VERIFY_FAILS_END
2139 #endif
2140 }
2141
testUInt64ArrayWithinDeltaActualNullAndMessage(void)2142 void testUInt64ArrayWithinDeltaActualNullAndMessage(void)
2143 {
2144 #ifndef UNITY_SUPPORT_64
2145 TEST_IGNORE();
2146 #else
2147 UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
2148
2149 EXPECT_ABORT_BEGIN
2150 TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(110, expected, NULL, 3, "Custom Message.");
2151 VERIFY_FAILS_END
2152 #endif
2153 }
2154
testUInt64ArrayWithinDeltaSamePointer(void)2155 void testUInt64ArrayWithinDeltaSamePointer(void)
2156 {
2157 #ifndef UNITY_SUPPORT_64
2158 TEST_IGNORE();
2159 #else
2160 UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
2161
2162 TEST_ASSERT_UINT64_ARRAY_WITHIN(110, expected, expected, 3);
2163 #endif
2164 }
2165
testUInt64ArrayWithinDeltaSamePointerAndMessage(void)2166 void testUInt64ArrayWithinDeltaSamePointerAndMessage(void)
2167 {
2168 #ifndef UNITY_SUPPORT_64
2169 TEST_IGNORE();
2170 #else
2171 UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
2172
2173 TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(110, expected, expected, 3, "Custom Message.");
2174 #endif
2175 }
2176
testUIntArrayWithinDelta(void)2177 void testUIntArrayWithinDelta(void)
2178 {
2179 UNITY_UINT expected[] = {125000, 124995, 125005};
2180 UNITY_UINT actualSmallDelta[] = {125001, 124996, 125005};
2181 UNITY_UINT actualBigDelta[] = {125101, 124896, 125055};
2182
2183 TEST_ASSERT_UINT_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
2184 TEST_ASSERT_UINT_ARRAY_WITHIN(110, expected, actualBigDelta, 3);
2185 }
2186
testUIntArrayWithinDeltaAndMessage(void)2187 void testUIntArrayWithinDeltaAndMessage(void)
2188 {
2189 UNITY_UINT expected[] = {125000, 124995, 125005};
2190 UNITY_UINT actualSmallDelta[] = {125001, 124996, 125005};
2191 UNITY_UINT actualBigDelta[] = {125101, 124896, 125055};
2192
2193 TEST_ASSERT_UINT_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
2194 TEST_ASSERT_UINT_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 3, "Custom Message.");
2195 }
2196
testUIntArrayNotWithinDelta(void)2197 void testUIntArrayNotWithinDelta(void)
2198 {
2199 UNITY_UINT expected[] = {125000, 124995, 125005};
2200 UNITY_UINT actualBigDelta[] = {125101, 124896, 125055};
2201
2202 EXPECT_ABORT_BEGIN
2203 TEST_ASSERT_UINT_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
2204 VERIFY_FAILS_END
2205 }
2206
testUIntArrayNotWithinDeltaAndMessage(void)2207 void testUIntArrayNotWithinDeltaAndMessage(void)
2208 {
2209 UNITY_UINT expected[] = {125000, 124995, 125005};
2210 UNITY_UINT actualBigDelta[] = {125101, 124896, 125055};
2211
2212 EXPECT_ABORT_BEGIN
2213 TEST_ASSERT_UINT_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
2214 VERIFY_FAILS_END
2215 }
2216
testUIntArrayWithinDeltaPointless(void)2217 void testUIntArrayWithinDeltaPointless(void)
2218 {
2219 UNITY_UINT expected[] = {125000, 124995, 125005};
2220 UNITY_UINT actualBigDelta[] = {125101, 124896, 125055};
2221
2222 EXPECT_ABORT_BEGIN
2223 TEST_ASSERT_UINT_ARRAY_WITHIN(110, expected, actualBigDelta, 0);
2224 VERIFY_FAILS_END
2225 }
2226
testUIntArrayWithinDeltaPointlessAndMessage(void)2227 void testUIntArrayWithinDeltaPointlessAndMessage(void)
2228 {
2229 UNITY_UINT expected[] = {125000, 124995, 125005};
2230 UNITY_UINT actualBigDelta[] = {125101, 124896, 125055};
2231
2232 EXPECT_ABORT_BEGIN
2233 TEST_ASSERT_UINT_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 0, "Custom Message.");
2234 VERIFY_FAILS_END
2235 }
2236
testUIntArrayWithinDeltaExpectedNull(void)2237 void testUIntArrayWithinDeltaExpectedNull(void)
2238 {
2239 UNITY_UINT actualBigDelta[] = {125101, 124896, 125055};
2240
2241 EXPECT_ABORT_BEGIN
2242 TEST_ASSERT_UINT_ARRAY_WITHIN(110, NULL, actualBigDelta, 3);
2243 VERIFY_FAILS_END
2244 }
2245
testUIntArrayWithinDeltaExpectedNullAndMessage(void)2246 void testUIntArrayWithinDeltaExpectedNullAndMessage(void)
2247 {
2248 UNITY_UINT actualBigDelta[] = {125101, 124896, 125055};
2249
2250 EXPECT_ABORT_BEGIN
2251 TEST_ASSERT_UINT_ARRAY_WITHIN_MESSAGE(110, NULL, actualBigDelta, 3, "Custom Message.");
2252 VERIFY_FAILS_END
2253 }
2254
testUIntArrayWithinDeltaActualNull(void)2255 void testUIntArrayWithinDeltaActualNull(void)
2256 {
2257 UNITY_UINT expected[] = {125000, 124995, 125005};
2258
2259 EXPECT_ABORT_BEGIN
2260 TEST_ASSERT_UINT_ARRAY_WITHIN(110, expected, NULL, 3);
2261 VERIFY_FAILS_END
2262 }
2263
testUIntArrayWithinDeltaActualNullAndMessage(void)2264 void testUIntArrayWithinDeltaActualNullAndMessage(void)
2265 {
2266 UNITY_UINT expected[] = {125000, 124995, 125005};
2267
2268 EXPECT_ABORT_BEGIN
2269 TEST_ASSERT_UINT_ARRAY_WITHIN_MESSAGE(110, expected, NULL, 3, "Custom Message.");
2270 VERIFY_FAILS_END
2271 }
2272
testUIntArrayWithinDeltaSamePointer(void)2273 void testUIntArrayWithinDeltaSamePointer(void)
2274 {
2275 UNITY_UINT expected[] = {125000, 124995, 125005};
2276
2277 TEST_ASSERT_UINT_ARRAY_WITHIN(110, expected, expected, 3);
2278 }
2279
testUIntArrayWithinDeltaSamePointerAndMessage(void)2280 void testUIntArrayWithinDeltaSamePointerAndMessage(void)
2281 {
2282 UNITY_UINT expected[] = {125000, 124995, 125005};
2283
2284 TEST_ASSERT_UINT_ARRAY_WITHIN_MESSAGE(110, expected, expected, 3, "Custom Message.");
2285 }
2286
testUInt16ArrayWithinDelta(void)2287 void testUInt16ArrayWithinDelta(void)
2288 {
2289 UNITY_UINT16 expected[] = {5000, 4995, 5005};
2290 UNITY_UINT16 actualSmallDelta[] = {5001, 4996, 5005};
2291 UNITY_UINT16 actualBigDelta[] = {5101, 4896, 5055};
2292
2293 TEST_ASSERT_UINT16_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
2294 TEST_ASSERT_UINT16_ARRAY_WITHIN(110, expected, actualBigDelta, 3);
2295 }
2296
testUInt16ArrayWithinDeltaAndMessage(void)2297 void testUInt16ArrayWithinDeltaAndMessage(void)
2298 {
2299 UNITY_UINT16 expected[] = {5000, 4995, 5005};
2300 UNITY_UINT16 actualSmallDelta[] = {5001, 4996, 5005};
2301 UNITY_UINT16 actualBigDelta[] = {5101, 4896, 5055};
2302
2303 TEST_ASSERT_UINT16_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
2304 TEST_ASSERT_UINT16_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 3, "Custom Message.");
2305 }
2306
testUInt16ArrayNotWithinDelta(void)2307 void testUInt16ArrayNotWithinDelta(void)
2308 {
2309 UNITY_UINT16 expected[] = {5000, 4995, 5005};
2310 UNITY_UINT16 actualBigDelta[] = {5101, 4896, 5055};
2311
2312 EXPECT_ABORT_BEGIN
2313 TEST_ASSERT_UINT16_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
2314 VERIFY_FAILS_END
2315 }
2316
testUInt16ArrayNotWithinDeltaAndMessage(void)2317 void testUInt16ArrayNotWithinDeltaAndMessage(void)
2318 {
2319 UNITY_UINT16 expected[] = {5000, 4995, 5005};
2320 UNITY_UINT16 actualBigDelta[] = {5101, 4896, 5055};
2321
2322 EXPECT_ABORT_BEGIN
2323 TEST_ASSERT_UINT16_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
2324 VERIFY_FAILS_END
2325 }
2326
testUInt16ArrayWithinDeltaPointless(void)2327 void testUInt16ArrayWithinDeltaPointless(void)
2328 {
2329 UNITY_UINT16 expected[] = {5000, 4995, 5005};
2330 UNITY_UINT16 actualBigDelta[] = {5101, 4896, 5055};
2331
2332 EXPECT_ABORT_BEGIN
2333 TEST_ASSERT_UINT16_ARRAY_WITHIN(110, expected, actualBigDelta, 0);
2334 VERIFY_FAILS_END
2335 }
2336
testUInt16ArrayWithinDeltaPointlessAndMessage(void)2337 void testUInt16ArrayWithinDeltaPointlessAndMessage(void)
2338 {
2339 UNITY_UINT16 expected[] = {5000, 4995, 5005};
2340 UNITY_UINT16 actualBigDelta[] = {5101, 4896, 5055};
2341
2342 EXPECT_ABORT_BEGIN
2343 TEST_ASSERT_UINT16_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 0, "Custom Message.");
2344 VERIFY_FAILS_END
2345 }
2346
testUInt16ArrayWithinDeltaExpectedNull(void)2347 void testUInt16ArrayWithinDeltaExpectedNull(void)
2348 {
2349 UNITY_UINT16 actualBigDelta[] = {5101, 4896, 5055};
2350
2351 EXPECT_ABORT_BEGIN
2352 TEST_ASSERT_UINT16_ARRAY_WITHIN(110, NULL, actualBigDelta, 3);
2353 VERIFY_FAILS_END
2354 }
2355
testUInt16ArrayWithinDeltaExpectedNullAndMessage(void)2356 void testUInt16ArrayWithinDeltaExpectedNullAndMessage(void)
2357 {
2358 UNITY_UINT16 actualBigDelta[] = {5101, 4896, 5055};
2359
2360 EXPECT_ABORT_BEGIN
2361 TEST_ASSERT_UINT16_ARRAY_WITHIN_MESSAGE(110, NULL, actualBigDelta, 3, "Custom Message.");
2362 VERIFY_FAILS_END
2363 }
2364
testUInt16ArrayWithinDeltaActualNull(void)2365 void testUInt16ArrayWithinDeltaActualNull(void)
2366 {
2367 UNITY_UINT16 expected[] = {5000, 4995, 5005};
2368
2369 EXPECT_ABORT_BEGIN
2370 TEST_ASSERT_UINT16_ARRAY_WITHIN(110, expected, NULL, 3);
2371 VERIFY_FAILS_END
2372 }
2373
testUInt16ArrayWithinDeltaActualNullAndMessage(void)2374 void testUInt16ArrayWithinDeltaActualNullAndMessage(void)
2375 {
2376 UNITY_UINT16 expected[] = {5000, 4995, 5005};
2377
2378 EXPECT_ABORT_BEGIN
2379 TEST_ASSERT_UINT16_ARRAY_WITHIN_MESSAGE(110, expected, NULL, 3, "Custom Message.");
2380 VERIFY_FAILS_END
2381 }
2382
testUInt16ArrayWithinDeltaSamePointer(void)2383 void testUInt16ArrayWithinDeltaSamePointer(void)
2384 {
2385 UNITY_UINT16 expected[] = {5000, 4995, 5005};
2386
2387 TEST_ASSERT_UINT16_ARRAY_WITHIN(110, expected, expected, 3);
2388 }
2389
testUInt16ArrayWithinDeltaSamePointerAndMessage(void)2390 void testUInt16ArrayWithinDeltaSamePointerAndMessage(void)
2391 {
2392 UNITY_UINT16 expected[] = {5000, 4995, 5005};
2393
2394 TEST_ASSERT_UINT16_ARRAY_WITHIN_MESSAGE(110, expected, expected, 3, "Custom Message.");
2395 }
2396
testUInt8ArrayWithinDelta(void)2397 void testUInt8ArrayWithinDelta(void)
2398 {
2399 UNITY_UINT8 expected[] = {20, 95, 55};
2400 UNITY_UINT8 actualSmallDelta[] = {21, 94, 55};
2401 UNITY_UINT8 actualBigDelta[] = {11, 86, 45};
2402
2403 TEST_ASSERT_UINT8_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
2404 TEST_ASSERT_UINT8_ARRAY_WITHIN(11, expected, actualBigDelta, 3);
2405 }
2406
testUInt8ArrayWithinDeltaAndMessage(void)2407 void testUInt8ArrayWithinDeltaAndMessage(void)
2408 {
2409 UNITY_UINT8 expected[] = {20, 95, 55};
2410 UNITY_UINT8 actualSmallDelta[] = {21, 94, 55};
2411 UNITY_UINT8 actualBigDelta[] = {11, 86, 45};
2412
2413 TEST_ASSERT_UINT8_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
2414 TEST_ASSERT_UINT8_ARRAY_WITHIN_MESSAGE(11, expected, actualBigDelta, 3, "Custom Message.");
2415 }
2416
testUInt8ArrayNotWithinDelta(void)2417 void testUInt8ArrayNotWithinDelta(void)
2418 {
2419 UNITY_UINT8 expected[] = {20, 95, 55};
2420 UNITY_UINT8 actualBigDelta[] = {11, 86, 45};
2421
2422 EXPECT_ABORT_BEGIN
2423 TEST_ASSERT_UINT8_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
2424 VERIFY_FAILS_END
2425 }
2426
testUInt8ArrayNotWithinDeltaAndMessage(void)2427 void testUInt8ArrayNotWithinDeltaAndMessage(void)
2428 {
2429 UNITY_UINT8 expected[] = {20, 95, 55};
2430 UNITY_UINT8 actualBigDelta[] = {11, 86, 45};
2431
2432 EXPECT_ABORT_BEGIN
2433 TEST_ASSERT_UINT8_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
2434 VERIFY_FAILS_END
2435 }
2436
testUInt8ArrayWithinDeltaPointless(void)2437 void testUInt8ArrayWithinDeltaPointless(void)
2438 {
2439 UNITY_UINT8 expected[] = {20, 95, 55};
2440 UNITY_UINT8 actualBigDelta[] = {11, 86, 45};
2441
2442 EXPECT_ABORT_BEGIN
2443 TEST_ASSERT_UINT8_ARRAY_WITHIN(11, expected, actualBigDelta, 0);
2444 VERIFY_FAILS_END
2445 }
2446
testUInt8ArrayWithinDeltaPointlessAndMessage(void)2447 void testUInt8ArrayWithinDeltaPointlessAndMessage(void)
2448 {
2449 UNITY_UINT8 expected[] = {20, 95, 55};
2450 UNITY_UINT8 actualBigDelta[] = {11, 86, 45};
2451
2452 EXPECT_ABORT_BEGIN
2453 TEST_ASSERT_UINT8_ARRAY_WITHIN_MESSAGE(11, expected, actualBigDelta, 0, "Custom Message.");
2454 VERIFY_FAILS_END
2455 }
2456
testUInt8ArrayWithinDeltaExpectedNull(void)2457 void testUInt8ArrayWithinDeltaExpectedNull(void)
2458 {
2459 UNITY_UINT8 actualBigDelta[] = {11, 86, 45};
2460
2461 EXPECT_ABORT_BEGIN
2462 TEST_ASSERT_UINT8_ARRAY_WITHIN(11, NULL, actualBigDelta, 3);
2463 VERIFY_FAILS_END
2464 }
2465
testUInt8ArrayWithinDeltaExpectedNullAndMessage(void)2466 void testUInt8ArrayWithinDeltaExpectedNullAndMessage(void)
2467 {
2468 UNITY_UINT8 actualBigDelta[] = {11, 86, 45};
2469
2470 EXPECT_ABORT_BEGIN
2471 TEST_ASSERT_UINT8_ARRAY_WITHIN_MESSAGE(11, NULL, actualBigDelta, 3, "Custom Message.");
2472 VERIFY_FAILS_END
2473 }
2474
testUInt8ArrayWithinDeltaActualNull(void)2475 void testUInt8ArrayWithinDeltaActualNull(void)
2476 {
2477 UNITY_UINT8 expected[] = {20, 95, 55};
2478
2479 EXPECT_ABORT_BEGIN
2480 TEST_ASSERT_UINT8_ARRAY_WITHIN(11, expected, NULL, 3);
2481 VERIFY_FAILS_END
2482 }
2483
testUInt8ArrayWithinDeltaActualNullAndMessage(void)2484 void testUInt8ArrayWithinDeltaActualNullAndMessage(void)
2485 {
2486 UNITY_UINT8 expected[] = {20, 95, 55};
2487
2488 EXPECT_ABORT_BEGIN
2489 TEST_ASSERT_UINT8_ARRAY_WITHIN_MESSAGE(11, expected, NULL, 3, "Custom Message.");
2490 VERIFY_FAILS_END
2491 }
2492
testUInt8ArrayWithinDeltaSamePointer(void)2493 void testUInt8ArrayWithinDeltaSamePointer(void)
2494 {
2495 UNITY_UINT8 expected[] = {20, 95, 55};
2496
2497 TEST_ASSERT_UINT8_ARRAY_WITHIN(11, expected, expected, 3);
2498 }
2499
testUInt8ArrayWithinDeltaSamePointerAndMessage(void)2500 void testUInt8ArrayWithinDeltaSamePointerAndMessage(void)
2501 {
2502 UNITY_UINT8 expected[] = {20, 95, 55};
2503
2504 TEST_ASSERT_UINT8_ARRAY_WITHIN_MESSAGE(11, expected, expected, 3, "Custom Message.");
2505 }
2506
testHEX64ArrayWithinDelta(void)2507 void testHEX64ArrayWithinDelta(void)
2508 {
2509 #ifndef UNITY_SUPPORT_64
2510 TEST_IGNORE();
2511 #else
2512 UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
2513 UNITY_UINT64 actualSmallDelta[] = {0xABCD123500000000, 0xABCD112100000000, 0xABCD127700000000};
2514 UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
2515
2516 TEST_ASSERT_HEX64_ARRAY_WITHIN(0x100000000, expected, actualSmallDelta, 3);
2517 TEST_ASSERT_HEX64_ARRAY_WITHIN(0x6E00000000, expected, actualBigDelta, 3);
2518 #endif
2519 }
2520
testHEX64ArrayWithinDeltaAndMessage(void)2521 void testHEX64ArrayWithinDeltaAndMessage(void)
2522 {
2523 #ifndef UNITY_SUPPORT_64
2524 TEST_IGNORE();
2525 #else
2526 UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
2527 UNITY_UINT64 actualSmallDelta[] = {0xABCD123500000000, 0xABCD112100000000, 0xABCD127700000000};
2528 UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
2529
2530 TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x100000000, expected, actualSmallDelta, 3, "Custom Message.");
2531 TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x6E00000000, expected, actualBigDelta, 3, "Custom Message.");
2532 #endif
2533 }
2534
testHEX64ArrayNotWithinDelta(void)2535 void testHEX64ArrayNotWithinDelta(void)
2536 {
2537 #ifndef UNITY_SUPPORT_64
2538 TEST_IGNORE();
2539 #else
2540 UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
2541 UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
2542
2543 EXPECT_ABORT_BEGIN
2544 TEST_ASSERT_HEX64_ARRAY_WITHIN(0x100000000, expected, actualBigDelta, 3);
2545 VERIFY_FAILS_END
2546 #endif
2547 }
2548
testHEX64ArrayNotWithinDeltaAndMessage(void)2549 void testHEX64ArrayNotWithinDeltaAndMessage(void)
2550 {
2551 #ifndef UNITY_SUPPORT_64
2552 TEST_IGNORE();
2553 #else
2554 UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
2555 UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
2556
2557 EXPECT_ABORT_BEGIN
2558 TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x100000000, expected, actualBigDelta, 3, "Custom Message.");
2559 VERIFY_FAILS_END
2560 #endif
2561 }
2562
testHEX64ArrayWithinDeltaPointless(void)2563 void testHEX64ArrayWithinDeltaPointless(void)
2564 {
2565 #ifndef UNITY_SUPPORT_64
2566 TEST_IGNORE();
2567 #else
2568 UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
2569 UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
2570
2571 EXPECT_ABORT_BEGIN
2572 TEST_ASSERT_HEX64_ARRAY_WITHIN(0x6E00000000, expected, actualBigDelta, 0);
2573 VERIFY_FAILS_END
2574 #endif
2575 }
2576
testHEX64ArrayWithinDeltaPointlessAndMessage(void)2577 void testHEX64ArrayWithinDeltaPointlessAndMessage(void)
2578 {
2579 #ifndef UNITY_SUPPORT_64
2580 TEST_IGNORE();
2581 #else
2582 UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
2583 UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
2584
2585 EXPECT_ABORT_BEGIN
2586 TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x6E00000000, expected, actualBigDelta, 0, "Custom Message.");
2587 VERIFY_FAILS_END
2588 #endif
2589 }
2590
testHEX64ArrayWithinDeltaExpectedNull(void)2591 void testHEX64ArrayWithinDeltaExpectedNull(void)
2592 {
2593 #ifndef UNITY_SUPPORT_64
2594 TEST_IGNORE();
2595 #else
2596 UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
2597
2598 EXPECT_ABORT_BEGIN
2599 TEST_ASSERT_HEX64_ARRAY_WITHIN(0x6E00000000, NULL, actualBigDelta, 3);
2600 VERIFY_FAILS_END
2601 #endif
2602 }
2603
testHEX64ArrayWithinDeltaExpectedNullAndMessage(void)2604 void testHEX64ArrayWithinDeltaExpectedNullAndMessage(void)
2605 {
2606 #ifndef UNITY_SUPPORT_64
2607 TEST_IGNORE();
2608 #else
2609 UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
2610
2611 EXPECT_ABORT_BEGIN
2612 TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x6E00000000, NULL, actualBigDelta, 3, "Custom Message.");
2613 VERIFY_FAILS_END
2614 #endif
2615 }
2616
testHEX64ArrayWithinDeltaActualNull(void)2617 void testHEX64ArrayWithinDeltaActualNull(void)
2618 {
2619 #ifndef UNITY_SUPPORT_64
2620 TEST_IGNORE();
2621 #else
2622 UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
2623
2624 EXPECT_ABORT_BEGIN
2625 TEST_ASSERT_HEX64_ARRAY_WITHIN(0x6E00000000, expected, NULL, 3);
2626 VERIFY_FAILS_END
2627 #endif
2628 }
2629
testHEX64ArrayWithinDeltaActualNullAndMessage(void)2630 void testHEX64ArrayWithinDeltaActualNullAndMessage(void)
2631 {
2632 #ifndef UNITY_SUPPORT_64
2633 TEST_IGNORE();
2634 #else
2635 UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
2636
2637 EXPECT_ABORT_BEGIN
2638 TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x6E00000000, expected, NULL, 3, "Custom Message.");
2639 VERIFY_FAILS_END
2640 #endif
2641 }
2642
testHEX64ArrayWithinDeltaSamePointer(void)2643 void testHEX64ArrayWithinDeltaSamePointer(void)
2644 {
2645 #ifndef UNITY_SUPPORT_64
2646 TEST_IGNORE();
2647 #else
2648 UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
2649
2650 TEST_ASSERT_HEX64_ARRAY_WITHIN(0x6E00000000, expected, expected, 3);
2651 #endif
2652 }
2653
testHEX64ArrayWithinDeltaSamePointerAndMessage(void)2654 void testHEX64ArrayWithinDeltaSamePointerAndMessage(void)
2655 {
2656 #ifndef UNITY_SUPPORT_64
2657 TEST_IGNORE();
2658 #else
2659 UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
2660
2661 TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x6E00000000, expected, expected, 3, "Custom Message.");
2662 #endif
2663 }
2664
testHEX32ArrayWithinDelta(void)2665 void testHEX32ArrayWithinDelta(void)
2666 {
2667 UNITY_UINT expected[] = {0xABCD1234, 0xABCD1122, 0xABCD1277};
2668 UNITY_UINT actualSmallDelta[] = {0xABCD1235, 0xABCD1121, 0xABCD1277};
2669 UNITY_UINT actualBigDelta[] = {0xABCD1267, 0xABCD1188, 0xABCD12AC};
2670
2671 TEST_ASSERT_HEX32_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
2672 TEST_ASSERT_HEX32_ARRAY_WITHIN(110, expected, actualBigDelta, 3);
2673 }
2674
testHEX32ArrayWithinDeltaAndMessage(void)2675 void testHEX32ArrayWithinDeltaAndMessage(void)
2676 {
2677 UNITY_UINT expected[] = {0xABCD1234, 0xABCD1122, 0xABCD1277};
2678 UNITY_UINT actualSmallDelta[] = {0xABCD1235, 0xABCD1121, 0xABCD1277};
2679 UNITY_UINT actualBigDelta[] = {0xABCD1267, 0xABCD1188, 0xABCD12AC};
2680
2681 TEST_ASSERT_HEX32_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
2682 TEST_ASSERT_HEX32_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 3, "Custom Message.");
2683 }
2684
testHEX32ArrayNotWithinDelta(void)2685 void testHEX32ArrayNotWithinDelta(void)
2686 {
2687 UNITY_UINT expected[] = {0xABCD1234, 0xABCD1122, 0xABCD1277};
2688 UNITY_UINT actualBigDelta[] = {0xABCD1267, 0xABCD1188, 0xABCD12AC};
2689
2690 EXPECT_ABORT_BEGIN
2691 TEST_ASSERT_HEX32_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
2692 VERIFY_FAILS_END
2693 }
2694
testHEX32ArrayNotWithinDeltaAndMessage(void)2695 void testHEX32ArrayNotWithinDeltaAndMessage(void)
2696 {
2697 UNITY_UINT expected[] = {0xABCD1234, 0xABCD1122, 0xABCD1277};
2698 UNITY_UINT actualBigDelta[] = {0xABCD1267, 0xABCD1188, 0xABCD12AC};
2699
2700 EXPECT_ABORT_BEGIN
2701 TEST_ASSERT_HEX32_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
2702 VERIFY_FAILS_END
2703 }
2704
testHEX32ArrayWithinDeltaPointless(void)2705 void testHEX32ArrayWithinDeltaPointless(void)
2706 {
2707 UNITY_UINT expected[] = {0xABCD1234, 0xABCD1122, 0xABCD1277};
2708 UNITY_UINT actualBigDelta[] = {0xABCD1267, 0xABCD1188, 0xABCD12AC};
2709
2710 EXPECT_ABORT_BEGIN
2711 TEST_ASSERT_HEX32_ARRAY_WITHIN(110, expected, actualBigDelta, 0);
2712 VERIFY_FAILS_END
2713 }
2714
testHEX32ArrayWithinDeltaPointlessAndMessage(void)2715 void testHEX32ArrayWithinDeltaPointlessAndMessage(void)
2716 {
2717 UNITY_UINT expected[] = {0xABCD1234, 0xABCD1122, 0xABCD1277};
2718 UNITY_UINT actualBigDelta[] = {0xABCD1267, 0xABCD1188, 0xABCD12AC};
2719
2720 EXPECT_ABORT_BEGIN
2721 TEST_ASSERT_HEX32_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 0, "Custom Message.");
2722 VERIFY_FAILS_END
2723 }
2724
testHEX32ArrayWithinDeltaExpectedNull(void)2725 void testHEX32ArrayWithinDeltaExpectedNull(void)
2726 {
2727 UNITY_UINT actualBigDelta[] = {0xABCD1267, 0xABCD1188, 0xABCD12AC};
2728
2729 EXPECT_ABORT_BEGIN
2730 TEST_ASSERT_HEX32_ARRAY_WITHIN(110, NULL, actualBigDelta, 3);
2731 VERIFY_FAILS_END
2732 }
2733
testHEX32ArrayWithinDeltaExpectedNullAndMessage(void)2734 void testHEX32ArrayWithinDeltaExpectedNullAndMessage(void)
2735 {
2736 UNITY_UINT actualBigDelta[] = {0xABCD1267, 0xABCD1188, 0xABCD12AC};
2737
2738 EXPECT_ABORT_BEGIN
2739 TEST_ASSERT_HEX32_ARRAY_WITHIN_MESSAGE(110, NULL, actualBigDelta, 3, "Custom Message.");
2740 VERIFY_FAILS_END
2741 }
2742
testHEX32ArrayWithinDeltaActualNull(void)2743 void testHEX32ArrayWithinDeltaActualNull(void)
2744 {
2745 UNITY_UINT expected[] = {0xABCD1234, 0xABCD1122, 0xABCD1277};
2746
2747 EXPECT_ABORT_BEGIN
2748 TEST_ASSERT_HEX32_ARRAY_WITHIN(110, expected, NULL, 3);
2749 VERIFY_FAILS_END
2750 }
2751
testHEX32ArrayWithinDeltaActualNullAndMessage(void)2752 void testHEX32ArrayWithinDeltaActualNullAndMessage(void)
2753 {
2754 UNITY_UINT expected[] = {0xABCD1234, 0xABCD1122, 0xABCD1277};
2755
2756 EXPECT_ABORT_BEGIN
2757 TEST_ASSERT_HEX32_ARRAY_WITHIN_MESSAGE(110, expected, NULL, 3, "Custom Message.");
2758 VERIFY_FAILS_END
2759 }
2760
testHEX32ArrayWithinDeltaSamePointer(void)2761 void testHEX32ArrayWithinDeltaSamePointer(void)
2762 {
2763 UNITY_UINT expected[] = {0xABCD1234, 0xABCD1122, 0xABCD1277};
2764
2765 TEST_ASSERT_HEX32_ARRAY_WITHIN(110, expected, expected, 3);
2766 }
2767
testHEX32ArrayWithinDeltaSamePointerAndMessage(void)2768 void testHEX32ArrayWithinDeltaSamePointerAndMessage(void)
2769 {
2770 UNITY_UINT expected[] = {0xABCD1234, 0xABCD1122, 0xABCD1277};
2771
2772 TEST_ASSERT_HEX32_ARRAY_WITHIN_MESSAGE(110, expected, expected, 3, "Custom Message.");
2773 }
2774
2775
testHEX16ArrayWithinDelta(void)2776 void testHEX16ArrayWithinDelta(void)
2777 {
2778 UNITY_UINT16 expected[] = {0x1234, 0x1122, 0x1277};
2779 UNITY_UINT16 actualSmallDelta[] = {0x1235, 0x1121, 0x1277};
2780 UNITY_UINT16 actualBigDelta[] = {0x1267, 0x1188, 0x12AC};
2781
2782 TEST_ASSERT_HEX16_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
2783 TEST_ASSERT_HEX16_ARRAY_WITHIN(110, expected, actualBigDelta, 3);
2784 }
2785
testHEX16ArrayWithinDeltaAndMessage(void)2786 void testHEX16ArrayWithinDeltaAndMessage(void)
2787 {
2788 UNITY_UINT16 expected[] = {0x1234, 0x1122, 0x1277};
2789 UNITY_UINT16 actualSmallDelta[] = {0x1235, 0x1121, 0x1277};
2790 UNITY_UINT16 actualBigDelta[] = {0x1267, 0x1188, 0x12AC};
2791
2792 TEST_ASSERT_HEX16_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
2793 TEST_ASSERT_HEX16_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 3, "Custom Message.");
2794 }
2795
testHEX16ArrayNotWithinDelta(void)2796 void testHEX16ArrayNotWithinDelta(void)
2797 {
2798 UNITY_UINT16 expected[] = {0x1234, 0x1122, 0x1277};
2799 UNITY_UINT16 actualBigDelta[] = {0x1267, 0x1188, 0x12AC};
2800
2801 EXPECT_ABORT_BEGIN
2802 TEST_ASSERT_HEX16_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
2803 VERIFY_FAILS_END
2804 }
2805
testHEX16ArrayNotWithinDeltaAndMessage(void)2806 void testHEX16ArrayNotWithinDeltaAndMessage(void)
2807 {
2808 UNITY_UINT16 expected[] = {0x1234, 0x1122, 0x1277};
2809 UNITY_UINT16 actualBigDelta[] = {0x1267, 0x1188, 0x12AC};
2810
2811 EXPECT_ABORT_BEGIN
2812 TEST_ASSERT_HEX16_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
2813 VERIFY_FAILS_END
2814 }
2815
testHEX16ArrayWithinDeltaPointless(void)2816 void testHEX16ArrayWithinDeltaPointless(void)
2817 {
2818 UNITY_UINT16 expected[] = {0x1234, 0x1122, 0x1277};
2819 UNITY_UINT16 actualBigDelta[] = {0x1267, 0x1188, 0x12AC};
2820
2821 EXPECT_ABORT_BEGIN
2822 TEST_ASSERT_HEX16_ARRAY_WITHIN(110, expected, actualBigDelta, 0);
2823 VERIFY_FAILS_END
2824 }
2825
testHEX16ArrayWithinDeltaPointlessAndMessage(void)2826 void testHEX16ArrayWithinDeltaPointlessAndMessage(void)
2827 {
2828 UNITY_UINT16 expected[] = {0x1234, 0x1122, 0x1277};
2829 UNITY_UINT16 actualBigDelta[] = {0x1267, 0x1188, 0x12AC};
2830
2831 EXPECT_ABORT_BEGIN
2832 TEST_ASSERT_HEX16_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 0, "Custom Message.");
2833 VERIFY_FAILS_END
2834 }
2835
testHEX16ArrayWithinDeltaExpectedNull(void)2836 void testHEX16ArrayWithinDeltaExpectedNull(void)
2837 {
2838 UNITY_UINT16 actualBigDelta[] = {0x1267, 0x1188, 0x12AC};
2839
2840 EXPECT_ABORT_BEGIN
2841 TEST_ASSERT_HEX16_ARRAY_WITHIN(110, NULL, actualBigDelta, 3);
2842 VERIFY_FAILS_END
2843 }
2844
testHEX16ArrayWithinDeltaExpectedNullAndMessage(void)2845 void testHEX16ArrayWithinDeltaExpectedNullAndMessage(void)
2846 {
2847 UNITY_UINT16 actualBigDelta[] = {0x1267, 0x1188, 0x12AC};
2848
2849 EXPECT_ABORT_BEGIN
2850 TEST_ASSERT_HEX16_ARRAY_WITHIN_MESSAGE(110, NULL, actualBigDelta, 3, "Custom Message.");
2851 VERIFY_FAILS_END
2852 }
2853
testHEX16ArrayWithinDeltaActualNull(void)2854 void testHEX16ArrayWithinDeltaActualNull(void)
2855 {
2856 UNITY_UINT16 expected[] = {0x1234, 0x1122, 0x1277};
2857
2858 EXPECT_ABORT_BEGIN
2859 TEST_ASSERT_HEX16_ARRAY_WITHIN(110, expected, NULL, 3);
2860 VERIFY_FAILS_END
2861 }
2862
testHEX16ArrayWithinDeltaActualNullAndMessage(void)2863 void testHEX16ArrayWithinDeltaActualNullAndMessage(void)
2864 {
2865 UNITY_UINT16 expected[] = {0x1234, 0x1122, 0x1277};
2866
2867 EXPECT_ABORT_BEGIN
2868 TEST_ASSERT_HEX16_ARRAY_WITHIN_MESSAGE(110, expected, NULL, 3, "Custom Message.");
2869 VERIFY_FAILS_END
2870 }
2871
testHEX16ArrayWithinDeltaSamePointer(void)2872 void testHEX16ArrayWithinDeltaSamePointer(void)
2873 {
2874 UNITY_UINT16 expected[] = {0x1234, 0x1122, 0x1277};
2875
2876 TEST_ASSERT_HEX16_ARRAY_WITHIN(110, expected, expected, 3);
2877 }
2878
testHEX16ArrayWithinDeltaSamePointerAndMessage(void)2879 void testHEX16ArrayWithinDeltaSamePointerAndMessage(void)
2880 {
2881 UNITY_UINT16 expected[] = {0x1234, 0x1122, 0x1277};
2882
2883 TEST_ASSERT_HEX16_ARRAY_WITHIN_MESSAGE(110, expected, expected, 3, "Custom Message.");
2884 }
2885
testHEX8ArrayWithinDelta(void)2886 void testHEX8ArrayWithinDelta(void)
2887 {
2888 UNITY_UINT8 expected[] = {0x34, 0x22, 0x77};
2889 UNITY_UINT8 actualSmallDelta[] = {0x35, 0x21, 0x77};
2890 UNITY_UINT8 actualBigDelta[] = {0x47, 0x48, 0x4C};
2891
2892 TEST_ASSERT_HEX8_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
2893 TEST_ASSERT_HEX8_ARRAY_WITHIN(60, expected, actualBigDelta, 3);
2894 }
2895
testHEX8ArrayWithinDeltaAndMessage(void)2896 void testHEX8ArrayWithinDeltaAndMessage(void)
2897 {
2898 UNITY_UINT8 expected[] = {0x34, 0x22, 0x77};
2899 UNITY_UINT8 actualSmallDelta[] = {0x35, 0x21, 0x77};
2900 UNITY_UINT8 actualBigDelta[] = {0x47, 0x48, 0x4C};
2901
2902 TEST_ASSERT_HEX8_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
2903 TEST_ASSERT_HEX8_ARRAY_WITHIN_MESSAGE(60, expected, actualBigDelta, 3, "Custom Message.");
2904 }
2905
testHEX8ArrayNotWithinDelta(void)2906 void testHEX8ArrayNotWithinDelta(void)
2907 {
2908 UNITY_UINT8 expected[] = {0x34, 0x22, 0x77};
2909 UNITY_UINT8 actualBigDelta[] = {0x67, 0x88, 0xAC};
2910
2911 EXPECT_ABORT_BEGIN
2912 TEST_ASSERT_HEX8_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
2913 VERIFY_FAILS_END
2914 }
2915
testHEX8ArrayNotWithinDeltaAndMessage(void)2916 void testHEX8ArrayNotWithinDeltaAndMessage(void)
2917 {
2918 UNITY_UINT8 expected[] = {0x34, 0x22, 0x77};
2919 UNITY_UINT8 actualBigDelta[] = {0x67, 0x88, 0xAC};
2920
2921 EXPECT_ABORT_BEGIN
2922 TEST_ASSERT_HEX8_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
2923 VERIFY_FAILS_END
2924 }
2925
testHEX8ArrayWithinDeltaPointless(void)2926 void testHEX8ArrayWithinDeltaPointless(void)
2927 {
2928 UNITY_UINT8 expected[] = {0x34, 0x22, 0x77};
2929 UNITY_UINT8 actualBigDelta[] = {0x67, 0x88, 0xAC};
2930
2931 EXPECT_ABORT_BEGIN
2932 TEST_ASSERT_HEX8_ARRAY_WITHIN(60, expected, actualBigDelta, 0);
2933 VERIFY_FAILS_END
2934 }
2935
testHEX8ArrayWithinDeltaPointlessAndMessage(void)2936 void testHEX8ArrayWithinDeltaPointlessAndMessage(void)
2937 {
2938 UNITY_UINT8 expected[] = {0x34, 0x22, 0x77};
2939 UNITY_UINT8 actualBigDelta[] = {0x67, 0x88, 0xAC};
2940
2941 EXPECT_ABORT_BEGIN
2942 TEST_ASSERT_HEX8_ARRAY_WITHIN_MESSAGE(60, expected, actualBigDelta, 0, "Custom Message.");
2943 VERIFY_FAILS_END
2944 }
2945
testHEX8ArrayWithinDeltaExpectedNull(void)2946 void testHEX8ArrayWithinDeltaExpectedNull(void)
2947 {
2948 UNITY_UINT8 actualBigDelta[] = {0x67, 0x88, 0xAC};
2949
2950 EXPECT_ABORT_BEGIN
2951 TEST_ASSERT_HEX8_ARRAY_WITHIN(60, NULL, actualBigDelta, 3);
2952 VERIFY_FAILS_END
2953 }
2954
testHEX8ArrayWithinDeltaExpectedNullAndMessage(void)2955 void testHEX8ArrayWithinDeltaExpectedNullAndMessage(void)
2956 {
2957 UNITY_UINT8 actualBigDelta[] = {0x67, 0x88, 0xAC};
2958
2959 EXPECT_ABORT_BEGIN
2960 TEST_ASSERT_HEX8_ARRAY_WITHIN_MESSAGE(60, NULL, actualBigDelta, 3, "Custom Message.");
2961 VERIFY_FAILS_END
2962 }
2963
testHEX8ArrayWithinDeltaActualNull(void)2964 void testHEX8ArrayWithinDeltaActualNull(void)
2965 {
2966 UNITY_UINT8 expected[] = {0x34, 0x22, 0x77};
2967
2968 EXPECT_ABORT_BEGIN
2969 TEST_ASSERT_HEX8_ARRAY_WITHIN(60, expected, NULL, 3);
2970 VERIFY_FAILS_END
2971 }
2972
testHEX8ArrayWithinDeltaActualNullAndMessage(void)2973 void testHEX8ArrayWithinDeltaActualNullAndMessage(void)
2974 {
2975 UNITY_UINT8 expected[] = {0x34, 0x22, 0x77};
2976
2977 EXPECT_ABORT_BEGIN
2978 TEST_ASSERT_HEX8_ARRAY_WITHIN_MESSAGE(60, expected, NULL, 3, "Custom Message.");
2979 VERIFY_FAILS_END
2980 }
2981
testHEX8ArrayWithinDeltaSamePointer(void)2982 void testHEX8ArrayWithinDeltaSamePointer(void)
2983 {
2984 UNITY_UINT8 expected[] = {0x34, 0x22, 0x77};
2985
2986 TEST_ASSERT_HEX8_ARRAY_WITHIN(60, expected, expected, 3);
2987 }
2988
testHEX8ArrayWithinDeltaSamePointerAndMessage(void)2989 void testHEX8ArrayWithinDeltaSamePointerAndMessage(void)
2990 {
2991 UNITY_UINT8 expected[] = {0x34, 0x22, 0x77};
2992
2993 TEST_ASSERT_HEX8_ARRAY_WITHIN_MESSAGE(60, expected, expected, 3, "Custom Message.");
2994 }
2995
2996 /*-----------------*/
2997
testGreaterThan(void)2998 void testGreaterThan(void)
2999 {
3000 UNITY_INT v0, v1;
3001 UNITY_INT *p0, *p1;
3002
3003 v0 = 0;
3004 v1 = 1;
3005 p0 = &v0;
3006 p1 = &v1;
3007
3008 TEST_ASSERT_GREATER_THAN(v0, v1);
3009 TEST_ASSERT_GREATER_THAN(*p0, v1);
3010 TEST_ASSERT_GREATER_THAN(v0, *p1);
3011 TEST_ASSERT_GREATER_THAN(*p0, *p1);
3012 }
3013
testNotGreaterThan(void)3014 void testNotGreaterThan(void)
3015 {
3016 EXPECT_ABORT_BEGIN
3017 TEST_ASSERT_GREATER_THAN(0, -1);
3018 VERIFY_FAILS_END
3019 }
3020
testGreaterThanINT(void)3021 void testGreaterThanINT(void)
3022 {
3023 UNITY_INT v0, v1;
3024 UNITY_INT *p0, *p1;
3025
3026 v0 = 302;
3027 v1 = 3334;
3028 p0 = &v0;
3029 p1 = &v1;
3030
3031 TEST_ASSERT_GREATER_THAN_INT(v0, v1);
3032 TEST_ASSERT_GREATER_THAN_INT(*p0, v1);
3033 TEST_ASSERT_GREATER_THAN_INT(v0, *p1);
3034 TEST_ASSERT_GREATER_THAN_INT(*p0, *p1);
3035 }
3036
testNotGreaterThanINT(void)3037 void testNotGreaterThanINT(void)
3038 {
3039 EXPECT_ABORT_BEGIN
3040 TEST_ASSERT_GREATER_THAN_INT(3334, 302);
3041 VERIFY_FAILS_END
3042 }
3043
testGreaterThanINT8(void)3044 void testGreaterThanINT8(void)
3045 {
3046 UNITY_INT8 v0, v1;
3047 UNITY_INT8 *p0, *p1;
3048
3049 v0 = -128;
3050 v1 = 127;
3051 p0 = &v0;
3052 p1 = &v1;
3053
3054 TEST_ASSERT_GREATER_THAN_INT8(v0, v1);
3055 TEST_ASSERT_GREATER_THAN_INT8(*p0, v1);
3056 TEST_ASSERT_GREATER_THAN_INT8(v0, *p1);
3057 TEST_ASSERT_GREATER_THAN_INT8(*p0, *p1);
3058 }
3059
testNotGreaterThanINT8(void)3060 void testNotGreaterThanINT8(void)
3061 {
3062 EXPECT_ABORT_BEGIN
3063 TEST_ASSERT_GREATER_THAN_INT8(127, -128);
3064 VERIFY_FAILS_END
3065 }
3066
testGreaterThanCHAR(void)3067 void testGreaterThanCHAR(void)
3068 {
3069 char v0, v1;
3070 char *p0, *p1;
3071
3072 v0 = -128;
3073 v1 = 127;
3074 p0 = &v0;
3075 p1 = &v1;
3076
3077 TEST_ASSERT_GREATER_THAN_CHAR(v0, v1);
3078 TEST_ASSERT_GREATER_THAN_CHAR(*p0, v1);
3079 TEST_ASSERT_GREATER_THAN_CHAR(v0, *p1);
3080 TEST_ASSERT_GREATER_THAN_CHAR(*p0, *p1);
3081 }
3082
testNotGreaterThanCHAR(void)3083 void testNotGreaterThanCHAR(void)
3084 {
3085 EXPECT_ABORT_BEGIN
3086 TEST_ASSERT_GREATER_THAN_CHAR(127, -128);
3087 VERIFY_FAILS_END
3088 }
3089
testGreaterThanINT16(void)3090 void testGreaterThanINT16(void)
3091 {
3092 UNITY_INT16 v0, v1;
3093 UNITY_INT16 *p0, *p1;
3094
3095 v0 = -32768;
3096 v1 = 32767;
3097 p0 = &v0;
3098 p1 = &v1;
3099
3100 TEST_ASSERT_GREATER_THAN_INT16(v0, v1);
3101 TEST_ASSERT_GREATER_THAN_INT16(*p0, v1);
3102 TEST_ASSERT_GREATER_THAN_INT16(v0, *p1);
3103 TEST_ASSERT_GREATER_THAN_INT16(*p0, *p1);
3104 }
3105
testNotGreaterThanINT16(void)3106 void testNotGreaterThanINT16(void)
3107 {
3108 EXPECT_ABORT_BEGIN
3109 TEST_ASSERT_GREATER_THAN_INT16(32768, -32768);
3110 VERIFY_FAILS_END
3111 }
3112
testGreaterThanINT32(void)3113 void testGreaterThanINT32(void)
3114 {
3115 UNITY_INT32 v0, v1;
3116 UNITY_INT32 *p0, *p1;
3117
3118 v0 = -214783648;
3119 v1 = 214783647;
3120 p0 = &v0;
3121 p1 = &v1;
3122
3123 TEST_ASSERT_GREATER_THAN_INT32(v0, v1);
3124 TEST_ASSERT_GREATER_THAN_INT32(*p0, v1);
3125 TEST_ASSERT_GREATER_THAN_INT32(v0, *p1);
3126 TEST_ASSERT_GREATER_THAN_INT32(*p0, *p1);
3127 }
3128
testNotGreaterThanINT32(void)3129 void testNotGreaterThanINT32(void)
3130 {
3131 EXPECT_ABORT_BEGIN
3132 TEST_ASSERT_GREATER_THAN_INT32(214783647, -214783648);
3133 VERIFY_FAILS_END
3134 }
3135
testGreaterThanUINT(void)3136 void testGreaterThanUINT(void)
3137 {
3138 UNITY_UINT v0, v1;
3139 UNITY_UINT *p0, *p1;
3140
3141 v0 = 0;
3142 v1 = 1;
3143 p0 = &v0;
3144 p1 = &v1;
3145
3146 TEST_ASSERT_GREATER_THAN_UINT(v0, v1);
3147 TEST_ASSERT_GREATER_THAN_UINT(*p0, v1);
3148 TEST_ASSERT_GREATER_THAN_UINT(v0, *p1);
3149 TEST_ASSERT_GREATER_THAN_UINT(*p0, *p1);
3150 }
3151
testNotGreaterThanUINT(void)3152 void testNotGreaterThanUINT(void)
3153 {
3154 EXPECT_ABORT_BEGIN
3155 TEST_ASSERT_GREATER_THAN_UINT(1, 0);
3156 VERIFY_FAILS_END
3157 }
3158
testGreaterThanUINT8(void)3159 void testGreaterThanUINT8(void)
3160 {
3161 UNITY_UINT8 v0, v1;
3162 UNITY_UINT8 *p0, *p1;
3163
3164 v0 = 0;
3165 v1 = 255;
3166 p0 = &v0;
3167 p1 = &v1;
3168
3169 TEST_ASSERT_GREATER_THAN_UINT8(v0, v1);
3170 TEST_ASSERT_GREATER_THAN_UINT8(*p0, v1);
3171 TEST_ASSERT_GREATER_THAN_UINT8(v0, *p1);
3172 TEST_ASSERT_GREATER_THAN_UINT8(*p0, *p1);
3173 }
3174
testNotGreaterThanUINT8(void)3175 void testNotGreaterThanUINT8(void)
3176 {
3177 EXPECT_ABORT_BEGIN
3178 TEST_ASSERT_GREATER_THAN_UINT8(255, 0);
3179 VERIFY_FAILS_END
3180 }
3181
testGreaterThanUINT16(void)3182 void testGreaterThanUINT16(void)
3183 {
3184 UNITY_UINT16 v0, v1;
3185 UNITY_UINT16 *p0, *p1;
3186
3187 v0 = 0;
3188 v1 = 65535;
3189 p0 = &v0;
3190 p1 = &v1;
3191
3192 TEST_ASSERT_GREATER_THAN_UINT16(v0, v1);
3193 TEST_ASSERT_GREATER_THAN_UINT16(*p0, v1);
3194 TEST_ASSERT_GREATER_THAN_UINT16(v0, *p1);
3195 TEST_ASSERT_GREATER_THAN_UINT16(*p0, *p1);
3196 }
3197
testNotGreaterThanUINT16(void)3198 void testNotGreaterThanUINT16(void)
3199 {
3200 EXPECT_ABORT_BEGIN
3201 TEST_ASSERT_GREATER_THAN_UINT16(65535, 0);
3202 VERIFY_FAILS_END
3203 }
3204
testGreaterThanUINT32(void)3205 void testGreaterThanUINT32(void)
3206 {
3207 UNITY_UINT32 v0, v1;
3208 UNITY_UINT32 *p0, *p1;
3209
3210 v0 = 0u;
3211 v1 = 4294967295u;
3212 p0 = &v0;
3213 p1 = &v1;
3214
3215 TEST_ASSERT_GREATER_THAN_UINT32(v0, v1);
3216 TEST_ASSERT_GREATER_THAN_UINT32(*p0, v1);
3217 TEST_ASSERT_GREATER_THAN_UINT32(v0, *p1);
3218 TEST_ASSERT_GREATER_THAN_UINT32(*p0, *p1);
3219 }
3220
testNotGreaterThanUINT32(void)3221 void testNotGreaterThanUINT32(void)
3222 {
3223 EXPECT_ABORT_BEGIN
3224 TEST_ASSERT_GREATER_THAN_UINT32(4294967295u, 0);
3225 VERIFY_FAILS_END
3226 }
3227
testGreaterThanHEX8(void)3228 void testGreaterThanHEX8(void)
3229 {
3230 UNITY_UINT8 v0, v1;
3231 UNITY_UINT8 *p0, *p1;
3232
3233 v0 = 0x00;
3234 v1 = 0xFF;
3235 p0 = &v0;
3236 p1 = &v1;
3237
3238 TEST_ASSERT_GREATER_THAN_HEX8(v0, v1);
3239 TEST_ASSERT_GREATER_THAN_HEX8(*p0, v1);
3240 TEST_ASSERT_GREATER_THAN_HEX8(v0, *p1);
3241 TEST_ASSERT_GREATER_THAN_HEX8(*p0, *p1);
3242 }
3243
testNotGreaterThanHEX8(void)3244 void testNotGreaterThanHEX8(void)
3245 {
3246 EXPECT_ABORT_BEGIN
3247 TEST_ASSERT_GREATER_THAN_HEX8(0xFF, 0x00);
3248 VERIFY_FAILS_END
3249 }
3250
testGreaterThanHEX16(void)3251 void testGreaterThanHEX16(void)
3252 {
3253 UNITY_UINT16 v0, v1;
3254 UNITY_UINT16 *p0, *p1;
3255
3256 v0 = 0x0000;
3257 v1 = 0xFFFF;
3258 p0 = &v0;
3259 p1 = &v1;
3260
3261 TEST_ASSERT_GREATER_THAN_HEX16(v0, v1);
3262 TEST_ASSERT_GREATER_THAN_HEX16(*p0, v1);
3263 TEST_ASSERT_GREATER_THAN_HEX16(v0, *p1);
3264 TEST_ASSERT_GREATER_THAN_HEX16(*p0, *p1);
3265 }
3266
testNotGreaterThanHEX16(void)3267 void testNotGreaterThanHEX16(void)
3268 {
3269 EXPECT_ABORT_BEGIN
3270 TEST_ASSERT_GREATER_THAN_HEX16(0xFFFF, 0x00);
3271 VERIFY_FAILS_END
3272 }
3273
testGreaterThanHEX32(void)3274 void testGreaterThanHEX32(void)
3275 {
3276 UNITY_UINT32 v0, v1;
3277 UNITY_UINT32 *p0, *p1;
3278
3279 v0 = 0x00000000;
3280 v1 = 0xFFFFFFFF;
3281 p0 = &v0;
3282 p1 = &v1;
3283
3284 TEST_ASSERT_GREATER_THAN_HEX32(v0, v1);
3285 TEST_ASSERT_GREATER_THAN_HEX32(*p0, v1);
3286 TEST_ASSERT_GREATER_THAN_HEX32(v0, *p1);
3287 TEST_ASSERT_GREATER_THAN_HEX32(*p0, *p1);
3288 }
3289
testNotGreaterThanHEX32(void)3290 void testNotGreaterThanHEX32(void)
3291 {
3292 EXPECT_ABORT_BEGIN
3293 TEST_ASSERT_GREATER_THAN_HEX32(0xFFFFFFFF, 0x00);
3294 VERIFY_FAILS_END
3295 }
3296
testGreaterOrEqual(void)3297 void testGreaterOrEqual(void)
3298 {
3299 UNITY_INT v0, v1, v2;
3300 UNITY_INT *p0, *p1, *p2;
3301
3302 v0 = 0;
3303 v1 = 1;
3304 v2 = 0;
3305 p0 = &v0;
3306 p1 = &v1;
3307 p2 = &v2;
3308
3309 TEST_ASSERT_GREATER_OR_EQUAL(v0, v1);
3310 TEST_ASSERT_GREATER_OR_EQUAL(*p0, v1);
3311 TEST_ASSERT_GREATER_OR_EQUAL(v0, *p1);
3312 TEST_ASSERT_GREATER_OR_EQUAL(*p0, *p1);
3313 TEST_ASSERT_GREATER_OR_EQUAL(v0, v2);
3314 TEST_ASSERT_GREATER_OR_EQUAL(*p0, v2);
3315 TEST_ASSERT_GREATER_OR_EQUAL(v0, *p2);
3316 TEST_ASSERT_GREATER_OR_EQUAL(*p0, *p2);
3317 }
3318
testNotGreaterOrEqual(void)3319 void testNotGreaterOrEqual(void)
3320 {
3321 EXPECT_ABORT_BEGIN
3322 TEST_ASSERT_GREATER_OR_EQUAL(0, -1);
3323 VERIFY_FAILS_END
3324 }
3325
testGreaterOrEqualINT(void)3326 void testGreaterOrEqualINT(void)
3327 {
3328 UNITY_INT v0, v1, v2;
3329 UNITY_INT *p0, *p1, *p2;
3330
3331 v0 = 302;
3332 v1 = 3334;
3333 v2 = 302;
3334 p0 = &v0;
3335 p1 = &v1;
3336 p2 = &v2;
3337
3338 TEST_ASSERT_GREATER_OR_EQUAL_INT(v0, v1);
3339 TEST_ASSERT_GREATER_OR_EQUAL_INT(*p0, v1);
3340 TEST_ASSERT_GREATER_OR_EQUAL_INT(v0, *p1);
3341 TEST_ASSERT_GREATER_OR_EQUAL_INT(*p0, *p1);
3342 TEST_ASSERT_GREATER_OR_EQUAL_INT(v0, v2);
3343 TEST_ASSERT_GREATER_OR_EQUAL_INT(*p0, v2);
3344 TEST_ASSERT_GREATER_OR_EQUAL_INT(v0, *p2);
3345 TEST_ASSERT_GREATER_OR_EQUAL_INT(*p0, *p2);
3346 }
3347
testNotGreaterOrEqualINT(void)3348 void testNotGreaterOrEqualINT(void)
3349 {
3350 EXPECT_ABORT_BEGIN
3351 TEST_ASSERT_GREATER_OR_EQUAL_INT(3334, 302);
3352 VERIFY_FAILS_END
3353 }
3354
testGreaterOrEqualINT8(void)3355 void testGreaterOrEqualINT8(void)
3356 {
3357 UNITY_INT8 v0, v1, v2;
3358 UNITY_INT8 *p0, *p1, *p2;
3359
3360 v0 = -128;
3361 v1 = 127;
3362 v2 = -128;
3363 p0 = &v0;
3364 p1 = &v1;
3365 p2 = &v2;
3366
3367 TEST_ASSERT_GREATER_OR_EQUAL_INT8(v0, v1);
3368 TEST_ASSERT_GREATER_OR_EQUAL_INT8(*p0, v1);
3369 TEST_ASSERT_GREATER_OR_EQUAL_INT8(v0, *p1);
3370 TEST_ASSERT_GREATER_OR_EQUAL_INT8(*p0, *p1);
3371 TEST_ASSERT_GREATER_OR_EQUAL_INT8(v0, v2);
3372 TEST_ASSERT_GREATER_OR_EQUAL_INT8(*p0, v2);
3373 TEST_ASSERT_GREATER_OR_EQUAL_INT8(v0, *p2);
3374 TEST_ASSERT_GREATER_OR_EQUAL_INT8(*p0, *p2);
3375 }
3376
testNotGreaterOrEqualINT8(void)3377 void testNotGreaterOrEqualINT8(void)
3378 {
3379 EXPECT_ABORT_BEGIN
3380 TEST_ASSERT_GREATER_OR_EQUAL_INT8(127, -128);
3381 VERIFY_FAILS_END
3382 }
3383
testGreaterOrEqualCHAR(void)3384 void testGreaterOrEqualCHAR(void)
3385 {
3386 char v0, v1, v2;
3387 char *p0, *p1, *p2;
3388
3389 v0 = -128;
3390 v1 = 127;
3391 v2 = -128;
3392 p0 = &v0;
3393 p1 = &v1;
3394 p2 = &v2;
3395
3396 TEST_ASSERT_GREATER_OR_EQUAL_CHAR(v0, v1);
3397 TEST_ASSERT_GREATER_OR_EQUAL_CHAR(*p0, v1);
3398 TEST_ASSERT_GREATER_OR_EQUAL_CHAR(v0, *p1);
3399 TEST_ASSERT_GREATER_OR_EQUAL_CHAR(*p0, *p1);
3400 TEST_ASSERT_GREATER_OR_EQUAL_CHAR(v0, v2);
3401 TEST_ASSERT_GREATER_OR_EQUAL_CHAR(*p0, v2);
3402 TEST_ASSERT_GREATER_OR_EQUAL_CHAR(v0, *p2);
3403 TEST_ASSERT_GREATER_OR_EQUAL_CHAR(*p0, *p2);
3404 }
3405
testNotGreaterOrEqualCHAR(void)3406 void testNotGreaterOrEqualCHAR(void)
3407 {
3408 EXPECT_ABORT_BEGIN
3409 TEST_ASSERT_GREATER_OR_EQUAL_CHAR(127, -128);
3410 VERIFY_FAILS_END
3411 }
3412
testGreaterOrEqualINT16(void)3413 void testGreaterOrEqualINT16(void)
3414 {
3415 UNITY_INT16 v0, v1, v2;
3416 UNITY_INT16 *p0, *p1, *p2;
3417
3418 v0 = -32768;
3419 v1 = 32767;
3420 v2 = -32768;
3421 p0 = &v0;
3422 p1 = &v1;
3423 p2 = &v2;
3424
3425 TEST_ASSERT_GREATER_OR_EQUAL_INT16(v0, v1);
3426 TEST_ASSERT_GREATER_OR_EQUAL_INT16(*p0, v1);
3427 TEST_ASSERT_GREATER_OR_EQUAL_INT16(v0, *p1);
3428 TEST_ASSERT_GREATER_OR_EQUAL_INT16(*p0, *p1);
3429 TEST_ASSERT_GREATER_OR_EQUAL_INT16(v0, v2);
3430 TEST_ASSERT_GREATER_OR_EQUAL_INT16(*p0, v2);
3431 TEST_ASSERT_GREATER_OR_EQUAL_INT16(v0, *p2);
3432 TEST_ASSERT_GREATER_OR_EQUAL_INT16(*p0, *p2);
3433 }
3434
testNotGreaterOrEqualINT16(void)3435 void testNotGreaterOrEqualINT16(void)
3436 {
3437 EXPECT_ABORT_BEGIN
3438 TEST_ASSERT_GREATER_OR_EQUAL_INT16(32767, -32768);
3439 VERIFY_FAILS_END
3440 }
3441
testGreaterOrEqualINT32(void)3442 void testGreaterOrEqualINT32(void)
3443 {
3444 UNITY_INT32 v0, v1, v2;
3445 UNITY_INT32 *p0, *p1, *p2;
3446
3447 v0 = -214783648;
3448 v1 = 214783647;
3449 v2 = -214783648;
3450 p0 = &v0;
3451 p1 = &v1;
3452 p2 = &v2;
3453
3454 TEST_ASSERT_GREATER_OR_EQUAL_INT32(v0, v1);
3455 TEST_ASSERT_GREATER_OR_EQUAL_INT32(*p0, v1);
3456 TEST_ASSERT_GREATER_OR_EQUAL_INT32(v0, *p1);
3457 TEST_ASSERT_GREATER_OR_EQUAL_INT32(*p0, *p1);
3458 TEST_ASSERT_GREATER_OR_EQUAL_INT32(v0, v2);
3459 TEST_ASSERT_GREATER_OR_EQUAL_INT32(*p0, v2);
3460 TEST_ASSERT_GREATER_OR_EQUAL_INT32(v0, *p2);
3461 TEST_ASSERT_GREATER_OR_EQUAL_INT32(*p0, *p2);
3462 }
3463
testNotGreaterOrEqualINT32(void)3464 void testNotGreaterOrEqualINT32(void)
3465 {
3466 EXPECT_ABORT_BEGIN
3467 TEST_ASSERT_GREATER_OR_EQUAL_INT32(214783647, -214783648);
3468 VERIFY_FAILS_END
3469 }
3470
testGreaterOrEqualUINT(void)3471 void testGreaterOrEqualUINT(void)
3472 {
3473 UNITY_UINT v0, v1, v2;
3474 UNITY_UINT *p0, *p1, *p2;
3475
3476 v0 = 0;
3477 v1 = 1;
3478 v2 = 0;
3479 p0 = &v0;
3480 p1 = &v1;
3481 p2 = &v2;
3482
3483 TEST_ASSERT_GREATER_OR_EQUAL_UINT(v0, v1);
3484 TEST_ASSERT_GREATER_OR_EQUAL_UINT(*p0, v1);
3485 TEST_ASSERT_GREATER_OR_EQUAL_UINT(v0, *p1);
3486 TEST_ASSERT_GREATER_OR_EQUAL_UINT(*p0, *p1);
3487 TEST_ASSERT_GREATER_OR_EQUAL_UINT(v0, v2);
3488 TEST_ASSERT_GREATER_OR_EQUAL_UINT(*p0, v2);
3489 TEST_ASSERT_GREATER_OR_EQUAL_UINT(v0, *p2);
3490 TEST_ASSERT_GREATER_OR_EQUAL_UINT(*p0, *p2);
3491 }
3492
testNotGreaterOrEqualUINT(void)3493 void testNotGreaterOrEqualUINT(void)
3494 {
3495 EXPECT_ABORT_BEGIN
3496 TEST_ASSERT_GREATER_OR_EQUAL_UINT(1, 0);
3497 VERIFY_FAILS_END
3498 }
3499
testGreaterOrEqualUINT8(void)3500 void testGreaterOrEqualUINT8(void)
3501 {
3502 UNITY_UINT8 v0, v1, v2;
3503 UNITY_UINT8 *p0, *p1, *p2;
3504
3505 v0 = 0;
3506 v1 = 255;
3507 v2 = 0;
3508 p0 = &v0;
3509 p1 = &v1;
3510 p2 = &v2;
3511
3512 TEST_ASSERT_GREATER_OR_EQUAL_UINT8(v0, v1);
3513 TEST_ASSERT_GREATER_OR_EQUAL_UINT8(*p0, v1);
3514 TEST_ASSERT_GREATER_OR_EQUAL_UINT8(v0, *p1);
3515 TEST_ASSERT_GREATER_OR_EQUAL_UINT8(*p0, *p1);
3516 TEST_ASSERT_GREATER_OR_EQUAL_UINT8(v0, v2);
3517 TEST_ASSERT_GREATER_OR_EQUAL_UINT8(*p0, v2);
3518 TEST_ASSERT_GREATER_OR_EQUAL_UINT8(v0, *p2);
3519 TEST_ASSERT_GREATER_OR_EQUAL_UINT8(*p0, *p2);
3520 }
3521
testNotGreaterOrEqualUINT8(void)3522 void testNotGreaterOrEqualUINT8(void)
3523 {
3524 EXPECT_ABORT_BEGIN
3525 TEST_ASSERT_GREATER_OR_EQUAL_UINT8(255, 0);
3526 VERIFY_FAILS_END
3527 }
3528
testGreaterOrEqualUINT16(void)3529 void testGreaterOrEqualUINT16(void)
3530 {
3531 UNITY_UINT16 v0, v1, v2;
3532 UNITY_UINT16 *p0, *p1, *p2;
3533
3534 v0 = 0;
3535 v1 = 65535;
3536 v2 = 0;
3537 p0 = &v0;
3538 p1 = &v1;
3539 p2 = &v2;
3540
3541 TEST_ASSERT_GREATER_OR_EQUAL_UINT16(v0, v1);
3542 TEST_ASSERT_GREATER_OR_EQUAL_UINT16(*p0, v1);
3543 TEST_ASSERT_GREATER_OR_EQUAL_UINT16(v0, *p1);
3544 TEST_ASSERT_GREATER_OR_EQUAL_UINT16(*p0, *p1);
3545 TEST_ASSERT_GREATER_OR_EQUAL_UINT16(v0, v2);
3546 TEST_ASSERT_GREATER_OR_EQUAL_UINT16(*p0, v2);
3547 TEST_ASSERT_GREATER_OR_EQUAL_UINT16(v0, *p2);
3548 TEST_ASSERT_GREATER_OR_EQUAL_UINT16(*p0, *p2);
3549 }
3550
testNotGreaterOrEqualUINT16(void)3551 void testNotGreaterOrEqualUINT16(void)
3552 {
3553 EXPECT_ABORT_BEGIN
3554 TEST_ASSERT_GREATER_OR_EQUAL_UINT16(65535, 0);
3555 VERIFY_FAILS_END
3556 }
3557
testGreaterOrEqualUINT32(void)3558 void testGreaterOrEqualUINT32(void)
3559 {
3560 UNITY_UINT32 v0, v1, v2;
3561 UNITY_UINT32 *p0, *p1, *p2;
3562
3563 v0 = 0;
3564 v1 = 4294967295u;
3565 v2 = 0;
3566 p0 = &v0;
3567 p1 = &v1;
3568 p2 = &v2;
3569
3570 TEST_ASSERT_GREATER_OR_EQUAL_UINT32(v0, v1);
3571 TEST_ASSERT_GREATER_OR_EQUAL_UINT32(*p0, v1);
3572 TEST_ASSERT_GREATER_OR_EQUAL_UINT32(v0, *p1);
3573 TEST_ASSERT_GREATER_OR_EQUAL_UINT32(*p0, *p1);
3574 TEST_ASSERT_GREATER_OR_EQUAL_UINT32(v0, v2);
3575 TEST_ASSERT_GREATER_OR_EQUAL_UINT32(*p0, v2);
3576 TEST_ASSERT_GREATER_OR_EQUAL_UINT32(v0, *p2);
3577 TEST_ASSERT_GREATER_OR_EQUAL_UINT32(*p0, *p2);
3578 }
3579
testNotGreaterOrEqualUINT32(void)3580 void testNotGreaterOrEqualUINT32(void)
3581 {
3582 EXPECT_ABORT_BEGIN
3583 TEST_ASSERT_GREATER_OR_EQUAL_UINT32(4294967295u, 0);
3584 VERIFY_FAILS_END
3585 }
3586
testGreaterOrEqualHEX8(void)3587 void testGreaterOrEqualHEX8(void)
3588 {
3589 UNITY_UINT8 v0, v1, v2;
3590 UNITY_UINT8 *p0, *p1, *p2;
3591
3592 v0 = 0x00;
3593 v1 = 0xFF;
3594 v2 = 0x00;
3595 p0 = &v0;
3596 p1 = &v1;
3597 p2 = &v2;
3598
3599 TEST_ASSERT_GREATER_OR_EQUAL_HEX8(v0, v1);
3600 TEST_ASSERT_GREATER_OR_EQUAL_HEX8(*p0, v1);
3601 TEST_ASSERT_GREATER_OR_EQUAL_HEX8(v0, *p1);
3602 TEST_ASSERT_GREATER_OR_EQUAL_HEX8(*p0, *p1);
3603 TEST_ASSERT_GREATER_OR_EQUAL_HEX8(v0, v2);
3604 TEST_ASSERT_GREATER_OR_EQUAL_HEX8(*p0, v2);
3605 TEST_ASSERT_GREATER_OR_EQUAL_HEX8(v0, *p2);
3606 TEST_ASSERT_GREATER_OR_EQUAL_HEX8(*p0, *p2);
3607 }
3608
testNotGreaterOrEqualHEX8(void)3609 void testNotGreaterOrEqualHEX8(void)
3610 {
3611 EXPECT_ABORT_BEGIN
3612 TEST_ASSERT_GREATER_OR_EQUAL_HEX8(0xFF, 0x00);
3613 VERIFY_FAILS_END
3614 }
3615
testGreaterOrEqualHEX16(void)3616 void testGreaterOrEqualHEX16(void)
3617 {
3618 UNITY_UINT16 v0, v1, v2;
3619 UNITY_UINT16 *p0, *p1, *p2;
3620
3621 v0 = 0x0000;
3622 v1 = 0xFFFF;
3623 v2 = 0x0000;
3624 p0 = &v0;
3625 p1 = &v1;
3626 p2 = &v2;
3627
3628 TEST_ASSERT_GREATER_OR_EQUAL_HEX16(v0, v1);
3629 TEST_ASSERT_GREATER_OR_EQUAL_HEX16(*p0, v1);
3630 TEST_ASSERT_GREATER_OR_EQUAL_HEX16(v0, *p1);
3631 TEST_ASSERT_GREATER_OR_EQUAL_HEX16(*p0, *p1);
3632 TEST_ASSERT_GREATER_OR_EQUAL_HEX16(v0, v2);
3633 TEST_ASSERT_GREATER_OR_EQUAL_HEX16(*p0, v2);
3634 TEST_ASSERT_GREATER_OR_EQUAL_HEX16(v0, *p2);
3635 TEST_ASSERT_GREATER_OR_EQUAL_HEX16(*p0, *p2);
3636 }
3637
testNotGreaterOrEqualHEX16(void)3638 void testNotGreaterOrEqualHEX16(void)
3639 {
3640 EXPECT_ABORT_BEGIN
3641 TEST_ASSERT_GREATER_OR_EQUAL_HEX16(0xFFFF, 0x00);
3642 VERIFY_FAILS_END
3643 }
3644
testGreaterOrEqualHEX32(void)3645 void testGreaterOrEqualHEX32(void)
3646 {
3647 UNITY_UINT32 v0, v1, v2;
3648 UNITY_UINT32 *p0, *p1, *p2;
3649
3650 v0 = 0x00000000;
3651 v1 = 0xFFFFFFFF;
3652 v2 = 0x00000000;
3653 p0 = &v0;
3654 p1 = &v1;
3655 p2 = &v2;
3656
3657 TEST_ASSERT_GREATER_OR_EQUAL_HEX32(v0, v1);
3658 TEST_ASSERT_GREATER_OR_EQUAL_HEX32(*p0, v1);
3659 TEST_ASSERT_GREATER_OR_EQUAL_HEX32(v0, *p1);
3660 TEST_ASSERT_GREATER_OR_EQUAL_HEX32(*p0, *p1);
3661 TEST_ASSERT_GREATER_OR_EQUAL_HEX32(v0, v2);
3662 TEST_ASSERT_GREATER_OR_EQUAL_HEX32(*p0, v2);
3663 TEST_ASSERT_GREATER_OR_EQUAL_HEX32(v0, *p2);
3664 TEST_ASSERT_GREATER_OR_EQUAL_HEX32(*p0, *p2);
3665 }
3666
testNotGreaterOrEqualHEX32(void)3667 void testNotGreaterOrEqualHEX32(void)
3668 {
3669 EXPECT_ABORT_BEGIN
3670 TEST_ASSERT_GREATER_OR_EQUAL_HEX32(0xFFFFFFFF, 0x00);
3671 VERIFY_FAILS_END
3672 }
3673
3674 /*-----------------*/
3675
testLessThan(void)3676 void testLessThan(void)
3677 {
3678 UNITY_INT v0, v1;
3679 UNITY_INT *p0, *p1;
3680
3681 v0 = 0;
3682 v1 = -1;
3683 p0 = &v0;
3684 p1 = &v1;
3685
3686 TEST_ASSERT_LESS_THAN(v0, v1);
3687 TEST_ASSERT_LESS_THAN(*p0, v1);
3688 TEST_ASSERT_LESS_THAN(v0, *p1);
3689 TEST_ASSERT_LESS_THAN(*p0, *p1);
3690 }
3691
testNotLessThan(void)3692 void testNotLessThan(void)
3693 {
3694 EXPECT_ABORT_BEGIN
3695 TEST_ASSERT_LESS_THAN(0, 1);
3696 VERIFY_FAILS_END
3697 }
3698
testLessThanINT(void)3699 void testLessThanINT(void)
3700 {
3701 UNITY_INT v0, v1;
3702 UNITY_INT *p0, *p1;
3703
3704 v0 = 3334;
3705 v1 = 302;
3706 p0 = &v0;
3707 p1 = &v1;
3708
3709 TEST_ASSERT_LESS_THAN_INT(v0, v1);
3710 TEST_ASSERT_LESS_THAN_INT(*p0, v1);
3711 TEST_ASSERT_LESS_THAN_INT(v0, *p1);
3712 TEST_ASSERT_LESS_THAN_INT(*p0, *p1);
3713 }
3714
testNotLessThanINT(void)3715 void testNotLessThanINT(void)
3716 {
3717 EXPECT_ABORT_BEGIN
3718 TEST_ASSERT_LESS_THAN_INT(302, 3334);
3719 VERIFY_FAILS_END
3720 }
3721
testLessThanINT8(void)3722 void testLessThanINT8(void)
3723 {
3724 UNITY_INT8 v0, v1;
3725 UNITY_INT8 *p0, *p1;
3726
3727 v0 = 127;
3728 v1 = -128;
3729 p0 = &v0;
3730 p1 = &v1;
3731
3732 TEST_ASSERT_LESS_THAN_INT8(v0, v1);
3733 TEST_ASSERT_LESS_THAN_INT8(*p0, v1);
3734 TEST_ASSERT_LESS_THAN_INT8(v0, *p1);
3735 TEST_ASSERT_LESS_THAN_INT8(*p0, *p1);
3736 }
3737
testNotLessThanINT8(void)3738 void testNotLessThanINT8(void)
3739 {
3740 EXPECT_ABORT_BEGIN
3741 TEST_ASSERT_LESS_THAN_INT8(-128, 127);
3742 VERIFY_FAILS_END
3743 }
3744
testLessThanCHAR(void)3745 void testLessThanCHAR(void)
3746 {
3747 char v0, v1;
3748 char *p0, *p1;
3749
3750 v0 = 127;
3751 v1 = -128;
3752 p0 = &v0;
3753 p1 = &v1;
3754
3755 TEST_ASSERT_LESS_THAN_CHAR(v0, v1);
3756 TEST_ASSERT_LESS_THAN_CHAR(*p0, v1);
3757 TEST_ASSERT_LESS_THAN_CHAR(v0, *p1);
3758 TEST_ASSERT_LESS_THAN_CHAR(*p0, *p1);
3759 }
3760
testNotLessThanCHAR(void)3761 void testNotLessThanCHAR(void)
3762 {
3763 EXPECT_ABORT_BEGIN
3764 TEST_ASSERT_LESS_THAN_CHAR(-128, 127);
3765 VERIFY_FAILS_END
3766 }
3767
testLessThanINT16(void)3768 void testLessThanINT16(void)
3769 {
3770 UNITY_INT16 v0, v1;
3771 UNITY_INT16 *p0, *p1;
3772
3773 v0 = 32767;
3774 v1 = -32768;
3775 p0 = &v0;
3776 p1 = &v1;
3777
3778 TEST_ASSERT_LESS_THAN_INT16(v0, v1);
3779 TEST_ASSERT_LESS_THAN_INT16(*p0, v1);
3780 TEST_ASSERT_LESS_THAN_INT16(v0, *p1);
3781 TEST_ASSERT_LESS_THAN_INT16(*p0, *p1);
3782 }
3783
testNotLessThanINT16(void)3784 void testNotLessThanINT16(void)
3785 {
3786 EXPECT_ABORT_BEGIN
3787 TEST_ASSERT_LESS_THAN_INT16(-32768, 32767);
3788 VERIFY_FAILS_END
3789 }
3790
testLessThanINT32(void)3791 void testLessThanINT32(void)
3792 {
3793 UNITY_INT32 v0, v1;
3794 UNITY_INT32 *p0, *p1;
3795
3796 v0 = 214783647;
3797 v1 = -214783648;
3798 p0 = &v0;
3799 p1 = &v1;
3800
3801 TEST_ASSERT_LESS_THAN_INT32(v0, v1);
3802 TEST_ASSERT_LESS_THAN_INT32(*p0, v1);
3803 TEST_ASSERT_LESS_THAN_INT32(v0, *p1);
3804 TEST_ASSERT_LESS_THAN_INT32(*p0, *p1);
3805 }
3806
testNotLessThanINT32(void)3807 void testNotLessThanINT32(void)
3808 {
3809 EXPECT_ABORT_BEGIN
3810 TEST_ASSERT_LESS_THAN_INT32(-214783648, 214783647);
3811 VERIFY_FAILS_END
3812 }
3813
testLessThanUINT(void)3814 void testLessThanUINT(void)
3815 {
3816 UNITY_UINT v0, v1;
3817 UNITY_UINT *p0, *p1;
3818
3819 v0 = 1;
3820 v1 = 0;
3821 p0 = &v0;
3822 p1 = &v1;
3823
3824 TEST_ASSERT_LESS_THAN_UINT(v0, v1);
3825 TEST_ASSERT_LESS_THAN_UINT(*p0, v1);
3826 TEST_ASSERT_LESS_THAN_UINT(v0, *p1);
3827 TEST_ASSERT_LESS_THAN_UINT(*p0, *p1);
3828 }
3829
testNotLessThanUINT(void)3830 void testNotLessThanUINT(void)
3831 {
3832 EXPECT_ABORT_BEGIN
3833 TEST_ASSERT_LESS_THAN_UINT(0, 1);
3834 VERIFY_FAILS_END
3835 }
3836
testLessThanUINT8(void)3837 void testLessThanUINT8(void)
3838 {
3839 UNITY_UINT8 v0, v1;
3840 UNITY_UINT8 *p0, *p1;
3841
3842 v0 = 255;
3843 v1 = 0;
3844 p0 = &v0;
3845 p1 = &v1;
3846
3847 TEST_ASSERT_LESS_THAN_UINT8(v0, v1);
3848 TEST_ASSERT_LESS_THAN_UINT8(*p0, v1);
3849 TEST_ASSERT_LESS_THAN_UINT8(v0, *p1);
3850 TEST_ASSERT_LESS_THAN_UINT8(*p0, *p1);
3851 }
3852
testNotLessThanUINT8(void)3853 void testNotLessThanUINT8(void)
3854 {
3855 EXPECT_ABORT_BEGIN
3856 TEST_ASSERT_LESS_THAN_UINT8(0, 255);
3857 VERIFY_FAILS_END
3858 }
3859
testLessThanUINT16(void)3860 void testLessThanUINT16(void)
3861 {
3862 UNITY_UINT16 v0, v1;
3863 UNITY_UINT16 *p0, *p1;
3864
3865 v0 = 65535;
3866 v1 = 0;
3867 p0 = &v0;
3868 p1 = &v1;
3869
3870 TEST_ASSERT_LESS_THAN_UINT16(v0, v1);
3871 TEST_ASSERT_LESS_THAN_UINT16(*p0, v1);
3872 TEST_ASSERT_LESS_THAN_UINT16(v0, *p1);
3873 TEST_ASSERT_LESS_THAN_UINT16(*p0, *p1);
3874 }
3875
testNotLessThanUINT16(void)3876 void testNotLessThanUINT16(void)
3877 {
3878 EXPECT_ABORT_BEGIN
3879 TEST_ASSERT_LESS_THAN_UINT16(0, 65535);
3880 VERIFY_FAILS_END
3881 }
3882
testLessThanUINT32(void)3883 void testLessThanUINT32(void)
3884 {
3885 UNITY_UINT32 v0, v1;
3886 UNITY_UINT32 *p0, *p1;
3887
3888 v0 = 4294967295u;
3889 v1 = 0;
3890 p0 = &v0;
3891 p1 = &v1;
3892
3893 TEST_ASSERT_LESS_THAN_UINT32(v0, v1);
3894 TEST_ASSERT_LESS_THAN_UINT32(*p0, v1);
3895 TEST_ASSERT_LESS_THAN_UINT32(v0, *p1);
3896 TEST_ASSERT_LESS_THAN_UINT32(*p0, *p1);
3897 }
3898
testNotLessThanUINT32(void)3899 void testNotLessThanUINT32(void)
3900 {
3901 EXPECT_ABORT_BEGIN
3902 TEST_ASSERT_LESS_THAN_UINT32(0, 4294967295u);
3903 VERIFY_FAILS_END
3904 }
3905
testLessThanHEX8(void)3906 void testLessThanHEX8(void)
3907 {
3908 UNITY_UINT8 v0, v1;
3909 UNITY_UINT8 *p0, *p1;
3910
3911 v0 = 0xFF;
3912 v1 = 0x00;
3913 p0 = &v0;
3914 p1 = &v1;
3915
3916 TEST_ASSERT_LESS_THAN_HEX8(v0, v1);
3917 TEST_ASSERT_LESS_THAN_HEX8(*p0, v1);
3918 TEST_ASSERT_LESS_THAN_HEX8(v0, *p1);
3919 TEST_ASSERT_LESS_THAN_HEX8(*p0, *p1);
3920 }
3921
testNotLessThanHEX8(void)3922 void testNotLessThanHEX8(void)
3923 {
3924 EXPECT_ABORT_BEGIN
3925 TEST_ASSERT_LESS_THAN_HEX8(0x00, 0xFF);
3926 VERIFY_FAILS_END
3927 }
3928
testLessThanHEX16(void)3929 void testLessThanHEX16(void)
3930 {
3931 UNITY_UINT16 v0, v1;
3932 UNITY_UINT16 *p0, *p1;
3933
3934 v0 = 0xFFFF;
3935 v1 = 0x0000;
3936 p0 = &v0;
3937 p1 = &v1;
3938
3939 TEST_ASSERT_LESS_THAN_HEX16(v0, v1);
3940 TEST_ASSERT_LESS_THAN_HEX16(*p0, v1);
3941 TEST_ASSERT_LESS_THAN_HEX16(v0, *p1);
3942 TEST_ASSERT_LESS_THAN_HEX16(*p0, *p1);
3943 }
3944
testNotLessThanHEX16(void)3945 void testNotLessThanHEX16(void)
3946 {
3947 EXPECT_ABORT_BEGIN
3948 TEST_ASSERT_LESS_THAN_HEX16(0x0000, 0xFFFF);
3949 VERIFY_FAILS_END
3950 }
3951
testLessThanHEX32(void)3952 void testLessThanHEX32(void)
3953 {
3954 UNITY_UINT32 v0, v1;
3955 UNITY_UINT32 *p0, *p1;
3956
3957 v0 = 0xFFFFFFFF;
3958 v1 = 0x00000000;
3959 p0 = &v0;
3960 p1 = &v1;
3961
3962 TEST_ASSERT_LESS_THAN_HEX32(v0, v1);
3963 TEST_ASSERT_LESS_THAN_HEX32(*p0, v1);
3964 TEST_ASSERT_LESS_THAN_HEX32(v0, *p1);
3965 TEST_ASSERT_LESS_THAN_HEX32(*p0, *p1);
3966 }
3967
testNotLessThanHEX32(void)3968 void testNotLessThanHEX32(void)
3969 {
3970 EXPECT_ABORT_BEGIN
3971 TEST_ASSERT_LESS_THAN_HEX32(0x00000000, 0xFFFFFFFF);
3972 VERIFY_FAILS_END
3973 }
3974
testLessOrEqual(void)3975 void testLessOrEqual(void)
3976 {
3977 UNITY_INT v0, v1, v2;
3978 UNITY_INT *p0, *p1, *p2;
3979
3980 v0 = 0;
3981 v1 = -1;
3982 v2 = 0;
3983 p0 = &v0;
3984 p1 = &v1;
3985 p2 = &v2;
3986
3987 TEST_ASSERT_LESS_OR_EQUAL(v0, v1);
3988 TEST_ASSERT_LESS_OR_EQUAL(*p0, v1);
3989 TEST_ASSERT_LESS_OR_EQUAL(v0, *p1);
3990 TEST_ASSERT_LESS_OR_EQUAL(*p0, *p1);
3991 TEST_ASSERT_LESS_OR_EQUAL(v0, v2);
3992 TEST_ASSERT_LESS_OR_EQUAL(*p0, v2);
3993 TEST_ASSERT_LESS_OR_EQUAL(v0, *p2);
3994 TEST_ASSERT_LESS_OR_EQUAL(*p0, *p2);
3995 }
3996
testNotLessOrEqual(void)3997 void testNotLessOrEqual(void)
3998 {
3999 EXPECT_ABORT_BEGIN
4000 TEST_ASSERT_LESS_OR_EQUAL(0, 1);
4001 VERIFY_FAILS_END
4002 }
4003
testLessOrEqualINT(void)4004 void testLessOrEqualINT(void)
4005 {
4006 UNITY_INT v0, v1, v2;
4007 UNITY_INT *p0, *p1, *p2;
4008
4009 v0 = 3334;
4010 v1 = 302;
4011 v2 = 3334;
4012 p0 = &v0;
4013 p1 = &v1;
4014 p2 = &v2;
4015
4016 TEST_ASSERT_LESS_OR_EQUAL_INT(v0, v1);
4017 TEST_ASSERT_LESS_OR_EQUAL_INT(*p0, v1);
4018 TEST_ASSERT_LESS_OR_EQUAL_INT(v0, *p1);
4019 TEST_ASSERT_LESS_OR_EQUAL_INT(*p0, *p1);
4020 TEST_ASSERT_LESS_OR_EQUAL_INT(v0, v2);
4021 TEST_ASSERT_LESS_OR_EQUAL_INT(*p0, v2);
4022 TEST_ASSERT_LESS_OR_EQUAL_INT(v0, *p2);
4023 TEST_ASSERT_LESS_OR_EQUAL_INT(*p0, *p2);
4024 }
4025
testNotLessOrEqualINT(void)4026 void testNotLessOrEqualINT(void)
4027 {
4028 EXPECT_ABORT_BEGIN
4029 TEST_ASSERT_LESS_OR_EQUAL_INT(302, 3334);
4030 VERIFY_FAILS_END
4031 }
4032
testLessOrEqualINT8(void)4033 void testLessOrEqualINT8(void)
4034 {
4035 UNITY_INT8 v0, v1, v2;
4036 UNITY_INT8 *p0, *p1, *p2;
4037
4038 v0 = 127;
4039 v1 = -128;
4040 v2 = 127;
4041 p0 = &v0;
4042 p1 = &v1;
4043 p2 = &v2;
4044
4045 TEST_ASSERT_LESS_OR_EQUAL_INT8(v0, v1);
4046 TEST_ASSERT_LESS_OR_EQUAL_INT8(*p0, v1);
4047 TEST_ASSERT_LESS_OR_EQUAL_INT8(v0, *p1);
4048 TEST_ASSERT_LESS_OR_EQUAL_INT8(*p0, *p1);
4049 TEST_ASSERT_LESS_OR_EQUAL_INT8(v0, v2);
4050 TEST_ASSERT_LESS_OR_EQUAL_INT8(*p0, v2);
4051 TEST_ASSERT_LESS_OR_EQUAL_INT8(v0, *p2);
4052 TEST_ASSERT_LESS_OR_EQUAL_INT8(*p0, *p2);
4053 }
4054
testNotLessOrEqualINT8(void)4055 void testNotLessOrEqualINT8(void)
4056 {
4057 EXPECT_ABORT_BEGIN
4058 TEST_ASSERT_LESS_OR_EQUAL_INT8(-128, 127);
4059 VERIFY_FAILS_END
4060 }
4061
testLessOrEqualCHAR(void)4062 void testLessOrEqualCHAR(void)
4063 {
4064 char v0, v1, v2;
4065 char *p0, *p1, *p2;
4066
4067 v0 = 127;
4068 v1 = -128;
4069 v2 = 127;
4070 p0 = &v0;
4071 p1 = &v1;
4072 p2 = &v2;
4073
4074 TEST_ASSERT_LESS_OR_EQUAL_CHAR(v0, v1);
4075 TEST_ASSERT_LESS_OR_EQUAL_CHAR(*p0, v1);
4076 TEST_ASSERT_LESS_OR_EQUAL_CHAR(v0, *p1);
4077 TEST_ASSERT_LESS_OR_EQUAL_CHAR(*p0, *p1);
4078 TEST_ASSERT_LESS_OR_EQUAL_CHAR(v0, v2);
4079 TEST_ASSERT_LESS_OR_EQUAL_CHAR(*p0, v2);
4080 TEST_ASSERT_LESS_OR_EQUAL_CHAR(v0, *p2);
4081 TEST_ASSERT_LESS_OR_EQUAL_CHAR(*p0, *p2);
4082 }
4083
testNotLessOrEqualCHAR(void)4084 void testNotLessOrEqualCHAR(void)
4085 {
4086 EXPECT_ABORT_BEGIN
4087 TEST_ASSERT_LESS_OR_EQUAL_CHAR(-128, 127);
4088 VERIFY_FAILS_END
4089 }
4090
testLessOrEqualINT16(void)4091 void testLessOrEqualINT16(void)
4092 {
4093 UNITY_INT16 v0, v1, v2;
4094 UNITY_INT16 *p0, *p1, *p2;
4095
4096 v0 = 32767;
4097 v1 = -32768;
4098 v2 = 32767;
4099 p0 = &v0;
4100 p1 = &v1;
4101 p2 = &v2;
4102
4103 TEST_ASSERT_LESS_OR_EQUAL_INT16(v0, v1);
4104 TEST_ASSERT_LESS_OR_EQUAL_INT16(*p0, v1);
4105 TEST_ASSERT_LESS_OR_EQUAL_INT16(v0, *p1);
4106 TEST_ASSERT_LESS_OR_EQUAL_INT16(*p0, *p1);
4107 TEST_ASSERT_LESS_OR_EQUAL_INT16(v0, v2);
4108 TEST_ASSERT_LESS_OR_EQUAL_INT16(*p0, v2);
4109 TEST_ASSERT_LESS_OR_EQUAL_INT16(v0, *p2);
4110 TEST_ASSERT_LESS_OR_EQUAL_INT16(*p0, *p2);
4111 }
4112
testNotLessOrEqualINT16(void)4113 void testNotLessOrEqualINT16(void)
4114 {
4115 EXPECT_ABORT_BEGIN
4116 TEST_ASSERT_LESS_OR_EQUAL_INT16(-32768, 32767);
4117 VERIFY_FAILS_END
4118 }
4119
testLessOrEqualINT32(void)4120 void testLessOrEqualINT32(void)
4121 {
4122 UNITY_INT32 v0, v1, v2;
4123 UNITY_INT32 *p0, *p1, *p2;
4124
4125 v0 = 214783647;
4126 v1 = -214783648;
4127 v2 = 214783647;
4128 p0 = &v0;
4129 p1 = &v1;
4130 p2 = &v2;
4131
4132 TEST_ASSERT_LESS_OR_EQUAL_INT32(v0, v1);
4133 TEST_ASSERT_LESS_OR_EQUAL_INT32(*p0, v1);
4134 TEST_ASSERT_LESS_OR_EQUAL_INT32(v0, *p1);
4135 TEST_ASSERT_LESS_OR_EQUAL_INT32(*p0, *p1);
4136 TEST_ASSERT_LESS_OR_EQUAL_INT32(v0, v2);
4137 TEST_ASSERT_LESS_OR_EQUAL_INT32(*p0, v2);
4138 TEST_ASSERT_LESS_OR_EQUAL_INT32(v0, *p2);
4139 TEST_ASSERT_LESS_OR_EQUAL_INT32(*p0, *p2);
4140 }
4141
testNotLessOrEqualINT32(void)4142 void testNotLessOrEqualINT32(void)
4143 {
4144 EXPECT_ABORT_BEGIN
4145 TEST_ASSERT_LESS_OR_EQUAL_INT32(-214783648, 214783647);
4146 VERIFY_FAILS_END
4147 }
4148
testLessOrEqualUINT(void)4149 void testLessOrEqualUINT(void)
4150 {
4151 UNITY_UINT v0, v1, v2;
4152 UNITY_UINT *p0, *p1, *p2;
4153
4154 v0 = 1;
4155 v1 = 0;
4156 v2 = 1;
4157 p0 = &v0;
4158 p1 = &v1;
4159 p2 = &v2;
4160
4161 TEST_ASSERT_LESS_OR_EQUAL_UINT(v0, v1);
4162 TEST_ASSERT_LESS_OR_EQUAL_UINT(*p0, v1);
4163 TEST_ASSERT_LESS_OR_EQUAL_UINT(v0, *p1);
4164 TEST_ASSERT_LESS_OR_EQUAL_UINT(*p0, *p1);
4165 TEST_ASSERT_LESS_OR_EQUAL_UINT(v0, v2);
4166 TEST_ASSERT_LESS_OR_EQUAL_UINT(*p0, v2);
4167 TEST_ASSERT_LESS_OR_EQUAL_UINT(v0, *p2);
4168 TEST_ASSERT_LESS_OR_EQUAL_UINT(*p0, *p2);
4169 }
4170
testNotLessOrEqualUINT(void)4171 void testNotLessOrEqualUINT(void)
4172 {
4173 EXPECT_ABORT_BEGIN
4174 TEST_ASSERT_LESS_OR_EQUAL_UINT(0, 1);
4175 VERIFY_FAILS_END
4176 }
4177
testLessOrEqualUINT8(void)4178 void testLessOrEqualUINT8(void)
4179 {
4180 UNITY_UINT8 v0, v1, v2;
4181 UNITY_UINT8 *p0, *p1, *p2;
4182
4183 v0 = 255;
4184 v1 = 0;
4185 v2 = 255;
4186 p0 = &v0;
4187 p1 = &v1;
4188 p2 = &v2;
4189
4190 TEST_ASSERT_LESS_OR_EQUAL_UINT8(v0, v1);
4191 TEST_ASSERT_LESS_OR_EQUAL_UINT8(*p0, v1);
4192 TEST_ASSERT_LESS_OR_EQUAL_UINT8(v0, *p1);
4193 TEST_ASSERT_LESS_OR_EQUAL_UINT8(*p0, *p1);
4194 TEST_ASSERT_LESS_OR_EQUAL_UINT8(v0, v2);
4195 TEST_ASSERT_LESS_OR_EQUAL_UINT8(*p0, v2);
4196 TEST_ASSERT_LESS_OR_EQUAL_UINT8(v0, *p2);
4197 TEST_ASSERT_LESS_OR_EQUAL_UINT8(*p0, *p2);
4198 }
4199
testNotLessOrEqualUINT8(void)4200 void testNotLessOrEqualUINT8(void)
4201 {
4202 EXPECT_ABORT_BEGIN
4203 TEST_ASSERT_LESS_OR_EQUAL_UINT8(0, 255);
4204 VERIFY_FAILS_END
4205 }
4206
testLessOrEqualUINT16(void)4207 void testLessOrEqualUINT16(void)
4208 {
4209 UNITY_UINT16 v0, v1, v2;
4210 UNITY_UINT16 *p0, *p1, *p2;
4211
4212 v0 = 65535;
4213 v1 = 0;
4214 v2 = 65535;
4215 p0 = &v0;
4216 p1 = &v1;
4217 p2 = &v2;
4218
4219 TEST_ASSERT_LESS_OR_EQUAL_UINT16(v0, v1);
4220 TEST_ASSERT_LESS_OR_EQUAL_UINT16(*p0, v1);
4221 TEST_ASSERT_LESS_OR_EQUAL_UINT16(v0, *p1);
4222 TEST_ASSERT_LESS_OR_EQUAL_UINT16(*p0, *p1);
4223 TEST_ASSERT_LESS_OR_EQUAL_UINT16(v0, v2);
4224 TEST_ASSERT_LESS_OR_EQUAL_UINT16(*p0, v2);
4225 TEST_ASSERT_LESS_OR_EQUAL_UINT16(v0, *p2);
4226 TEST_ASSERT_LESS_OR_EQUAL_UINT16(*p0, *p2);
4227 }
4228
testNotLessOrEqualUINT16(void)4229 void testNotLessOrEqualUINT16(void)
4230 {
4231 EXPECT_ABORT_BEGIN
4232 TEST_ASSERT_LESS_OR_EQUAL_UINT16(0, 65535);
4233 VERIFY_FAILS_END
4234 }
4235
testLessOrEqualUINT32(void)4236 void testLessOrEqualUINT32(void)
4237 {
4238 UNITY_UINT32 v0, v1, v2;
4239 UNITY_UINT32 *p0, *p1, *p2;
4240
4241 v0 = 4294967295u;
4242 v1 = 0;
4243 v2 = 4294967295u;
4244 p0 = &v0;
4245 p1 = &v1;
4246 p2 = &v2;
4247
4248 TEST_ASSERT_LESS_OR_EQUAL_UINT32(v0, v1);
4249 TEST_ASSERT_LESS_OR_EQUAL_UINT32(*p0, v1);
4250 TEST_ASSERT_LESS_OR_EQUAL_UINT32(v0, *p1);
4251 TEST_ASSERT_LESS_OR_EQUAL_UINT32(*p0, *p1);
4252 TEST_ASSERT_LESS_OR_EQUAL_UINT32(v0, v2);
4253 TEST_ASSERT_LESS_OR_EQUAL_UINT32(*p0, v2);
4254 TEST_ASSERT_LESS_OR_EQUAL_UINT32(v0, *p2);
4255 TEST_ASSERT_LESS_OR_EQUAL_UINT32(*p0, *p2);
4256 }
4257
testNotLessOrEqualUINT32(void)4258 void testNotLessOrEqualUINT32(void)
4259 {
4260 EXPECT_ABORT_BEGIN
4261 TEST_ASSERT_LESS_OR_EQUAL_UINT32(0, 4294967295u);
4262 VERIFY_FAILS_END
4263 }
4264
testLessOrEqualHEX8(void)4265 void testLessOrEqualHEX8(void)
4266 {
4267 UNITY_UINT8 v0, v1, v2;
4268 UNITY_UINT8 *p0, *p1, *p2;
4269
4270 v0 = 0xFF;
4271 v1 = 0x00;
4272 v2 = 0xFF;
4273 p0 = &v0;
4274 p1 = &v1;
4275 p2 = &v2;
4276
4277 TEST_ASSERT_LESS_OR_EQUAL_HEX8(v0, v1);
4278 TEST_ASSERT_LESS_OR_EQUAL_HEX8(*p0, v1);
4279 TEST_ASSERT_LESS_OR_EQUAL_HEX8(v0, *p1);
4280 TEST_ASSERT_LESS_OR_EQUAL_HEX8(*p0, *p1);
4281 TEST_ASSERT_LESS_OR_EQUAL_HEX8(v0, v2);
4282 TEST_ASSERT_LESS_OR_EQUAL_HEX8(*p0, v2);
4283 TEST_ASSERT_LESS_OR_EQUAL_HEX8(v0, *p2);
4284 TEST_ASSERT_LESS_OR_EQUAL_HEX8(*p0, *p2);
4285 }
4286
testNotLessOrEqualHEX8(void)4287 void testNotLessOrEqualHEX8(void)
4288 {
4289 EXPECT_ABORT_BEGIN
4290 TEST_ASSERT_LESS_OR_EQUAL_HEX8(0x00, 0xFF);
4291 VERIFY_FAILS_END
4292 }
4293
testLessOrEqualHEX16(void)4294 void testLessOrEqualHEX16(void)
4295 {
4296 UNITY_UINT16 v0, v1, v2;
4297 UNITY_UINT16 *p0, *p1, *p2;
4298
4299 v0 = 0xFFFF;
4300 v1 = 0x0000;
4301 v2 = 0xFFFF;
4302 p0 = &v0;
4303 p1 = &v1;
4304 p2 = &v2;
4305
4306 TEST_ASSERT_LESS_OR_EQUAL_HEX16(v0, v1);
4307 TEST_ASSERT_LESS_OR_EQUAL_HEX16(*p0, v1);
4308 TEST_ASSERT_LESS_OR_EQUAL_HEX16(v0, *p1);
4309 TEST_ASSERT_LESS_OR_EQUAL_HEX16(*p0, *p1);
4310 TEST_ASSERT_LESS_OR_EQUAL_HEX16(v0, v2);
4311 TEST_ASSERT_LESS_OR_EQUAL_HEX16(*p0, v2);
4312 TEST_ASSERT_LESS_OR_EQUAL_HEX16(v0, *p2);
4313 TEST_ASSERT_LESS_OR_EQUAL_HEX16(*p0, *p2);
4314 }
4315
testNotLessOrEqualHEX16(void)4316 void testNotLessOrEqualHEX16(void)
4317 {
4318 EXPECT_ABORT_BEGIN
4319 TEST_ASSERT_LESS_OR_EQUAL_HEX16(0x0000, 0xFFFF);
4320 VERIFY_FAILS_END
4321 }
4322
testLessOrEqualHEX32(void)4323 void testLessOrEqualHEX32(void)
4324 {
4325 UNITY_UINT32 v0, v1, v2;
4326 UNITY_UINT32 *p0, *p1, *p2;
4327
4328 v0 = 0xFFFFFFFF;
4329 v1 = 0x00000000;
4330 v2 = 0xFFFFFFFF;
4331 p0 = &v0;
4332 p1 = &v1;
4333 p2 = &v2;
4334
4335 TEST_ASSERT_LESS_OR_EQUAL_HEX32(v0, v1);
4336 TEST_ASSERT_LESS_OR_EQUAL_HEX32(*p0, v1);
4337 TEST_ASSERT_LESS_OR_EQUAL_HEX32(v0, *p1);
4338 TEST_ASSERT_LESS_OR_EQUAL_HEX32(*p0, *p1);
4339 TEST_ASSERT_LESS_OR_EQUAL_HEX32(v0, v2);
4340 TEST_ASSERT_LESS_OR_EQUAL_HEX32(*p0, v2);
4341 TEST_ASSERT_LESS_OR_EQUAL_HEX32(v0, *p2);
4342 TEST_ASSERT_LESS_OR_EQUAL_HEX32(*p0, *p2);
4343 }
4344
testNotLessOrEqualHEX32(void)4345 void testNotLessOrEqualHEX32(void)
4346 {
4347 EXPECT_ABORT_BEGIN
4348 TEST_ASSERT_LESS_OR_EQUAL_HEX32(0x00000000, 0xFFFFFFFF);
4349 VERIFY_FAILS_END
4350 }
4351
4352 /*-----------------*/
4353
testEqualStrings(void)4354 void testEqualStrings(void)
4355 {
4356 const char *testString = "foo";
4357
4358 TEST_ASSERT_EQUAL_STRING(testString, testString);
4359 TEST_ASSERT_EQUAL_STRING_MESSAGE("foo", "foo", "foo isn't foo");
4360 TEST_ASSERT_EQUAL_STRING("foo", testString);
4361 TEST_ASSERT_EQUAL_STRING(testString, "foo");
4362 TEST_ASSERT_EQUAL_STRING("", "");
4363 }
4364
testEqualStringsLen(void)4365 void testEqualStringsLen(void)
4366 {
4367 const char *testString = "foobar";
4368 TEST_ASSERT_EQUAL_STRING_LEN(testString, testString, strlen(testString));
4369 TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE("foobar", "foobaz", 5, "fooba isn't fooba");
4370 TEST_ASSERT_EQUAL_STRING_LEN("foo", testString, 3);
4371 TEST_ASSERT_EQUAL_STRING_LEN(testString, "foo", 3);
4372 TEST_ASSERT_EQUAL_STRING_LEN("", "", 3);
4373 }
4374
testEqualStringsWithCarriageReturnsAndLineFeeds(void)4375 void testEqualStringsWithCarriageReturnsAndLineFeeds(void)
4376 {
4377 const char *testString = "foo\r\nbar";
4378
4379 TEST_ASSERT_EQUAL_STRING(testString, testString);
4380 TEST_ASSERT_EQUAL_STRING("foo\r\nbar", "foo\r\nbar");
4381 TEST_ASSERT_EQUAL_STRING("foo\r\nbar", testString);
4382 TEST_ASSERT_EQUAL_STRING(testString, "foo\r\nbar");
4383 TEST_ASSERT_EQUAL_STRING("", "");
4384 }
4385
testNotEqualString1(void)4386 void testNotEqualString1(void)
4387 {
4388 EXPECT_ABORT_BEGIN
4389 TEST_ASSERT_EQUAL_STRING("foo", "bar");
4390 VERIFY_FAILS_END
4391 }
4392
testNotEqualStringLen1(void)4393 void testNotEqualStringLen1(void)
4394 {
4395 EXPECT_ABORT_BEGIN
4396 TEST_ASSERT_EQUAL_STRING_LEN("foobar", "foobaz", 6);
4397 VERIFY_FAILS_END
4398 }
4399
testNotEqualString2(void)4400 void testNotEqualString2(void)
4401 {
4402 EXPECT_ABORT_BEGIN
4403 TEST_ASSERT_EQUAL_STRING("foo", "");
4404 VERIFY_FAILS_END
4405 }
4406
testNotEqualStringLen2(void)4407 void testNotEqualStringLen2(void)
4408 {
4409 EXPECT_ABORT_BEGIN
4410 TEST_ASSERT_EQUAL_STRING_LEN("foo", "", 3);
4411 VERIFY_FAILS_END
4412 }
4413
testNotEqualString3(void)4414 void testNotEqualString3(void)
4415 {
4416 EXPECT_ABORT_BEGIN
4417 TEST_ASSERT_EQUAL_STRING("", "bar");
4418 VERIFY_FAILS_END
4419 }
4420
testNotEqualStringLen3(void)4421 void testNotEqualStringLen3(void)
4422 {
4423 EXPECT_ABORT_BEGIN
4424 TEST_ASSERT_EQUAL_STRING_LEN("", "bar", 3);
4425 VERIFY_FAILS_END
4426 }
4427
testNotEqualString4(void)4428 void testNotEqualString4(void)
4429 {
4430 EXPECT_ABORT_BEGIN
4431 TEST_ASSERT_EQUAL_STRING("bar\r", "bar\n");
4432 VERIFY_FAILS_END
4433 }
4434
testNotEqualStringLen4(void)4435 void testNotEqualStringLen4(void)
4436 {
4437 EXPECT_ABORT_BEGIN
4438 TEST_ASSERT_EQUAL_STRING_LEN("ba\r\x16", "ba\r\n", 4);
4439 VERIFY_FAILS_END
4440 }
4441
testNotEqualString5(void)4442 void testNotEqualString5(void)
4443 {
4444 const char str1[] = { 0x41, 0x42, 0x03, 0x00 };
4445 const char str2[] = { 0x41, 0x42, 0x04, 0x00 };
4446 EXPECT_ABORT_BEGIN
4447 TEST_ASSERT_EQUAL_STRING(str1, str2);
4448 VERIFY_FAILS_END
4449 }
4450
testNotEqualString_ExpectedStringIsNull(void)4451 void testNotEqualString_ExpectedStringIsNull(void)
4452 {
4453 EXPECT_ABORT_BEGIN
4454 TEST_ASSERT_EQUAL_STRING(NULL, "bar");
4455 VERIFY_FAILS_END
4456 }
4457
testNotEqualStringLen_ExpectedStringIsNull(void)4458 void testNotEqualStringLen_ExpectedStringIsNull(void)
4459 {
4460 EXPECT_ABORT_BEGIN
4461 TEST_ASSERT_EQUAL_STRING_LEN(NULL, "bar", 1);
4462 VERIFY_FAILS_END
4463 }
4464
testNotEqualString_ActualStringIsNull(void)4465 void testNotEqualString_ActualStringIsNull(void)
4466 {
4467 EXPECT_ABORT_BEGIN
4468 TEST_ASSERT_EQUAL_STRING("foo", NULL);
4469 VERIFY_FAILS_END
4470 }
4471
testNotEqualStringLen_ActualStringIsNull(void)4472 void testNotEqualStringLen_ActualStringIsNull(void)
4473 {
4474 EXPECT_ABORT_BEGIN
4475 TEST_ASSERT_EQUAL_STRING_LEN("foo", NULL, 1);
4476 VERIFY_FAILS_END
4477 }
4478
testNotEqualString_ExpectedStringIsLonger(void)4479 void testNotEqualString_ExpectedStringIsLonger(void)
4480 {
4481 EXPECT_ABORT_BEGIN
4482 TEST_ASSERT_EQUAL_STRING("foo2", "foo");
4483 VERIFY_FAILS_END
4484 }
4485
testNotEqualString_ActualStringIsLonger(void)4486 void testNotEqualString_ActualStringIsLonger(void)
4487 {
4488 EXPECT_ABORT_BEGIN
4489 TEST_ASSERT_EQUAL_STRING("foo", "foo2");
4490 VERIFY_FAILS_END
4491 }
4492
testEqualStringArrays(void)4493 void testEqualStringArrays(void)
4494 {
4495 const char *testStrings[] = { "foo", "boo", "woo", "moo" };
4496 const char *expStrings[] = { "foo", "boo", "woo", "zoo" };
4497
4498 TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, expStrings, 3);
4499 TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 3);
4500 TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 2);
4501 TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 1);
4502 }
4503
testNotEqualStringArray1(void)4504 void testNotEqualStringArray1(void)
4505 {
4506 const char *testStrings[] = { "foo", "boo", "woo", "moo" };
4507 const char *expStrings[] = { "foo", "boo", "woo", "zoo" };
4508
4509 EXPECT_ABORT_BEGIN
4510 TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
4511 VERIFY_FAILS_END
4512 }
4513
testNotEqualStringArray2(void)4514 void testNotEqualStringArray2(void)
4515 {
4516 const char *testStrings[] = { "zoo", "boo", "woo", "moo" };
4517 const char *expStrings[] = { "foo", "boo", "woo", "moo" };
4518
4519 EXPECT_ABORT_BEGIN
4520 TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
4521 VERIFY_FAILS_END
4522 }
4523
testNotEqualStringArray3(void)4524 void testNotEqualStringArray3(void)
4525 {
4526 const char *testStrings[] = { "foo", "boo", "woo", NULL };
4527 const char *expStrings[] = { "foo", "boo", "woo", "zoo" };
4528
4529 EXPECT_ABORT_BEGIN
4530 TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
4531 VERIFY_FAILS_END
4532 }
4533
testNotEqualStringArray4(void)4534 void testNotEqualStringArray4(void)
4535 {
4536 const char *testStrings[] = { "foo", "boo", "woo", "moo" };
4537 const char *expStrings[] = { "foo", NULL, "woo", "moo" };
4538
4539 EXPECT_ABORT_BEGIN
4540 TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
4541 VERIFY_FAILS_END
4542 }
4543
testNotEqualStringArray5(void)4544 void testNotEqualStringArray5(void)
4545 {
4546 const char **testStrings = NULL;
4547 const char *expStrings[] = { "foo", "boo", "woo", "zoo" };
4548
4549 EXPECT_ABORT_BEGIN
4550 TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
4551 VERIFY_FAILS_END
4552 }
4553
testNotEqualStringArray6(void)4554 void testNotEqualStringArray6(void)
4555 {
4556 const char *testStrings[] = { "foo", "boo", "woo", "zoo" };
4557 const char **expStrings = NULL;
4558
4559 EXPECT_ABORT_BEGIN
4560 TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
4561 VERIFY_FAILS_END
4562 }
4563
testEqualStringArrayIfBothNulls(void)4564 void testEqualStringArrayIfBothNulls(void)
4565 {
4566 const char **testStrings = NULL;
4567 const char **expStrings = NULL;
4568
4569 TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
4570 }
4571
testNotEqualStringArrayLengthZero(void)4572 void testNotEqualStringArrayLengthZero(void)
4573 {
4574 const char *testStrings[] = {NULL};
4575 const char **expStrings = NULL;
4576
4577 EXPECT_ABORT_BEGIN
4578 TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 0);
4579 VERIFY_FAILS_END
4580 }
4581
testEqualStringEachEqual(void)4582 void testEqualStringEachEqual(void)
4583 {
4584 const char *testStrings1[] = { "foo", "foo", "foo", "foo" };
4585 const char *testStrings2[] = { "boo", "boo", "boo", "zoo" };
4586 const char *testStrings3[] = { "", "", "", "" };
4587
4588 TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings1, 4);
4589 TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings1, 1);
4590 TEST_ASSERT_EACH_EQUAL_STRING("boo", testStrings2, 3);
4591 TEST_ASSERT_EACH_EQUAL_STRING("", testStrings3, 4);
4592 }
4593
testNotEqualStringEachEqual1(void)4594 void testNotEqualStringEachEqual1(void)
4595 {
4596 const char *testStrings[] = { "foo", "foo", "foo", "moo" };
4597
4598 EXPECT_ABORT_BEGIN
4599 TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings, 4);
4600 VERIFY_FAILS_END
4601 }
4602
testNotEqualStringEachEqual2(void)4603 void testNotEqualStringEachEqual2(void)
4604 {
4605 const char *testStrings[] = { "boo", "foo", "foo", "foo" };
4606
4607 EXPECT_ABORT_BEGIN
4608 TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings, 4);
4609 VERIFY_FAILS_END
4610 }
4611
testNotEqualStringEachEqual3(void)4612 void testNotEqualStringEachEqual3(void)
4613 {
4614 const char *testStrings[] = { "foo", "foo", "foo", NULL };
4615
4616 EXPECT_ABORT_BEGIN
4617 TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings, 4);
4618 VERIFY_FAILS_END
4619 }
4620
testNotEqualStringEachEqual4(void)4621 void testNotEqualStringEachEqual4(void)
4622 {
4623 const char *testStrings[] = { "foo", "foo", "woo", "foo" };
4624
4625 EXPECT_ABORT_BEGIN
4626 TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings, 4);
4627 VERIFY_FAILS_END
4628 }
4629
testNotEqualStringEachEqual5(void)4630 void testNotEqualStringEachEqual5(void)
4631 {
4632 EXPECT_ABORT_BEGIN
4633 TEST_ASSERT_EACH_EQUAL_STRING("foo", NULL, 1);
4634 VERIFY_FAILS_END
4635 }
4636
testEqualMemory(void)4637 void testEqualMemory(void)
4638 {
4639 const char *testString = "whatever";
4640
4641 TEST_ASSERT_EQUAL_MEMORY(testString, testString, 8);
4642 TEST_ASSERT_EQUAL_MEMORY("whatever", "whatever", 8);
4643 TEST_ASSERT_EQUAL_MEMORY("whatever", testString, 8);
4644 TEST_ASSERT_EQUAL_MEMORY(testString, "whatever", 8);
4645 TEST_ASSERT_EQUAL_MEMORY(testString, "whatever", 2);
4646 TEST_ASSERT_EQUAL_MEMORY(NULL, NULL, 1);
4647 }
4648
testNotEqualMemory1(void)4649 void testNotEqualMemory1(void)
4650 {
4651 EXPECT_ABORT_BEGIN
4652 TEST_ASSERT_EQUAL_MEMORY("foo", "bar", 3);
4653 VERIFY_FAILS_END
4654 }
4655
testNotEqualMemory2(void)4656 void testNotEqualMemory2(void)
4657 {
4658 EXPECT_ABORT_BEGIN
4659 TEST_ASSERT_EQUAL_MEMORY("fool", "food", 4);
4660 VERIFY_FAILS_END
4661 }
4662
testNotEqualMemory3(void)4663 void testNotEqualMemory3(void)
4664 {
4665 EXPECT_ABORT_BEGIN
4666 TEST_ASSERT_EQUAL_MEMORY(NULL, "food", 4);
4667 VERIFY_FAILS_END
4668 }
4669
testNotEqualMemory4(void)4670 void testNotEqualMemory4(void)
4671 {
4672 EXPECT_ABORT_BEGIN
4673 TEST_ASSERT_EQUAL_MEMORY("fool", NULL, 4);
4674 VERIFY_FAILS_END
4675 }
4676
testNotEqualMemoryLengthZero(void)4677 void testNotEqualMemoryLengthZero(void)
4678 {
4679 EXPECT_ABORT_BEGIN
4680 TEST_ASSERT_EQUAL_MEMORY(NULL, NULL, 0);
4681 VERIFY_FAILS_END
4682 }
4683
testEqualIntArrays(void)4684 void testEqualIntArrays(void)
4685 {
4686 int p0[] = {1, 8, 987, -2};
4687 int p1[] = {1, 8, 987, -2};
4688 int p2[] = {1, 8, 987, 2};
4689 int p3[] = {1, 500, 600, 700};
4690
4691 TEST_ASSERT_EQUAL_INT_ARRAY(p0, p0, 1);
4692 TEST_ASSERT_EQUAL_INT_ARRAY(p0, p0, 4);
4693 TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 4);
4694 TEST_ASSERT_EQUAL_INT_ARRAY(p0, p2, 3);
4695 TEST_ASSERT_EQUAL_INT_ARRAY(p0, p3, 1);
4696 TEST_ASSERT_EQUAL_INT_ARRAY(NULL, NULL, 1);
4697 }
4698
testNotEqualIntArraysNullExpected(void)4699 void testNotEqualIntArraysNullExpected(void)
4700 {
4701 int* p0 = NULL;
4702 int p1[] = {1, 8, 987, 2};
4703
4704 EXPECT_ABORT_BEGIN
4705 TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 4);
4706 VERIFY_FAILS_END
4707 }
4708
testNotEqualIntArraysNullActual(void)4709 void testNotEqualIntArraysNullActual(void)
4710 {
4711 int* p1 = NULL;
4712 int p0[] = {1, 8, 987, 2};
4713
4714 EXPECT_ABORT_BEGIN
4715 TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 4);
4716 VERIFY_FAILS_END
4717 }
4718
testNotEqualIntArrays1(void)4719 void testNotEqualIntArrays1(void)
4720 {
4721 int p0[] = {1, 8, 987, -2};
4722 int p1[] = {1, 8, 987, 2};
4723
4724 EXPECT_ABORT_BEGIN
4725 TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 4);
4726 VERIFY_FAILS_END
4727 }
4728
testNotEqualIntArrays2(void)4729 void testNotEqualIntArrays2(void)
4730 {
4731 int p0[] = {1, 8, 987, -2};
4732 int p1[] = {2, 8, 987, -2};
4733
4734 EXPECT_ABORT_BEGIN
4735 TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 4);
4736 VERIFY_FAILS_END
4737 }
4738
testNotEqualIntArrays3(void)4739 void testNotEqualIntArrays3(void)
4740 {
4741 int p0[] = {1, 8, 987, -2};
4742 int p1[] = {1, 8, 986, -2};
4743
4744 EXPECT_ABORT_BEGIN
4745 TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 4);
4746 VERIFY_FAILS_END
4747 }
4748
testNotEqualIntArraysLengthZero(void)4749 void testNotEqualIntArraysLengthZero(void)
4750 {
4751 UNITY_UINT32 p0[1] = {1};
4752 UNITY_UINT32 p1[1] = {1};
4753
4754 EXPECT_ABORT_BEGIN
4755 TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 0);
4756 VERIFY_FAILS_END
4757 }
4758
testEqualIntEachEqual(void)4759 void testEqualIntEachEqual(void)
4760 {
4761 int p0[] = {1, 1, 1, 1};
4762 int p1[] = {987, 987, 987, 987};
4763 int p2[] = {-2, -2, -2, -3};
4764 int p3[] = {1, 5, 600, 700};
4765
4766 TEST_ASSERT_EACH_EQUAL_INT(1, p0, 1);
4767 TEST_ASSERT_EACH_EQUAL_INT(1, p0, 4);
4768 TEST_ASSERT_EACH_EQUAL_INT(987, p1, 4);
4769 TEST_ASSERT_EACH_EQUAL_INT(-2, p2, 3);
4770 TEST_ASSERT_EACH_EQUAL_INT(1, p3, 1);
4771 }
4772
testNotEqualIntEachEqualNullActual(void)4773 void testNotEqualIntEachEqualNullActual(void)
4774 {
4775 int* p1 = NULL;
4776
4777 EXPECT_ABORT_BEGIN
4778 TEST_ASSERT_EACH_EQUAL_INT(1, p1, 4);
4779 VERIFY_FAILS_END
4780 }
4781
testNotEqualIntEachEqual1(void)4782 void testNotEqualIntEachEqual1(void)
4783 {
4784 int p0[] = {1, 1, 1, -2};
4785
4786 EXPECT_ABORT_BEGIN
4787 TEST_ASSERT_EACH_EQUAL_INT(1, p0, 4);
4788 VERIFY_FAILS_END
4789 }
4790
testNotEqualIntEachEqual2(void)4791 void testNotEqualIntEachEqual2(void)
4792 {
4793 int p0[] = {-5, -5, -1, -5};
4794
4795 EXPECT_ABORT_BEGIN
4796 TEST_ASSERT_EACH_EQUAL_INT(-5, p0, 4);
4797 VERIFY_FAILS_END
4798 }
4799
testNotEqualIntEachEqual3(void)4800 void testNotEqualIntEachEqual3(void)
4801 {
4802 int p0[] = {1, 88, 88, 88};
4803
4804 EXPECT_ABORT_BEGIN
4805 TEST_ASSERT_EACH_EQUAL_INT(88, p0, 4);
4806 VERIFY_FAILS_END
4807 }
4808
testNotEqualEachEqualLengthZero(void)4809 void testNotEqualEachEqualLengthZero(void)
4810 {
4811 UNITY_UINT32 p0[1] = {1};
4812
4813 EXPECT_ABORT_BEGIN
4814 TEST_ASSERT_EACH_EQUAL_INT(0, p0, 0);
4815 VERIFY_FAILS_END
4816 }
4817
testEqualPtrArrays(void)4818 void testEqualPtrArrays(void)
4819 {
4820 char A = 1;
4821 char B = 2;
4822 char C = 3;
4823 char* p0[] = {&A, &B, &C};
4824 char* p1[] = {&A, &B, &C, &A};
4825 char* p2[] = {&A, &B};
4826 char* p3[] = {&A};
4827
4828 TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p0, 1);
4829 TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p0, 3);
4830 TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 3);
4831 TEST_ASSERT_EQUAL_PTR_ARRAY(p1, p2, 2);
4832 TEST_ASSERT_EQUAL_PTR_ARRAY(p3, p0, 1);
4833 }
4834
testNotEqualPtrArraysNullExpected(void)4835 void testNotEqualPtrArraysNullExpected(void)
4836 {
4837 char A = 1;
4838 char B = 2;
4839 char** p0 = NULL;
4840 char* p1[] = {&A, &B};
4841
4842 EXPECT_ABORT_BEGIN
4843 TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 2);
4844 VERIFY_FAILS_END
4845 }
4846
testNotEqualPtrArraysNullActual(void)4847 void testNotEqualPtrArraysNullActual(void)
4848 {
4849 char A = 1;
4850 char B = 2;
4851 char** p0 = NULL;
4852 char* p1[] = {&A, &B};
4853
4854 EXPECT_ABORT_BEGIN
4855 TEST_ASSERT_EQUAL_PTR_ARRAY(p1, p0, 2);
4856 VERIFY_FAILS_END
4857 }
4858
testNotEqualPtrArrays1(void)4859 void testNotEqualPtrArrays1(void)
4860 {
4861 char A = 1;
4862 char B = 2;
4863 char C = 3;
4864 char* p0[] = {&A, &B, &C, &B};
4865 char* p1[] = {&A, &B, &C, &A};
4866
4867 EXPECT_ABORT_BEGIN
4868 TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 4);
4869 VERIFY_FAILS_END
4870 }
4871
testNotEqualPtrArrays2(void)4872 void testNotEqualPtrArrays2(void)
4873 {
4874 char A = 1;
4875 char B = 2;
4876 char C = 3;
4877 char* p0[] = {&B, &B, &C, &A};
4878 char* p1[] = {&A, &B, &C, &A};
4879
4880 EXPECT_ABORT_BEGIN
4881 TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 4);
4882 VERIFY_FAILS_END
4883 }
4884
testNotEqualPtrArrays3(void)4885 void testNotEqualPtrArrays3(void)
4886 {
4887 char A = 1;
4888 char B = 2;
4889 char C = 3;
4890 char* p0[] = {&A, &B, &B, &A};
4891 char* p1[] = {&A, &B, &C, &A};
4892
4893 EXPECT_ABORT_BEGIN
4894 TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 4);
4895 VERIFY_FAILS_END
4896 }
4897
testEqualPtrEachEqual(void)4898 void testEqualPtrEachEqual(void)
4899 {
4900 char A = 1;
4901 char B = 2;
4902 char C = 3;
4903 char* p0[] = {&A, &A, &A};
4904 char* p1[] = {&A, &B, &C, &A};
4905 char* p2[] = {&B, &B};
4906 char* p3[] = {&C};
4907
4908 TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 1);
4909 TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 3);
4910 TEST_ASSERT_EACH_EQUAL_PTR(&A, p1, 1);
4911 TEST_ASSERT_EACH_EQUAL_PTR(&B, p2, 2);
4912 TEST_ASSERT_EACH_EQUAL_PTR(&C, p3, 1);
4913 }
4914
testNotEqualPtrEachEqualNullExpected(void)4915 void testNotEqualPtrEachEqualNullExpected(void)
4916 {
4917 char A = 1;
4918 char B = 1;
4919 char* p0[] = {&A, &B};
4920
4921 EXPECT_ABORT_BEGIN
4922 TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 2);
4923 VERIFY_FAILS_END
4924 }
4925
testNotEqualPtrEachEqualNullActual(void)4926 void testNotEqualPtrEachEqualNullActual(void)
4927 {
4928 char A = 1;
4929 char** p0 = NULL;
4930
4931 EXPECT_ABORT_BEGIN
4932 TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 2);
4933 VERIFY_FAILS_END
4934 }
4935
testNotEqualPtrEachEqual1(void)4936 void testNotEqualPtrEachEqual1(void)
4937 {
4938 char A = 1;
4939 char B = 1;
4940 char* p0[] = {&A, &A, &A, &B};
4941
4942 EXPECT_ABORT_BEGIN
4943 TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 4);
4944 VERIFY_FAILS_END
4945 }
4946
testNotEqualPtrEachEqual2(void)4947 void testNotEqualPtrEachEqual2(void)
4948 {
4949 char A = 1;
4950 char B = 1;
4951 char* p0[] = {&B, &B, &A, &B};
4952
4953 EXPECT_ABORT_BEGIN
4954 TEST_ASSERT_EACH_EQUAL_PTR(&B, p0, 4);
4955 VERIFY_FAILS_END
4956 }
4957
testNotEqualPtrEachEqual3(void)4958 void testNotEqualPtrEachEqual3(void)
4959 {
4960 char A = 1;
4961 char B = 1;
4962 char* p0[] = {&A, &B, &B, &B};
4963
4964 EXPECT_ABORT_BEGIN
4965 TEST_ASSERT_EACH_EQUAL_PTR(&B, p0, 4);
4966 VERIFY_FAILS_END
4967 }
4968
testEqualInt8Arrays(void)4969 void testEqualInt8Arrays(void)
4970 {
4971 UNITY_INT8 p0[] = {1, 8, 117, -2};
4972 UNITY_INT8 p1[] = {1, 8, 117, -2};
4973 UNITY_INT8 p2[] = {1, 8, 117, 2};
4974 UNITY_INT8 p3[] = {1, 50, 60, 70};
4975
4976 TEST_ASSERT_EQUAL_INT8_ARRAY(p0, p0, 1);
4977 TEST_ASSERT_EQUAL_INT8_ARRAY(p0, p0, 4);
4978 TEST_ASSERT_EQUAL_INT8_ARRAY(p0, p1, 4);
4979 TEST_ASSERT_EQUAL_INT8_ARRAY(p0, p2, 3);
4980 TEST_ASSERT_EQUAL_INT8_ARRAY(p0, p3, 1);
4981 }
4982
testNotEqualInt8Arrays(void)4983 void testNotEqualInt8Arrays(void)
4984 {
4985 UNITY_INT8 p0[] = {1, 8, 36, -2};
4986 UNITY_INT8 p1[] = {1, 8, 36, 2};
4987
4988 EXPECT_ABORT_BEGIN
4989 TEST_ASSERT_EQUAL_INT8_ARRAY(p0, p1, 4);
4990 VERIFY_FAILS_END
4991 }
4992
testEqualInt8EachEqual(void)4993 void testEqualInt8EachEqual(void)
4994 {
4995 UNITY_INT8 p0[] = {1, 1, 1, 1};
4996 UNITY_INT8 p1[] = {117, 117, 117, -2};
4997 UNITY_INT8 p2[] = {-1, -1, 117, 2};
4998 UNITY_INT8 p3[] = {1, 50, 60, 70};
4999
5000 TEST_ASSERT_EACH_EQUAL_INT8(1, p0, 1);
5001 TEST_ASSERT_EACH_EQUAL_INT8(1, p0, 4);
5002 TEST_ASSERT_EACH_EQUAL_INT8(117, p1, 3);
5003 TEST_ASSERT_EACH_EQUAL_INT8(-1, p2, 2);
5004 TEST_ASSERT_EACH_EQUAL_INT8(1, p3, 1);
5005 }
5006
testNotEqualInt8EachEqual(void)5007 void testNotEqualInt8EachEqual(void)
5008 {
5009 UNITY_INT8 p0[] = {1, 8, 36, -2};
5010
5011 EXPECT_ABORT_BEGIN
5012 TEST_ASSERT_EACH_EQUAL_INT8(1, p0, 2);
5013 VERIFY_FAILS_END
5014 }
5015
testEqualCHARArrays(void)5016 void testEqualCHARArrays(void)
5017 {
5018 char p0[] = {1, 8, 117, -2};
5019 char p1[] = {1, 8, 117, -2};
5020 char p2[] = {1, 8, 117, 2};
5021 char p3[] = {1, 50, 60, 70};
5022
5023 TEST_ASSERT_EQUAL_CHAR_ARRAY(p0, p0, 1);
5024 TEST_ASSERT_EQUAL_CHAR_ARRAY(p0, p0, 4);
5025 TEST_ASSERT_EQUAL_CHAR_ARRAY(p0, p1, 4);
5026 TEST_ASSERT_EQUAL_CHAR_ARRAY(p0, p2, 3);
5027 TEST_ASSERT_EQUAL_CHAR_ARRAY(p0, p3, 1);
5028 }
5029
testNotEqualCHARArrays(void)5030 void testNotEqualCHARArrays(void)
5031 {
5032 char p0[] = {1, 8, 36, -2};
5033 char p1[] = {1, 8, 36, 2};
5034
5035 EXPECT_ABORT_BEGIN
5036 TEST_ASSERT_EQUAL_CHAR_ARRAY(p0, p1, 4);
5037 VERIFY_FAILS_END
5038 }
5039
testEqualCHAREachEqual(void)5040 void testEqualCHAREachEqual(void)
5041 {
5042 char p0[] = {1, 1, 1, 1};
5043 char p1[] = {117, 117, 117, -2};
5044 char p2[] = {-1, -1, 117, 2};
5045 char p3[] = {1, 50, 60, 70};
5046
5047 TEST_ASSERT_EACH_EQUAL_CHAR(1, p0, 1);
5048 TEST_ASSERT_EACH_EQUAL_CHAR(1, p0, 4);
5049 TEST_ASSERT_EACH_EQUAL_CHAR(117, p1, 3);
5050 TEST_ASSERT_EACH_EQUAL_CHAR(-1, p2, 2);
5051 TEST_ASSERT_EACH_EQUAL_CHAR(1, p3, 1);
5052 }
5053
testNotEqualCHAREachEqual(void)5054 void testNotEqualCHAREachEqual(void)
5055 {
5056 char p0[] = {1, 8, 36, -2};
5057
5058 EXPECT_ABORT_BEGIN
5059 TEST_ASSERT_EACH_EQUAL_CHAR(1, p0, 2);
5060 VERIFY_FAILS_END
5061 }
5062
testEqualUIntArrays(void)5063 void testEqualUIntArrays(void)
5064 {
5065 unsigned int p0[] = {1, 8, 987, 65132u};
5066 unsigned int p1[] = {1, 8, 987, 65132u};
5067 unsigned int p2[] = {1, 8, 987, 2};
5068 unsigned int p3[] = {1, 500, 600, 700};
5069
5070 TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p0, 1);
5071 TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p0, 4);
5072 TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p1, 4);
5073 TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p2, 3);
5074 TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p3, 1);
5075 }
5076
testNotEqualUIntArrays1(void)5077 void testNotEqualUIntArrays1(void)
5078 {
5079 unsigned int p0[] = {1, 8, 987, 65132u};
5080 unsigned int p1[] = {1, 8, 987, 65131u};
5081
5082 EXPECT_ABORT_BEGIN
5083 TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p1, 4);
5084 VERIFY_FAILS_END
5085 }
5086
testNotEqualUIntArrays2(void)5087 void testNotEqualUIntArrays2(void)
5088 {
5089 unsigned int p0[] = {1, 8, 987, 65132u};
5090 unsigned int p1[] = {2, 8, 987, 65132u};
5091
5092 EXPECT_ABORT_BEGIN
5093 TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p1, 4);
5094 VERIFY_FAILS_END
5095 }
5096
testNotEqualUIntArrays3(void)5097 void testNotEqualUIntArrays3(void)
5098 {
5099 unsigned int p0[] = {1, 8, 987, 65132u};
5100 unsigned int p1[] = {1, 8, 986, 65132u};
5101
5102 EXPECT_ABORT_BEGIN
5103 TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p1, 4);
5104 VERIFY_FAILS_END
5105 }
5106
testEqualUIntEachEqual(void)5107 void testEqualUIntEachEqual(void)
5108 {
5109 unsigned int p0[] = {1, 1, 1, 1};
5110 unsigned int p1[] = {65132u, 65132u, 65132u, 65132u};
5111 unsigned int p2[] = {8, 8, 987, 2};
5112 unsigned int p3[] = {1, 500, 600, 700};
5113
5114 TEST_ASSERT_EACH_EQUAL_UINT(1, p0, 1);
5115 TEST_ASSERT_EACH_EQUAL_UINT(1, p0, 4);
5116 TEST_ASSERT_EACH_EQUAL_UINT(65132u, p1, 4);
5117 TEST_ASSERT_EACH_EQUAL_UINT(8, p2, 2);
5118 TEST_ASSERT_EACH_EQUAL_UINT(1, p3, 1);
5119 }
5120
testNotEqualUIntEachEqual1(void)5121 void testNotEqualUIntEachEqual1(void)
5122 {
5123 unsigned int p0[] = {1, 65132u, 65132u, 65132u};
5124
5125 EXPECT_ABORT_BEGIN
5126 TEST_ASSERT_EACH_EQUAL_UINT(65132u, p0, 4);
5127 VERIFY_FAILS_END
5128 }
5129
testNotEqualUIntEachEqual2(void)5130 void testNotEqualUIntEachEqual2(void)
5131 {
5132 unsigned int p0[] = {987, 8, 987, 987};
5133
5134 EXPECT_ABORT_BEGIN
5135 TEST_ASSERT_EACH_EQUAL_UINT(987, p0, 4);
5136 VERIFY_FAILS_END
5137 }
5138
testNotEqualUIntEachEqual3(void)5139 void testNotEqualUIntEachEqual3(void)
5140 {
5141 unsigned int p0[] = {1, 1, 1, 65132u};
5142
5143 EXPECT_ABORT_BEGIN
5144 TEST_ASSERT_EACH_EQUAL_UINT(1, p0, 4);
5145 VERIFY_FAILS_END
5146 }
5147
testEqualInt16Arrays(void)5148 void testEqualInt16Arrays(void)
5149 {
5150 UNITY_INT16 p0[] = {1, 8, 117, 3};
5151 UNITY_INT16 p1[] = {1, 8, 117, 3};
5152 UNITY_INT16 p2[] = {1, 8, 117, 2};
5153 UNITY_INT16 p3[] = {1, 50, 60, 70};
5154
5155 TEST_ASSERT_EQUAL_INT16_ARRAY(p0, p0, 1);
5156 TEST_ASSERT_EQUAL_INT16_ARRAY(p0, p0, 4);
5157 TEST_ASSERT_EQUAL_INT16_ARRAY(p0, p1, 4);
5158 TEST_ASSERT_EQUAL_INT16_ARRAY(p0, p2, 3);
5159 TEST_ASSERT_EQUAL_INT16_ARRAY(p0, p3, 1);
5160 }
5161
testNotEqualInt16Arrays(void)5162 void testNotEqualInt16Arrays(void)
5163 {
5164 UNITY_INT16 p0[] = {1, 8, 127, 3};
5165 UNITY_INT16 p1[] = {1, 8, 127, 2};
5166
5167 EXPECT_ABORT_BEGIN
5168 TEST_ASSERT_EQUAL_INT16_ARRAY(p0, p1, 4);
5169 VERIFY_FAILS_END
5170 }
5171
testEqualInt16EachEqual(void)5172 void testEqualInt16EachEqual(void)
5173 {
5174 UNITY_INT16 p0[] = {1, 1, 1, 1};
5175 UNITY_INT16 p1[] = {32111, 32111, 32111, 3};
5176 UNITY_INT16 p2[] = {-1, -1, -1, 2};
5177 UNITY_INT16 p3[] = {1, 50, 60, 70};
5178
5179 TEST_ASSERT_EACH_EQUAL_INT16(1, p0, 1);
5180 TEST_ASSERT_EACH_EQUAL_INT16(1, p0, 4);
5181 TEST_ASSERT_EACH_EQUAL_INT16(32111, p1, 3);
5182 TEST_ASSERT_EACH_EQUAL_INT16(-1, p2, 3);
5183 TEST_ASSERT_EACH_EQUAL_INT16(1, p3, 1);
5184 }
5185
testNotEqualInt16EachEqual(void)5186 void testNotEqualInt16EachEqual(void)
5187 {
5188 UNITY_INT16 p0[] = {127, 127, 127, 3};
5189
5190 EXPECT_ABORT_BEGIN
5191 TEST_ASSERT_EACH_EQUAL_INT16(127, p0, 4);
5192 VERIFY_FAILS_END
5193 }
5194
testEqualInt32Arrays(void)5195 void testEqualInt32Arrays(void)
5196 {
5197 UNITY_INT32 p0[] = {1, 8, 117, 3};
5198 UNITY_INT32 p1[] = {1, 8, 117, 3};
5199 UNITY_INT32 p2[] = {1, 8, 117, 2};
5200 UNITY_INT32 p3[] = {1, 50, 60, 70};
5201
5202 TEST_ASSERT_EQUAL_INT32_ARRAY(p0, p0, 1);
5203 TEST_ASSERT_EQUAL_INT32_ARRAY(p0, p0, 4);
5204 TEST_ASSERT_EQUAL_INT32_ARRAY(p0, p1, 4);
5205 TEST_ASSERT_EQUAL_INT32_ARRAY(p0, p2, 3);
5206 TEST_ASSERT_EQUAL_INT32_ARRAY(p0, p3, 1);
5207 }
5208
testNotEqualInt32Arrays(void)5209 void testNotEqualInt32Arrays(void)
5210 {
5211 UNITY_INT32 p0[] = {1, 8, 127, 3};
5212 UNITY_INT32 p1[] = {1, 8, 127, 2};
5213
5214 EXPECT_ABORT_BEGIN
5215 TEST_ASSERT_EQUAL_INT32_ARRAY(p0, p1, 4);
5216 VERIFY_FAILS_END
5217 }
5218
testEqualInt32EachEqual(void)5219 void testEqualInt32EachEqual(void)
5220 {
5221 UNITY_INT32 p0[] = {8, 8, 8, 8};
5222 UNITY_INT32 p1[] = {65537, 65537, 65537, 65537};
5223 UNITY_INT32 p2[] = {-3, -3, -3, 2};
5224 UNITY_INT32 p3[] = {1, 50, 60, 70};
5225
5226 TEST_ASSERT_EACH_EQUAL_INT32(8, p0, 1);
5227 TEST_ASSERT_EACH_EQUAL_INT32(8, p0, 4);
5228 TEST_ASSERT_EACH_EQUAL_INT32(65537, p1, 4);
5229 TEST_ASSERT_EACH_EQUAL_INT32(-3, p2, 3);
5230 TEST_ASSERT_EACH_EQUAL_INT32(1, p3, 1);
5231 }
5232
testNotEqualInt32EachEqual(void)5233 void testNotEqualInt32EachEqual(void)
5234 {
5235 UNITY_INT32 p0[] = {127, 8, 127, 127};
5236
5237 EXPECT_ABORT_BEGIN
5238 TEST_ASSERT_EACH_EQUAL_INT32(127, p0, 4);
5239 VERIFY_FAILS_END
5240 }
5241
testEqualUINT8Arrays(void)5242 void testEqualUINT8Arrays(void)
5243 {
5244 UNITY_UINT8 p0[] = {1, 8, 100, 127};
5245 UNITY_UINT8 p1[] = {1, 8, 100, 127};
5246 UNITY_UINT8 p2[] = {1, 8, 100, 2};
5247 UNITY_UINT8 p3[] = {1, 50, 60, 70};
5248
5249 TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p0, 1);
5250 TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p0, 4);
5251 TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p1, 4);
5252 TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p2, 3);
5253 TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p3, 1);
5254 }
5255
testNotEqualUINT8Arrays1(void)5256 void testNotEqualUINT8Arrays1(void)
5257 {
5258 unsigned char p0[] = {1, 8, 100, 127u};
5259 unsigned char p1[] = {1, 8, 100, 255u};
5260
5261 EXPECT_ABORT_BEGIN
5262 TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p1, 4);
5263 VERIFY_FAILS_END
5264 }
5265
testNotEqualUINT8Arrays2(void)5266 void testNotEqualUINT8Arrays2(void)
5267 {
5268 unsigned char p0[] = {1, 8, 100, 127u};
5269 unsigned char p1[] = {1, 8, 100, 255u};
5270
5271 EXPECT_ABORT_BEGIN
5272 TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p1, 4);
5273 VERIFY_FAILS_END
5274 }
5275
testNotEqualUINT8Arrays3(void)5276 void testNotEqualUINT8Arrays3(void)
5277 {
5278 unsigned char p0[] = {1, 8, 100, 127u};
5279 unsigned char p1[] = {1, 8, 100, 255u};
5280
5281 EXPECT_ABORT_BEGIN
5282 TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p1, 4);
5283 VERIFY_FAILS_END
5284 }
5285
5286
testEqualUINT16Arrays(void)5287 void testEqualUINT16Arrays(void)
5288 {
5289 unsigned short p0[] = {1, 8, 987, 65132u};
5290 unsigned short p1[] = {1, 8, 987, 65132u};
5291 unsigned short p2[] = {1, 8, 987, 2};
5292 unsigned short p3[] = {1, 500, 600, 700};
5293
5294 TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p0, 1);
5295 TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p0, 4);
5296 TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p1, 4);
5297 TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p2, 3);
5298 TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p3, 1);
5299 }
5300
testNotEqualUINT16Arrays1(void)5301 void testNotEqualUINT16Arrays1(void)
5302 {
5303 unsigned short p0[] = {1, 8, 987, 65132u};
5304 unsigned short p1[] = {1, 8, 987, 65131u};
5305
5306 EXPECT_ABORT_BEGIN
5307 TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p1, 4);
5308 VERIFY_FAILS_END
5309 }
5310
testNotEqualUINT16Arrays2(void)5311 void testNotEqualUINT16Arrays2(void)
5312 {
5313 unsigned short p0[] = {1, 8, 987, 65132u};
5314 unsigned short p1[] = {2, 8, 987, 65132u};
5315
5316 EXPECT_ABORT_BEGIN
5317 TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p1, 4);
5318 VERIFY_FAILS_END
5319 }
5320
testNotEqualUINT16Arrays3(void)5321 void testNotEqualUINT16Arrays3(void)
5322 {
5323 unsigned short p0[] = {1, 8, 987, 65132u};
5324 unsigned short p1[] = {1, 8, 986, 65132u};
5325
5326 EXPECT_ABORT_BEGIN
5327 TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p1, 4);
5328 VERIFY_FAILS_END
5329 }
5330
testEqualUINT32Arrays(void)5331 void testEqualUINT32Arrays(void)
5332 {
5333 UNITY_UINT32 p0[] = {1, 8, 987, 65132u};
5334 UNITY_UINT32 p1[] = {1, 8, 987, 65132u};
5335 UNITY_UINT32 p2[] = {1, 8, 987, 2};
5336 UNITY_UINT32 p3[] = {1, 500, 600, 700};
5337
5338 TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p0, 1);
5339 TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p0, 4);
5340 TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p1, 4);
5341 TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p2, 3);
5342 TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p3, 1);
5343 }
5344
testNotEqualUINT32Arrays1(void)5345 void testNotEqualUINT32Arrays1(void)
5346 {
5347 UNITY_UINT32 p0[] = {1, 8, 987, 65132u};
5348 UNITY_UINT32 p1[] = {1, 8, 987, 65131u};
5349
5350 EXPECT_ABORT_BEGIN
5351 TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p1, 4);
5352 VERIFY_FAILS_END
5353 }
5354
testNotEqualUINT32Arrays2(void)5355 void testNotEqualUINT32Arrays2(void)
5356 {
5357 UNITY_UINT32 p0[] = {1, 8, 987, 65132u};
5358 UNITY_UINT32 p1[] = {2, 8, 987, 65132u};
5359
5360 EXPECT_ABORT_BEGIN
5361 TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p1, 4);
5362 VERIFY_FAILS_END
5363 }
5364
testNotEqualUINT32Arrays3(void)5365 void testNotEqualUINT32Arrays3(void)
5366 {
5367 UNITY_UINT32 p0[] = {1, 8, 987, 65132u};
5368 UNITY_UINT32 p1[] = {1, 8, 986, 65132u};
5369
5370 EXPECT_ABORT_BEGIN
5371 TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p1, 4);
5372 VERIFY_FAILS_END
5373 }
5374
testEqualHEXArrays(void)5375 void testEqualHEXArrays(void)
5376 {
5377 UNITY_UINT32 p0[] = {1, 8, 987, 65132u};
5378 UNITY_UINT32 p1[] = {1, 8, 987, 65132u};
5379 UNITY_UINT32 p2[] = {1, 8, 987, 2};
5380 UNITY_UINT32 p3[] = {1, 500, 600, 700};
5381
5382 TEST_ASSERT_EQUAL_HEX_ARRAY(p0, p0, 1);
5383 TEST_ASSERT_EQUAL_HEX_ARRAY(p0, p0, 4);
5384 TEST_ASSERT_EQUAL_HEX_ARRAY(p0, p1, 4);
5385 TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p2, 3);
5386 TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p3, 1);
5387 }
5388
testNotEqualHEXArrays1(void)5389 void testNotEqualHEXArrays1(void)
5390 {
5391 UNITY_UINT32 p0[] = {1, 8, 987, 65132u};
5392 UNITY_UINT32 p1[] = {1, 8, 987, 65131u};
5393
5394 EXPECT_ABORT_BEGIN
5395 TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p1, 4);
5396 VERIFY_FAILS_END
5397 }
5398
testNotEqualHEXArrays2(void)5399 void testNotEqualHEXArrays2(void)
5400 {
5401 UNITY_UINT32 p0[] = {1, 8, 987, 65132u};
5402 UNITY_UINT32 p1[] = {2, 8, 987, 65132u};
5403
5404 EXPECT_ABORT_BEGIN
5405 TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p1, 4);
5406 VERIFY_FAILS_END
5407 }
5408
testNotEqualHEXArrays3(void)5409 void testNotEqualHEXArrays3(void)
5410 {
5411 UNITY_UINT32 p0[] = {1, 8, 987, 65132u};
5412 UNITY_UINT32 p1[] = {1, 8, 986, 65132u};
5413
5414 EXPECT_ABORT_BEGIN
5415 TEST_ASSERT_EQUAL_HEX_ARRAY(p0, p1, 4);
5416 VERIFY_FAILS_END
5417 }
5418
testEqualHEX32Arrays(void)5419 void testEqualHEX32Arrays(void)
5420 {
5421 UNITY_UINT32 p0[] = {1, 8, 987, 65132u};
5422 UNITY_UINT32 p1[] = {1, 8, 987, 65132u};
5423 UNITY_UINT32 p2[] = {1, 8, 987, 2};
5424 UNITY_UINT32 p3[] = {1, 500, 600, 700};
5425
5426 TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p0, 1);
5427 TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p0, 4);
5428 TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p1, 4);
5429 TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p2, 3);
5430 TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p3, 1);
5431 }
5432
testNotEqualHEX32Arrays1(void)5433 void testNotEqualHEX32Arrays1(void)
5434 {
5435 UNITY_UINT32 p0[] = {1, 8, 987, 65132u};
5436 UNITY_UINT32 p1[] = {1, 8, 987, 65131u};
5437
5438 EXPECT_ABORT_BEGIN
5439 TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p1, 4);
5440 VERIFY_FAILS_END
5441 }
5442
testNotEqualHEX32Arrays2(void)5443 void testNotEqualHEX32Arrays2(void)
5444 {
5445 UNITY_UINT32 p0[] = {1, 8, 987, 65132u};
5446 UNITY_UINT32 p1[] = {2, 8, 987, 65132u};
5447
5448 EXPECT_ABORT_BEGIN
5449 TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p1, 4);
5450 VERIFY_FAILS_END
5451 }
5452
testNotEqualHEX32Arrays3(void)5453 void testNotEqualHEX32Arrays3(void)
5454 {
5455 UNITY_UINT32 p0[] = {1, 8, 987, 65132u};
5456 UNITY_UINT32 p1[] = {1, 8, 986, 65132u};
5457
5458 EXPECT_ABORT_BEGIN
5459 TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p1, 4);
5460 VERIFY_FAILS_END
5461 }
5462
testEqualHEX16Arrays(void)5463 void testEqualHEX16Arrays(void)
5464 {
5465 unsigned short p0[] = {1, 8, 987, 65132u};
5466 unsigned short p1[] = {1, 8, 987, 65132u};
5467 unsigned short p2[] = {1, 8, 987, 2};
5468 unsigned short p3[] = {1, 500, 600, 700};
5469
5470 TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p0, 1);
5471 TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p0, 4);
5472 TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p1, 4);
5473 TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p2, 3);
5474 TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p3, 1);
5475 }
5476
testNotEqualHEX16Arrays1(void)5477 void testNotEqualHEX16Arrays1(void)
5478 {
5479 unsigned short p0[] = {1, 8, 987, 65132u};
5480 unsigned short p1[] = {1, 8, 987, 65131u};
5481
5482 EXPECT_ABORT_BEGIN
5483 TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p1, 4);
5484 VERIFY_FAILS_END
5485 }
5486
testNotEqualHEX16Arrays2(void)5487 void testNotEqualHEX16Arrays2(void)
5488 {
5489 unsigned short p0[] = {1, 8, 987, 65132u};
5490 unsigned short p1[] = {2, 8, 987, 65132u};
5491
5492 EXPECT_ABORT_BEGIN
5493 TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p1, 4);
5494 VERIFY_FAILS_END
5495 }
5496
testNotEqualHEX16Arrays3(void)5497 void testNotEqualHEX16Arrays3(void)
5498 {
5499 unsigned short p0[] = {1, 8, 987, 65132u};
5500 unsigned short p1[] = {1, 8, 986, 65132u};
5501
5502 EXPECT_ABORT_BEGIN
5503 TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p1, 4);
5504 VERIFY_FAILS_END
5505 }
5506
testEqualHEX8Arrays(void)5507 void testEqualHEX8Arrays(void)
5508 {
5509 unsigned char p0[] = {1, 8, 254u, 123};
5510 unsigned char p1[] = {1, 8, 254u, 123};
5511 unsigned char p2[] = {1, 8, 254u, 2};
5512 unsigned char p3[] = {1, 23, 25, 26};
5513
5514 TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p0, 1);
5515 TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p0, 4);
5516 TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p1, 4);
5517 TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p2, 3);
5518 TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p3, 1);
5519 }
5520
testNotEqualHEX8Arrays1(void)5521 void testNotEqualHEX8Arrays1(void)
5522 {
5523 unsigned char p0[] = {1, 8, 254u, 253u};
5524 unsigned char p1[] = {1, 8, 254u, 252u};
5525
5526 EXPECT_ABORT_BEGIN
5527 TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p1, 4);
5528 VERIFY_FAILS_END
5529 }
5530
testNotEqualHEX8Arrays2(void)5531 void testNotEqualHEX8Arrays2(void)
5532 {
5533 unsigned char p0[] = {1, 8, 254u, 253u};
5534 unsigned char p1[] = {2, 8, 254u, 253u};
5535
5536 EXPECT_ABORT_BEGIN
5537 TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p1, 4);
5538 VERIFY_FAILS_END
5539 }
5540
testNotEqualHEX8Arrays3(void)5541 void testNotEqualHEX8Arrays3(void)
5542 {
5543 unsigned char p0[] = {1, 8, 254u, 253u};
5544 unsigned char p1[] = {1, 8, 255u, 253u};
5545
5546 EXPECT_ABORT_BEGIN
5547 TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p1, 4);
5548 VERIFY_FAILS_END
5549 }
5550
testEqualUINT8EachEqual(void)5551 void testEqualUINT8EachEqual(void)
5552 {
5553 UNITY_UINT8 p0[] = {127u, 127u, 127u, 127u};
5554 UNITY_UINT8 p1[] = {1u, 1u, 1u, 1u};
5555 UNITY_UINT8 p2[] = {128u, 128u, 128u, 2u};
5556 UNITY_UINT8 p3[] = {1u, 50u, 60u, 70u};
5557
5558 TEST_ASSERT_EACH_EQUAL_UINT8(127u, p0, 1);
5559 TEST_ASSERT_EACH_EQUAL_UINT8(127u, p0, 4);
5560 TEST_ASSERT_EACH_EQUAL_UINT8(1u, p1, 4);
5561 TEST_ASSERT_EACH_EQUAL_UINT8(128u, p2, 3);
5562 TEST_ASSERT_EACH_EQUAL_UINT8(1u, p3, 1);
5563 }
5564
testNotEqualUINT8EachEqual1(void)5565 void testNotEqualUINT8EachEqual1(void)
5566 {
5567 unsigned char p0[] = {127u, 127u, 128u, 127u};
5568
5569 EXPECT_ABORT_BEGIN
5570 TEST_ASSERT_EACH_EQUAL_UINT8(127u, p0, 4);
5571 VERIFY_FAILS_END
5572 }
5573
testNotEqualUINT8EachEqual2(void)5574 void testNotEqualUINT8EachEqual2(void)
5575 {
5576 unsigned char p0[] = {1, 1, 1, 127u};
5577
5578 EXPECT_ABORT_BEGIN
5579 TEST_ASSERT_EACH_EQUAL_UINT8(1, p0, 4);
5580 VERIFY_FAILS_END
5581 }
5582
testNotEqualUINT8EachEqual3(void)5583 void testNotEqualUINT8EachEqual3(void)
5584 {
5585 unsigned char p0[] = {54u, 55u, 55u, 55u};
5586
5587 EXPECT_ABORT_BEGIN
5588 TEST_ASSERT_EACH_EQUAL_UINT8(55u, p0, 4);
5589 VERIFY_FAILS_END
5590 }
5591
testEqualUINT16EachEqual(void)5592 void testEqualUINT16EachEqual(void)
5593 {
5594 unsigned short p0[] = {65132u, 65132u, 65132u, 65132u};
5595 unsigned short p1[] = {987, 987, 987, 987};
5596 unsigned short p2[] = {1, 1, 1, 2};
5597 unsigned short p3[] = {1, 500, 600, 700};
5598
5599 TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 1);
5600 TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 4);
5601 TEST_ASSERT_EACH_EQUAL_UINT16(987, p1, 4);
5602 TEST_ASSERT_EACH_EQUAL_UINT16(1, p2, 3);
5603 TEST_ASSERT_EACH_EQUAL_UINT16(1, p3, 1);
5604 }
5605
testNotEqualUINT16EachEqual1(void)5606 void testNotEqualUINT16EachEqual1(void)
5607 {
5608 unsigned short p0[] = {1, 65132u, 65132u, 65132u};
5609
5610 EXPECT_ABORT_BEGIN
5611 TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 4);
5612 VERIFY_FAILS_END
5613 }
5614
testNotEqualUINT16EachEqual2(void)5615 void testNotEqualUINT16EachEqual2(void)
5616 {
5617 unsigned short p0[] = {65132u, 65132u, 987, 65132u};
5618
5619 EXPECT_ABORT_BEGIN
5620 TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 4);
5621 VERIFY_FAILS_END
5622 }
5623
testNotEqualUINT16EachEqual3(void)5624 void testNotEqualUINT16EachEqual3(void)
5625 {
5626 unsigned short p0[] = {65132u, 65132u, 65132u, 65133u};
5627
5628 EXPECT_ABORT_BEGIN
5629 TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 4);
5630 VERIFY_FAILS_END
5631 }
5632
testEqualUINT32EachEqual(void)5633 void testEqualUINT32EachEqual(void)
5634 {
5635 UNITY_UINT32 p0[] = {65132u, 65132u, 65132u, 65132u};
5636 UNITY_UINT32 p1[] = {987, 987, 987, 987};
5637 UNITY_UINT32 p2[] = {8, 8, 8, 2};
5638 UNITY_UINT32 p3[] = {1, 500, 600, 700};
5639
5640 TEST_ASSERT_EACH_EQUAL_UINT32(65132u, p0, 1);
5641 TEST_ASSERT_EACH_EQUAL_UINT32(65132u, p0, 4);
5642 TEST_ASSERT_EACH_EQUAL_UINT32(987, p1, 4);
5643 TEST_ASSERT_EACH_EQUAL_UINT32(8, p2, 3);
5644 TEST_ASSERT_EACH_EQUAL_UINT32(1, p3, 1);
5645 }
5646
testNotEqualUINT32EachEqual1(void)5647 void testNotEqualUINT32EachEqual1(void)
5648 {
5649 UNITY_UINT32 p0[] = {65132u, 65132u, 987, 65132u};
5650
5651 EXPECT_ABORT_BEGIN
5652 TEST_ASSERT_EACH_EQUAL_UINT32(65132u, p0, 4);
5653 VERIFY_FAILS_END
5654 }
5655
testNotEqualUINT32EachEqual2(void)5656 void testNotEqualUINT32EachEqual2(void)
5657 {
5658 UNITY_UINT32 p0[] = {1, 987, 987, 987};
5659
5660 EXPECT_ABORT_BEGIN
5661 TEST_ASSERT_EACH_EQUAL_UINT32(987, p0, 4);
5662 VERIFY_FAILS_END
5663 }
5664
testNotEqualUINT32EachEqual3(void)5665 void testNotEqualUINT32EachEqual3(void)
5666 {
5667 UNITY_UINT32 p0[] = {1, 1, 1, 65132u};
5668
5669 EXPECT_ABORT_BEGIN
5670 TEST_ASSERT_EACH_EQUAL_UINT32(1, p0, 4);
5671 VERIFY_FAILS_END
5672 }
5673
testEqualHEXEachEqual(void)5674 void testEqualHEXEachEqual(void)
5675 {
5676 UNITY_UINT32 p0[] = {65132u, 65132u, 65132u, 65132u};
5677 UNITY_UINT32 p1[] = {987, 987, 987, 987};
5678 UNITY_UINT32 p2[] = {8, 8, 8, 2};
5679 UNITY_UINT32 p3[] = {1, 500, 600, 700};
5680
5681 TEST_ASSERT_EACH_EQUAL_HEX(65132u, p0, 1);
5682 TEST_ASSERT_EACH_EQUAL_HEX(65132u, p0, 4);
5683 TEST_ASSERT_EACH_EQUAL_HEX(987, p1, 4);
5684 TEST_ASSERT_EACH_EQUAL_HEX(8, p2, 3);
5685 TEST_ASSERT_EACH_EQUAL_HEX(1, p3, 1);
5686 }
5687
testNotEqualHEXEachEqual1(void)5688 void testNotEqualHEXEachEqual1(void)
5689 {
5690 UNITY_UINT32 p0[] = {1, 65132u, 65132u, 65132u};
5691
5692 EXPECT_ABORT_BEGIN
5693 TEST_ASSERT_EACH_EQUAL_HEX32(65132u, p0, 4);
5694 VERIFY_FAILS_END
5695 }
5696
testNotEqualHEXEachEqual2(void)5697 void testNotEqualHEXEachEqual2(void)
5698 {
5699 UNITY_UINT32 p0[] = {987, 987, 987, 65132u};
5700
5701 EXPECT_ABORT_BEGIN
5702 TEST_ASSERT_EACH_EQUAL_HEX32(987, p0, 4);
5703 VERIFY_FAILS_END
5704 }
5705
testNotEqualHEXEachEqual3(void)5706 void testNotEqualHEXEachEqual3(void)
5707 {
5708 UNITY_UINT32 p0[] = {8, 8, 987, 8};
5709
5710 EXPECT_ABORT_BEGIN
5711 TEST_ASSERT_EACH_EQUAL_HEX(8, p0, 4);
5712 VERIFY_FAILS_END
5713 }
5714
testEqualHEX32EachEqual(void)5715 void testEqualHEX32EachEqual(void)
5716 {
5717 UNITY_UINT32 p0[] = {65132u, 65132u, 65132u, 65132u};
5718 UNITY_UINT32 p1[] = {987, 987, 987, 987};
5719 UNITY_UINT32 p2[] = {8, 8, 8, 2};
5720 UNITY_UINT32 p3[] = {1, 500, 600, 700};
5721
5722 TEST_ASSERT_EACH_EQUAL_HEX32(65132u, p0, 1);
5723 TEST_ASSERT_EACH_EQUAL_HEX32(65132u, p0, 4);
5724 TEST_ASSERT_EACH_EQUAL_HEX32(987, p1, 4);
5725 TEST_ASSERT_EACH_EQUAL_HEX32(8, p2, 3);
5726 TEST_ASSERT_EACH_EQUAL_HEX32(1, p3, 1);
5727 }
5728
testNotEqualHEX32EachEqual1(void)5729 void testNotEqualHEX32EachEqual1(void)
5730 {
5731 UNITY_UINT32 p0[] = {65132u, 8, 65132u, 65132u};
5732
5733 EXPECT_ABORT_BEGIN
5734 TEST_ASSERT_EACH_EQUAL_HEX32(65132u, p0, 4);
5735 VERIFY_FAILS_END
5736 }
5737
testNotEqualHEX32EachEqual2(void)5738 void testNotEqualHEX32EachEqual2(void)
5739 {
5740 UNITY_UINT32 p0[] = {1, 987, 987, 987};
5741
5742 EXPECT_ABORT_BEGIN
5743 TEST_ASSERT_EACH_EQUAL_HEX32(987, p0, 4);
5744 VERIFY_FAILS_END
5745 }
5746
testNotEqualHEX32EachEqual3(void)5747 void testNotEqualHEX32EachEqual3(void)
5748 {
5749 UNITY_UINT32 p0[] = {8, 8, 8, 65132u};
5750
5751 EXPECT_ABORT_BEGIN
5752 TEST_ASSERT_EACH_EQUAL_HEX32(8, p0, 4);
5753 VERIFY_FAILS_END
5754 }
5755
testEqualHEX16EachEqual(void)5756 void testEqualHEX16EachEqual(void)
5757 {
5758 UNITY_UINT16 p0[] = {65132u, 65132u, 65132u, 65132u};
5759 UNITY_UINT16 p1[] = {987, 987, 987, 987};
5760 UNITY_UINT16 p2[] = {8, 8, 8, 2};
5761 UNITY_UINT16 p3[] = {1, 500, 600, 700};
5762
5763 TEST_ASSERT_EACH_EQUAL_HEX16(65132u, p0, 1);
5764 TEST_ASSERT_EACH_EQUAL_HEX16(65132u, p0, 4);
5765 TEST_ASSERT_EACH_EQUAL_HEX16(987, p1, 4);
5766 TEST_ASSERT_EACH_EQUAL_HEX16(8, p2, 3);
5767 TEST_ASSERT_EACH_EQUAL_HEX16(1, p3, 1);
5768 }
5769
testNotEqualHEX16EachEqual1(void)5770 void testNotEqualHEX16EachEqual1(void)
5771 {
5772 unsigned short p0[] = {65132u, 65132u, 987, 65132u};
5773
5774 EXPECT_ABORT_BEGIN
5775 TEST_ASSERT_EACH_EQUAL_HEX16(65132u, p0, 4);
5776 VERIFY_FAILS_END
5777 }
5778
testNotEqualHEX16EachEqual2(void)5779 void testNotEqualHEX16EachEqual2(void)
5780 {
5781 unsigned short p0[] = {1, 987, 987, 987};
5782
5783 EXPECT_ABORT_BEGIN
5784 TEST_ASSERT_EACH_EQUAL_HEX16(987, p0, 4);
5785 VERIFY_FAILS_END
5786 }
5787
testNotEqualHEX16EachEqual3(void)5788 void testNotEqualHEX16EachEqual3(void)
5789 {
5790 unsigned short p0[] = {8, 8, 8, 65132u};
5791
5792 EXPECT_ABORT_BEGIN
5793 TEST_ASSERT_EACH_EQUAL_HEX16(8, p0, 4);
5794 VERIFY_FAILS_END
5795 }
5796
testEqualHEX8EachEqual(void)5797 void testEqualHEX8EachEqual(void)
5798 {
5799 unsigned char p0[] = {254u, 254u, 254u, 254u};
5800 unsigned char p1[] = {123, 123, 123, 123};
5801 unsigned char p2[] = {8, 8, 8, 2};
5802 unsigned char p3[] = {1, 23, 25, 26};
5803
5804 TEST_ASSERT_EACH_EQUAL_HEX8(254u, p0, 1);
5805 TEST_ASSERT_EACH_EQUAL_HEX8(254u, p0, 4);
5806 TEST_ASSERT_EACH_EQUAL_HEX8(123, p1, 4);
5807 TEST_ASSERT_EACH_EQUAL_HEX8(8, p2, 3);
5808 TEST_ASSERT_EACH_EQUAL_HEX8(1, p3, 1);
5809 }
5810
testNotEqualHEX8EachEqual1(void)5811 void testNotEqualHEX8EachEqual1(void)
5812 {
5813 unsigned char p0[] = {253u, 253u, 254u, 253u};
5814
5815 EXPECT_ABORT_BEGIN
5816 TEST_ASSERT_EACH_EQUAL_HEX8(253u, p0, 4);
5817 VERIFY_FAILS_END
5818 }
5819
testNotEqualHEX8EachEqual2(void)5820 void testNotEqualHEX8EachEqual2(void)
5821 {
5822 unsigned char p0[] = {254u, 254u, 254u, 253u};
5823
5824 EXPECT_ABORT_BEGIN
5825 TEST_ASSERT_EACH_EQUAL_HEX8(254u, p0, 4);
5826 VERIFY_FAILS_END
5827 }
5828
testNotEqualHEX8EachEqual3(void)5829 void testNotEqualHEX8EachEqual3(void)
5830 {
5831 unsigned char p0[] = {1, 8, 8, 8};
5832
5833 EXPECT_ABORT_BEGIN
5834 TEST_ASSERT_EACH_EQUAL_HEX8(8, p0, 4);
5835 VERIFY_FAILS_END
5836 }
5837
testEqualMemoryArrays(void)5838 void testEqualMemoryArrays(void)
5839 {
5840 int p0[] = {1, 8, 987, -2};
5841 int p1[] = {1, 8, 987, -2};
5842 int p2[] = {1, 8, 987, 2};
5843 int p3[] = {1, 500, 600, 700};
5844
5845 TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p0, sizeof(int), 1);
5846 TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p0, sizeof(int), 4);
5847 TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
5848 TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p2, sizeof(int), 3);
5849 TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p3, sizeof(int), 1);
5850 }
5851
testNotEqualMemoryArraysExpectedNull(void)5852 void testNotEqualMemoryArraysExpectedNull(void)
5853 {
5854 int* p0 = NULL;
5855 int p1[] = {1, 8, 987, 2};
5856
5857 EXPECT_ABORT_BEGIN
5858 TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
5859 VERIFY_FAILS_END
5860 }
5861
testNotEqualMemoryArraysActualNull(void)5862 void testNotEqualMemoryArraysActualNull(void)
5863 {
5864 int p0[] = {1, 8, 987, -2};
5865 int* p1 = NULL;
5866
5867 EXPECT_ABORT_BEGIN
5868 TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
5869 VERIFY_FAILS_END
5870 }
5871
testNotEqualMemoryArrays1(void)5872 void testNotEqualMemoryArrays1(void)
5873 {
5874 int p0[] = {1, 8, 987, -2};
5875 int p1[] = {1, 8, 987, 2};
5876
5877 EXPECT_ABORT_BEGIN
5878 TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
5879 VERIFY_FAILS_END
5880 }
5881
testNotEqualMemoryArrays2(void)5882 void testNotEqualMemoryArrays2(void)
5883 {
5884 int p0[] = {1, 8, 987, -2};
5885 int p1[] = {2, 8, 987, -2};
5886
5887 EXPECT_ABORT_BEGIN
5888 TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
5889 VERIFY_FAILS_END
5890 }
5891
testNotEqualMemoryArrays3(void)5892 void testNotEqualMemoryArrays3(void)
5893 {
5894 int p0[] = {1, 8, 987, -2};
5895 int p1[] = {1, 8, 986, -2};
5896
5897 EXPECT_ABORT_BEGIN
5898 TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
5899 VERIFY_FAILS_END
5900 }
5901
testEqualMemoryEachEqual(void)5902 void testEqualMemoryEachEqual(void)
5903 {
5904 int p0[] = {1, 8, 987, -2};
5905 int p1[] = {1, 8, 987, -2, 1, 8, 987, -2};
5906 int p2[] = {8, 8, 8, 2};
5907 int p3[] = {8, 500, 600, 700};
5908 int v = 8;
5909
5910 TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p0, sizeof(int)*4, 1);
5911 TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 2);
5912 TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 1);
5913 TEST_ASSERT_EACH_EQUAL_MEMORY(&v, p2, sizeof(int), 3);
5914 TEST_ASSERT_EACH_EQUAL_MEMORY(&v, p3, sizeof(int), 1);
5915 }
5916
testNotEqualMemoryEachEqualExpectedNull(void)5917 void testNotEqualMemoryEachEqualExpectedNull(void)
5918 {
5919 int* p0 = NULL;
5920 int p1[] = {1, 8, 987, 2};
5921
5922 EXPECT_ABORT_BEGIN
5923 TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int), 4);
5924 VERIFY_FAILS_END
5925 }
5926
testNotEqualMemoryEachEqualActualNull(void)5927 void testNotEqualMemoryEachEqualActualNull(void)
5928 {
5929 int p0[] = {1, 8, 987, -2};
5930 int* p1 = NULL;
5931
5932 EXPECT_ABORT_BEGIN
5933 TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int), 4);
5934 VERIFY_FAILS_END
5935 }
5936
testNotEqualMemoryEachEqual1(void)5937 void testNotEqualMemoryEachEqual1(void)
5938 {
5939 int p0[] = {1, 8, 987, -2};
5940 int p1[] = {9, 8, 987, -2, 1, 8, 987, -2, 1, 8, 987, -2};
5941
5942 EXPECT_ABORT_BEGIN
5943 TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 3);
5944 VERIFY_FAILS_END
5945 }
5946
testNotEqualMemoryEachEqual2(void)5947 void testNotEqualMemoryEachEqual2(void)
5948 {
5949 int p0[] = {1, 8, 987, -2};
5950 int p1[] = {1, 8, 987, -2, 1, 8, 987, -2, 1, 8, 987, 9};
5951
5952 EXPECT_ABORT_BEGIN
5953 TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 3);
5954 VERIFY_FAILS_END
5955 }
5956
testNotEqualMemoryEachEqual3(void)5957 void testNotEqualMemoryEachEqual3(void)
5958 {
5959 int p0[] = {1, 8, 987, -2};
5960 int p1[] = {1, 8, 987, -2, 1, 9, 987, -2, 1, 8, 987, -2};
5961
5962 EXPECT_ABORT_BEGIN
5963 TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 3);
5964 VERIFY_FAILS_END
5965 }
5966
testProtection(void)5967 void testProtection(void)
5968 {
5969 volatile int mask = 0;
5970
5971 if (TEST_PROTECT())
5972 {
5973 mask |= 1;
5974 TEST_ABORT();
5975 }
5976 else
5977 {
5978 Unity.CurrentTestFailed = 0;
5979 mask |= 2;
5980 }
5981
5982 TEST_ASSERT_EQUAL(3, mask);
5983 }
5984
testIgnoredAndThenFailInTearDown(void)5985 void testIgnoredAndThenFailInTearDown(void)
5986 {
5987 SetToOneToFailInTearDown = 1;
5988 TEST_IGNORE();
5989 }
5990
5991 /* Tricky series of macros to set USING_OUTPUT_SPY */
5992 #define USING_SPY_AS(a) EXPAND_AND_USE_2ND(ASSIGN_VALUE(a), 0)
5993 #define ASSIGN_VALUE(a) VAL_##a
5994 #define VAL_putcharSpy 0, 1
5995 #define EXPAND_AND_USE_2ND(a, b) SECOND_PARAM(a, b, throwaway)
5996 #define SECOND_PARAM(a, b, ...) b
5997 #if USING_SPY_AS(UNITY_OUTPUT_CHAR)
5998 #define USING_OUTPUT_SPY /* true only if UNITY_OUTPUT_CHAR = putcharSpy */
5999 #endif
6000
6001 #ifdef USING_OUTPUT_SPY
6002 #include <stdio.h>
6003 #define SPY_BUFFER_MAX 40
6004 static char putcharSpyBuffer[SPY_BUFFER_MAX];
6005 #endif
6006 static int indexSpyBuffer;
6007 static int putcharSpyEnabled;
6008
startPutcharSpy(void)6009 void startPutcharSpy(void) {indexSpyBuffer = 0; putcharSpyEnabled = 1;}
6010
endPutcharSpy(void)6011 void endPutcharSpy(void) {putcharSpyEnabled = 0;}
6012
getBufferPutcharSpy(void)6013 char* getBufferPutcharSpy(void)
6014 {
6015 #ifdef USING_OUTPUT_SPY
6016 putcharSpyBuffer[indexSpyBuffer] = '\0';
6017 return putcharSpyBuffer;
6018 #else
6019 return NULL;
6020 #endif
6021 }
6022
putcharSpy(int c)6023 void putcharSpy(int c)
6024 {
6025 #ifdef USING_OUTPUT_SPY
6026 if (putcharSpyEnabled)
6027 {
6028 if (indexSpyBuffer < SPY_BUFFER_MAX - 1)
6029 putcharSpyBuffer[indexSpyBuffer++] = (char)c;
6030 } else
6031 putchar((char)c);
6032 #endif
6033 }
6034
6035 /* This is for counting the calls to the flushSpy */
6036 static int flushSpyEnabled;
6037 static int flushSpyCalls = 0;
6038
startFlushSpy(void)6039 void startFlushSpy(void) { flushSpyCalls = 0; flushSpyEnabled = 1; }
endFlushSpy(void)6040 void endFlushSpy(void) { flushSpyCalls = 0; flushSpyEnabled = 0; }
getFlushSpyCalls(void)6041 int getFlushSpyCalls(void) { return flushSpyCalls; }
6042
flushSpy(void)6043 void flushSpy(void)
6044 {
6045 if (flushSpyEnabled){ flushSpyCalls++; }
6046 }
6047
testFailureCountIncrementsAndIsReturnedAtEnd(void)6048 void testFailureCountIncrementsAndIsReturnedAtEnd(void)
6049 {
6050 UNITY_UINT savedFailures = Unity.TestFailures;
6051 Unity.CurrentTestFailed = 1;
6052 startPutcharSpy(); /* Suppress output */
6053 startFlushSpy();
6054 TEST_ASSERT_EQUAL(0, getFlushSpyCalls());
6055 UnityConcludeTest();
6056 endPutcharSpy();
6057 TEST_ASSERT_EQUAL(savedFailures + 1, Unity.TestFailures);
6058 #if defined(UNITY_OUTPUT_FLUSH) && defined(UNITY_OUTPUT_FLUSH_HEADER_DECLARATION)
6059 TEST_ASSERT_EQUAL(1, getFlushSpyCalls());
6060 #else
6061 TEST_ASSERT_EQUAL(0, getFlushSpyCalls());
6062 #endif
6063 endFlushSpy();
6064
6065 startPutcharSpy(); /* Suppress output */
6066 int failures = UnityEnd();
6067 Unity.TestFailures--;
6068 endPutcharSpy();
6069 TEST_ASSERT_EQUAL(savedFailures + 1, failures);
6070 }
6071
testCstringsEscapeSequence(void)6072 void testCstringsEscapeSequence(void)
6073 {
6074 #ifndef USING_OUTPUT_SPY
6075 TEST_IGNORE();
6076 #else
6077 startPutcharSpy();
6078 UnityPrint("\x16\x10");
6079 endPutcharSpy();
6080 TEST_ASSERT_EQUAL_STRING("\\x16\\x10", getBufferPutcharSpy());
6081 #endif
6082 }
6083
testHexPrintsUpToMaxNumberOfNibbles(void)6084 void testHexPrintsUpToMaxNumberOfNibbles(void)
6085 {
6086 #ifndef USING_OUTPUT_SPY
6087 TEST_IGNORE();
6088 #else
6089 startPutcharSpy();
6090 UnityPrintNumberHex(0xBEE, 21);
6091 endPutcharSpy();
6092 #ifdef UNITY_SUPPORT_64
6093 TEST_ASSERT_EQUAL_INT(16, strlen(getBufferPutcharSpy()));
6094 #else
6095 TEST_ASSERT_EQUAL_INT( 8, strlen(getBufferPutcharSpy()));
6096 #endif
6097 #endif
6098 }
6099
6100 #define TEST_ASSERT_EQUAL_PRINT_NUMBERS(expected, actual) { \
6101 startPutcharSpy(); UnityPrintNumber((actual)); endPutcharSpy(); \
6102 TEST_ASSERT_EQUAL_STRING((expected), getBufferPutcharSpy()); \
6103 }
6104
6105 #define TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS(expected, actual) { \
6106 startPutcharSpy(); UnityPrintNumberUnsigned((actual)); endPutcharSpy(); \
6107 TEST_ASSERT_EQUAL_STRING((expected), getBufferPutcharSpy()); \
6108 }
6109
testPrintNumbers32(void)6110 void testPrintNumbers32(void)
6111 {
6112 #ifndef USING_OUTPUT_SPY
6113 TEST_IGNORE_MESSAGE("Compile with '-D UNITY_OUTPUT_CHAR=putcharSpy' to enable print testing");
6114 #else
6115 TEST_ASSERT_EQUAL_PRINT_NUMBERS("0", 0);
6116 TEST_ASSERT_EQUAL_PRINT_NUMBERS("1", 1);
6117 TEST_ASSERT_EQUAL_PRINT_NUMBERS("-1", -1);
6118 TEST_ASSERT_EQUAL_PRINT_NUMBERS("2000000000", 2000000000);
6119 TEST_ASSERT_EQUAL_PRINT_NUMBERS("-2147483648", (UNITY_INT32)0x80000000);
6120 TEST_ASSERT_EQUAL_PRINT_NUMBERS("-1", (UNITY_INT32)0xFFFFFFFF);
6121 #endif
6122 }
6123
testPrintNumbersUnsigned32(void)6124 void testPrintNumbersUnsigned32(void)
6125 {
6126 #ifndef USING_OUTPUT_SPY
6127 TEST_IGNORE();
6128 #else
6129 TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS("0", 0);
6130 TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS("1", 1);
6131 TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS("1500000000", 1500000000);
6132 TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS("2147483648", (UNITY_UINT32)0x80000000);
6133 TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS("4294967295", (UNITY_UINT32)0xFFFFFFFF);
6134 #endif
6135 }
6136
6137
6138 /* ===================== THESE TEST WILL RUN IF YOUR CONFIG INCLUDES 64 BIT SUPPORT ================== */
6139
testPrintNumbersInt64(void)6140 void testPrintNumbersInt64(void)
6141 {
6142 #ifndef UNITY_SUPPORT_64
6143 TEST_IGNORE();
6144 #else
6145 #ifndef USING_OUTPUT_SPY
6146 TEST_IGNORE();
6147 #else
6148 TEST_ASSERT_EQUAL_PRINT_NUMBERS("0", 0);
6149 TEST_ASSERT_EQUAL_PRINT_NUMBERS("10000000000", 10000000000);
6150 TEST_ASSERT_EQUAL_PRINT_NUMBERS("-9223372036854775808", (UNITY_INT)0x8000000000000000);
6151 TEST_ASSERT_EQUAL_PRINT_NUMBERS("-1", (UNITY_INT)0xFFFFFFFFFFFFFFFF);
6152 #endif
6153 #endif
6154 }
6155
testPrintNumbersUInt64(void)6156 void testPrintNumbersUInt64(void)
6157 {
6158 #ifndef UNITY_SUPPORT_64
6159 TEST_IGNORE();
6160 #else
6161 #ifndef USING_OUTPUT_SPY
6162 TEST_IGNORE();
6163 #else
6164 TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS("0", 0);
6165 TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS("70000000000", 70000000000);
6166 TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS("9223372036854775808", (UNITY_UINT)0x8000000000000000);
6167 TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS("18446744073709551615", (UNITY_UINT)0xFFFFFFFFFFFFFFFF);
6168 #endif
6169 #endif
6170 }
6171
testEqualHex64s(void)6172 void testEqualHex64s(void)
6173 {
6174 #ifndef UNITY_SUPPORT_64
6175 TEST_IGNORE();
6176 #else
6177 UNITY_UINT64 v0, v1;
6178 UNITY_UINT64 *p0, *p1;
6179
6180 v0 = 0x9876543201234567;
6181 v1 = 0x9876543201234567;
6182 p0 = &v0;
6183 p1 = &v1;
6184
6185 TEST_ASSERT_EQUAL_HEX64(0x9876543201234567, 0x9876543201234567);
6186 TEST_ASSERT_EQUAL_HEX64(v0, v1);
6187 TEST_ASSERT_EQUAL_HEX64(0x9876543201234567, v1);
6188 TEST_ASSERT_EQUAL_HEX64(v0, 0x9876543201234567);
6189 TEST_ASSERT_EQUAL_HEX64(*p0, v1);
6190 TEST_ASSERT_EQUAL_HEX64(*p0, *p1);
6191 TEST_ASSERT_EQUAL_HEX64(*p0, 0x9876543201234567);
6192 #endif
6193 }
6194
testEqualUint64s(void)6195 void testEqualUint64s(void)
6196 {
6197 #ifndef UNITY_SUPPORT_64
6198 TEST_IGNORE();
6199 #else
6200 UNITY_UINT64 v0, v1;
6201 UNITY_UINT64 *p0, *p1;
6202
6203 v0 = 0x9876543201234567;
6204 v1 = 0x9876543201234567;
6205 p0 = &v0;
6206 p1 = &v1;
6207
6208 TEST_ASSERT_EQUAL_UINT64(0x9876543201234567, 0x9876543201234567);
6209 TEST_ASSERT_EQUAL_UINT64(v0, v1);
6210 TEST_ASSERT_EQUAL_UINT64(0x9876543201234567, v1);
6211 TEST_ASSERT_EQUAL_UINT64(v0, 0x9876543201234567);
6212 TEST_ASSERT_EQUAL_UINT64(*p0, v1);
6213 TEST_ASSERT_EQUAL_UINT64(*p0, *p1);
6214 TEST_ASSERT_EQUAL_UINT64(*p0, 0x9876543201234567);
6215 #endif
6216 }
6217
testEqualInt64s(void)6218 void testEqualInt64s(void)
6219 {
6220 #ifndef UNITY_SUPPORT_64
6221 TEST_IGNORE();
6222 #else
6223 UNITY_INT64 v0, v1;
6224 UNITY_INT64 *p0, *p1;
6225
6226 v0 = (UNITY_INT64)0x9876543201234567;
6227 v1 = (UNITY_INT64)0x9876543201234567;
6228 p0 = &v0;
6229 p1 = &v1;
6230
6231 TEST_ASSERT_EQUAL_INT64(0x9876543201234567, 0x9876543201234567);
6232 TEST_ASSERT_EQUAL_INT64(v0, v1);
6233 TEST_ASSERT_EQUAL_INT64(0x9876543201234567, v1);
6234 TEST_ASSERT_EQUAL_INT64(v0, 0x9876543201234567);
6235 TEST_ASSERT_EQUAL_INT64(*p0, v1);
6236 TEST_ASSERT_EQUAL_INT64(*p0, *p1);
6237 TEST_ASSERT_EQUAL_INT64(*p0, 0x9876543201234567);
6238 #endif
6239 }
6240
6241
testNotEqualHex64s(void)6242 void testNotEqualHex64s(void)
6243 {
6244 #ifndef UNITY_SUPPORT_64
6245 TEST_IGNORE();
6246 #else
6247 UNITY_UINT64 v0, v1;
6248
6249 v0 = 9000000000;
6250 v1 = 9100000000;
6251
6252 EXPECT_ABORT_BEGIN
6253 TEST_ASSERT_EQUAL_HEX64(v0, v1);
6254 VERIFY_FAILS_END
6255 #endif
6256 }
6257
testNotEqualUint64s(void)6258 void testNotEqualUint64s(void)
6259 {
6260 #ifndef UNITY_SUPPORT_64
6261 TEST_IGNORE();
6262 #else
6263 UNITY_UINT64 v0, v1;
6264
6265 v0 = 9000000000;
6266 v1 = 9100000000;
6267
6268 EXPECT_ABORT_BEGIN
6269 TEST_ASSERT_EQUAL_UINT64(v0, v1);
6270 VERIFY_FAILS_END
6271 #endif
6272 }
6273
testNotEqualInt64s(void)6274 void testNotEqualInt64s(void)
6275 {
6276 #ifndef UNITY_SUPPORT_64
6277 TEST_IGNORE();
6278 #else
6279 UNITY_INT64 v0, v1;
6280
6281 v0 = -9000000000;
6282 v1 = 9100000000;
6283
6284 EXPECT_ABORT_BEGIN
6285 TEST_ASSERT_EQUAL_INT64(v0, v1);
6286 VERIFY_FAILS_END
6287 #endif
6288 }
6289
testNotEqualHex64sIfSigned(void)6290 void testNotEqualHex64sIfSigned(void)
6291 {
6292 #ifndef UNITY_SUPPORT_64
6293 TEST_IGNORE();
6294 #else
6295 UNITY_INT64 v0, v1;
6296
6297 v0 = -9000000000;
6298 v1 = 9000000000;
6299
6300 EXPECT_ABORT_BEGIN
6301 TEST_ASSERT_EQUAL_HEX64(v0, v1);
6302 VERIFY_FAILS_END
6303 #endif
6304 }
6305
testHEX64sWithinDelta(void)6306 void testHEX64sWithinDelta(void)
6307 {
6308 #ifndef UNITY_SUPPORT_64
6309 TEST_IGNORE();
6310 #else
6311 TEST_ASSERT_HEX64_WITHIN(1, 0x7FFFFFFFFFFFFFFF,0x7FFFFFFFFFFFFFFE);
6312 TEST_ASSERT_HEX64_WITHIN(5, 5000, 4996);
6313 TEST_ASSERT_HEX64_WITHIN(5, 5000, 5005);
6314 #endif
6315 }
6316
testHEX64sNotWithinDelta(void)6317 void testHEX64sNotWithinDelta(void)
6318 {
6319 #ifndef UNITY_SUPPORT_64
6320 TEST_IGNORE();
6321 #else
6322 EXPECT_ABORT_BEGIN
6323 TEST_ASSERT_HEX64_WITHIN(1, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFC);
6324 VERIFY_FAILS_END
6325 #endif
6326 }
6327
testHEX64sNotWithinDeltaEvenThoughASignedIntWouldPass(void)6328 void testHEX64sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
6329 {
6330 #ifndef UNITY_SUPPORT_64
6331 TEST_IGNORE();
6332 #else
6333 EXPECT_ABORT_BEGIN
6334 TEST_ASSERT_HEX64_WITHIN(5, 1, -1);
6335 VERIFY_FAILS_END
6336 #endif
6337 }
6338
testUINT64sWithinDelta(void)6339 void testUINT64sWithinDelta(void)
6340 {
6341 #ifndef UNITY_SUPPORT_64
6342 TEST_IGNORE();
6343 #else
6344 TEST_ASSERT_UINT64_WITHIN(1, 0x7FFFFFFFFFFFFFFF,0x7FFFFFFFFFFFFFFE);
6345 TEST_ASSERT_UINT64_WITHIN(5, 5000, 4996);
6346 TEST_ASSERT_UINT64_WITHIN(5, 5000, 5005);
6347 #endif
6348 }
6349
testUINT64sNotWithinDelta(void)6350 void testUINT64sNotWithinDelta(void)
6351 {
6352 #ifndef UNITY_SUPPORT_64
6353 TEST_IGNORE();
6354 #else
6355 EXPECT_ABORT_BEGIN
6356 TEST_ASSERT_UINT64_WITHIN(1, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFC);
6357 VERIFY_FAILS_END
6358 #endif
6359 }
6360
testUINT64sNotWithinDeltaEvenThoughASignedIntWouldPass(void)6361 void testUINT64sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
6362 {
6363 #ifndef UNITY_SUPPORT_64
6364 TEST_IGNORE();
6365 #else
6366 EXPECT_ABORT_BEGIN
6367 TEST_ASSERT_UINT64_WITHIN(5, 1, -1);
6368 VERIFY_FAILS_END
6369 #endif
6370 }
6371
testINT64sWithinDelta(void)6372 void testINT64sWithinDelta(void)
6373 {
6374 #ifndef UNITY_SUPPORT_64
6375 TEST_IGNORE();
6376 #else
6377 TEST_ASSERT_INT64_WITHIN(1, 0x7FFFFFFFFFFFFFFF,0x7FFFFFFFFFFFFFFE);
6378 TEST_ASSERT_INT64_WITHIN(5, 5000, 4996);
6379 TEST_ASSERT_INT64_WITHIN(5, 5000, 5005);
6380 #endif
6381 }
6382
testINT64sNotWithinDelta(void)6383 void testINT64sNotWithinDelta(void)
6384 {
6385 #ifndef UNITY_SUPPORT_64
6386 TEST_IGNORE();
6387 #else
6388 EXPECT_ABORT_BEGIN
6389 TEST_ASSERT_INT64_WITHIN(1, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFC);
6390 VERIFY_FAILS_END
6391 #endif
6392 }
6393
testINT64sNotWithinDeltaAndDifferenceOverflows(void)6394 void testINT64sNotWithinDeltaAndDifferenceOverflows(void)
6395 {
6396 #ifndef UNITY_SUPPORT_64
6397 TEST_IGNORE();
6398 #else
6399 EXPECT_ABORT_BEGIN
6400 TEST_ASSERT_INT64_WITHIN(1, 0x8000000000000000, 0x7FFFFFFFFFFFFFFF);
6401 VERIFY_FAILS_END
6402 #endif
6403 }
6404
testEqualHEX64Arrays(void)6405 void testEqualHEX64Arrays(void)
6406 {
6407 #ifndef UNITY_SUPPORT_64
6408 TEST_IGNORE();
6409 #else
6410 UNITY_UINT64 p0[] = {1, 8, 987, 65132u};
6411 UNITY_UINT64 p1[] = {1, 8, 987, 65132u};
6412 UNITY_UINT64 p2[] = {1, 8, 987, 2};
6413 UNITY_UINT64 p3[] = {1, 500, 600, 700};
6414
6415 TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p0, 1);
6416 TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p0, 4);
6417 TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p1, 4);
6418 TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p2, 3);
6419 TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p3, 1);
6420 #endif
6421 }
6422
testEqualUint64Arrays(void)6423 void testEqualUint64Arrays(void)
6424 {
6425 #ifndef UNITY_SUPPORT_64
6426 TEST_IGNORE();
6427 #else
6428 UNITY_UINT64 p0[] = {1, 8, 987, 65132u};
6429 UNITY_UINT64 p1[] = {1, 8, 987, 65132u};
6430 UNITY_UINT64 p2[] = {1, 8, 987, 2};
6431 UNITY_UINT64 p3[] = {1, 500, 600, 700};
6432
6433 TEST_ASSERT_EQUAL_UINT64_ARRAY(p0, p0, 1);
6434 TEST_ASSERT_EQUAL_UINT64_ARRAY(p0, p0, 4);
6435 TEST_ASSERT_EQUAL_UINT64_ARRAY(p0, p1, 4);
6436 TEST_ASSERT_EQUAL_UINT64_ARRAY(p0, p2, 3);
6437 TEST_ASSERT_EQUAL_UINT64_ARRAY(p0, p3, 1);
6438 #endif
6439 }
6440
testEqualInt64Arrays(void)6441 void testEqualInt64Arrays(void)
6442 {
6443 #ifndef UNITY_SUPPORT_64
6444 TEST_IGNORE();
6445 #else
6446 UNITY_INT64 p0[] = {1, 8, 987, -65132};
6447 UNITY_INT64 p1[] = {1, 8, 987, -65132};
6448 UNITY_INT64 p2[] = {1, 8, 987, -2};
6449 UNITY_INT64 p3[] = {1, 500, 600, 700};
6450
6451 TEST_ASSERT_EQUAL_INT64_ARRAY(p0, p0, 1);
6452 TEST_ASSERT_EQUAL_INT64_ARRAY(p0, p0, 4);
6453 TEST_ASSERT_EQUAL_INT64_ARRAY(p0, p1, 4);
6454 TEST_ASSERT_EQUAL_INT64_ARRAY(p0, p2, 3);
6455 TEST_ASSERT_EQUAL_INT64_ARRAY(p0, p3, 1);
6456 #endif
6457 }
6458
6459
testNotEqualHEX64Arrays1(void)6460 void testNotEqualHEX64Arrays1(void)
6461 {
6462 #ifndef UNITY_SUPPORT_64
6463 TEST_IGNORE();
6464 #else
6465 UNITY_UINT64 p0[] = {1, 8, 987, 65132u};
6466 UNITY_UINT64 p1[] = {1, 8, 987, 65131u};
6467
6468 EXPECT_ABORT_BEGIN
6469 TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p1, 4);
6470 VERIFY_FAILS_END
6471 #endif
6472 }
6473
testNotEqualHEX64Arrays2(void)6474 void testNotEqualHEX64Arrays2(void)
6475 {
6476 #ifndef UNITY_SUPPORT_64
6477 TEST_IGNORE();
6478 #else
6479 UNITY_UINT64 p0[] = {1, 8, 987, 65132u};
6480 UNITY_UINT64 p1[] = {2, 8, 987, 65132u};
6481
6482 EXPECT_ABORT_BEGIN
6483 TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p1, 4);
6484 VERIFY_FAILS_END
6485 #endif
6486 }
6487
testNotEqualUint64Arrays(void)6488 void testNotEqualUint64Arrays(void)
6489 {
6490 #ifndef UNITY_SUPPORT_64
6491 TEST_IGNORE();
6492 #else
6493 UNITY_UINT64 p0[] = {1, 8, 987, 65132u};
6494 UNITY_UINT64 p1[] = {1, 8, 987, 65131u};
6495
6496 EXPECT_ABORT_BEGIN
6497 TEST_ASSERT_EQUAL_UINT64_ARRAY(p0, p1, 4);
6498 VERIFY_FAILS_END
6499 #endif
6500 }
6501
testNotEqualInt64Arrays(void)6502 void testNotEqualInt64Arrays(void)
6503 {
6504 #ifndef UNITY_SUPPORT_64
6505 TEST_IGNORE();
6506 #else
6507 UNITY_INT64 p0[] = {1, 8, 987, -65132};
6508 UNITY_INT64 p1[] = {1, 8, 987, -65131};
6509
6510 EXPECT_ABORT_BEGIN
6511 TEST_ASSERT_EQUAL_INT64_ARRAY(p0, p1, 4);
6512 VERIFY_FAILS_END
6513 #endif
6514 }
6515
6516 /* ===================== THESE TEST WILL RUN IF YOUR CONFIG INCLUDES FLOAT SUPPORT ================== */
6517
testFloatsWithinDelta(void)6518 void testFloatsWithinDelta(void)
6519 {
6520 #ifdef UNITY_EXCLUDE_FLOAT
6521 TEST_IGNORE();
6522 #else
6523 TEST_ASSERT_FLOAT_WITHIN(0.00003f, 187245.03485f, 187245.03488f);
6524 TEST_ASSERT_FLOAT_WITHIN(1.0f, 187245.0f, 187246.0f);
6525 TEST_ASSERT_FLOAT_WITHIN(0.05f, 9273.2549f, 9273.2049f);
6526 TEST_ASSERT_FLOAT_WITHIN(0.007f, -726.93724f, -726.94424f);
6527 #endif
6528 }
6529
testFloatsNotWithinDelta(void)6530 void testFloatsNotWithinDelta(void)
6531 {
6532 #ifdef UNITY_EXCLUDE_FLOAT
6533 TEST_IGNORE();
6534 #else
6535 EXPECT_ABORT_BEGIN
6536 TEST_ASSERT_FLOAT_WITHIN(0.05f, 9273.2649f, 9273.2049f);
6537 VERIFY_FAILS_END
6538 #endif
6539 }
6540
testFloatsEqual(void)6541 void testFloatsEqual(void)
6542 {
6543 #ifdef UNITY_EXCLUDE_FLOAT
6544 TEST_IGNORE();
6545 #else
6546 TEST_ASSERT_EQUAL_FLOAT(187245.0f, 187246.0f);
6547 TEST_ASSERT_EQUAL_FLOAT(18724.5f, 18724.6f);
6548 TEST_ASSERT_EQUAL_FLOAT(9273.2549f, 9273.2599f);
6549 TEST_ASSERT_EQUAL_FLOAT(-726.93724f, -726.9374f);
6550 #endif
6551 }
6552
testFloatsNotEqual(void)6553 void testFloatsNotEqual(void)
6554 {
6555 #ifdef UNITY_EXCLUDE_FLOAT
6556 TEST_IGNORE();
6557 #else
6558 EXPECT_ABORT_BEGIN
6559 TEST_ASSERT_EQUAL_FLOAT(9273.9649f, 9273.0049f);
6560 VERIFY_FAILS_END
6561 #endif
6562 }
6563
testFloatsNotEqualNegative1(void)6564 void testFloatsNotEqualNegative1(void)
6565 {
6566 #ifdef UNITY_EXCLUDE_FLOAT
6567 TEST_IGNORE();
6568 #else
6569 EXPECT_ABORT_BEGIN
6570 TEST_ASSERT_EQUAL_FLOAT(-9273.9649f, -9273.0049f);
6571 VERIFY_FAILS_END
6572 #endif
6573 }
6574
testFloatsNotEqualNegative2(void)6575 void testFloatsNotEqualNegative2(void)
6576 {
6577 #ifdef UNITY_EXCLUDE_FLOAT
6578 TEST_IGNORE();
6579 #else
6580 EXPECT_ABORT_BEGIN
6581 TEST_ASSERT_EQUAL_FLOAT(-9273.0049f, -9273.9649f);
6582 VERIFY_FAILS_END
6583 #endif
6584 }
6585
testFloatsNotEqualActualNaN(void)6586 void testFloatsNotEqualActualNaN(void)
6587 {
6588 #ifdef UNITY_EXCLUDE_FLOAT
6589 TEST_IGNORE();
6590 #else
6591 EXPECT_ABORT_BEGIN
6592 TEST_ASSERT_EQUAL_FLOAT(85.963f, 0.0f / f_zero);
6593 VERIFY_FAILS_END
6594 #endif
6595 }
6596
testFloatsNotEqualExpectedNaN(void)6597 void testFloatsNotEqualExpectedNaN(void)
6598 {
6599 #ifdef UNITY_EXCLUDE_FLOAT
6600 TEST_IGNORE();
6601 #else
6602 EXPECT_ABORT_BEGIN
6603 TEST_ASSERT_EQUAL_FLOAT(0.0f / f_zero, 85.963f);
6604 VERIFY_FAILS_END
6605 #endif
6606 }
6607
testFloatsEqualBothNaN(void)6608 void testFloatsEqualBothNaN(void)
6609 {
6610 #ifdef UNITY_EXCLUDE_FLOAT
6611 TEST_IGNORE();
6612 #else
6613 TEST_ASSERT_EQUAL_FLOAT(0.0f / f_zero, 0.0f / f_zero);
6614 #endif
6615 }
6616
testFloatsNotEqualInfNaN(void)6617 void testFloatsNotEqualInfNaN(void)
6618 {
6619 #ifdef UNITY_EXCLUDE_FLOAT
6620 TEST_IGNORE();
6621 #else
6622 EXPECT_ABORT_BEGIN
6623 TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, 0.0f / f_zero);
6624 VERIFY_FAILS_END
6625 #endif
6626 }
6627
testFloatsNotEqualNaNInf(void)6628 void testFloatsNotEqualNaNInf(void)
6629 {
6630 #ifdef UNITY_EXCLUDE_FLOAT
6631 TEST_IGNORE();
6632 #else
6633 EXPECT_ABORT_BEGIN
6634 TEST_ASSERT_EQUAL_FLOAT(0.0f / f_zero, 1.0f / f_zero);
6635 VERIFY_FAILS_END
6636 #endif
6637 }
6638
testFloatsNotEqualActualInf(void)6639 void testFloatsNotEqualActualInf(void)
6640 {
6641 #ifdef UNITY_EXCLUDE_FLOAT
6642 TEST_IGNORE();
6643 #else
6644 EXPECT_ABORT_BEGIN
6645 TEST_ASSERT_EQUAL_FLOAT(321.642f, 1.0f / f_zero);
6646 VERIFY_FAILS_END
6647 #endif
6648 }
6649
testFloatsNotEqualExpectedInf(void)6650 void testFloatsNotEqualExpectedInf(void)
6651 {
6652 #ifdef UNITY_EXCLUDE_FLOAT
6653 TEST_IGNORE();
6654 #else
6655 EXPECT_ABORT_BEGIN
6656 TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, 321.642f);
6657 VERIFY_FAILS_END
6658 #endif
6659 }
6660
testFloatsEqualBothInf(void)6661 void testFloatsEqualBothInf(void)
6662 {
6663 #ifdef UNITY_EXCLUDE_FLOAT
6664 TEST_IGNORE();
6665 #else
6666 TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, 1.0f / f_zero);
6667 #endif
6668 }
6669
testFloatsNotEqualPlusMinusInf(void)6670 void testFloatsNotEqualPlusMinusInf(void)
6671 {
6672 #ifdef UNITY_EXCLUDE_FLOAT
6673 TEST_IGNORE();
6674 #else
6675 EXPECT_ABORT_BEGIN
6676 TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, -1.0f / f_zero);
6677 VERIFY_FAILS_END
6678 #endif
6679 }
6680
testFloatIsPosInf1(void)6681 void testFloatIsPosInf1(void)
6682 {
6683 #ifdef UNITY_EXCLUDE_FLOAT
6684 TEST_IGNORE();
6685 #else
6686 TEST_ASSERT_FLOAT_IS_INF(2.0f / f_zero);
6687 #endif
6688 }
6689
testFloatIsPosInf2(void)6690 void testFloatIsPosInf2(void)
6691 {
6692 #ifdef UNITY_EXCLUDE_FLOAT
6693 TEST_IGNORE();
6694 #else
6695 EXPECT_ABORT_BEGIN
6696 TEST_ASSERT_FLOAT_IS_NOT_INF(2.0f / f_zero);
6697 VERIFY_FAILS_END
6698 #endif
6699 }
6700
testFloatIsNegInf1(void)6701 void testFloatIsNegInf1(void)
6702 {
6703 #ifdef UNITY_EXCLUDE_FLOAT
6704 TEST_IGNORE();
6705 #else
6706 TEST_ASSERT_FLOAT_IS_NEG_INF(-3.0f / f_zero);
6707 #endif
6708 }
6709
testFloatIsNegInf2(void)6710 void testFloatIsNegInf2(void)
6711 {
6712 #ifdef UNITY_EXCLUDE_FLOAT
6713 TEST_IGNORE();
6714 #else
6715 EXPECT_ABORT_BEGIN
6716 TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(-3.0f / f_zero);
6717 VERIFY_FAILS_END
6718 #endif
6719 }
6720
testFloatIsNotPosInf1(void)6721 void testFloatIsNotPosInf1(void)
6722 {
6723 #ifdef UNITY_EXCLUDE_FLOAT
6724 TEST_IGNORE();
6725 #else
6726 EXPECT_ABORT_BEGIN
6727 TEST_ASSERT_FLOAT_IS_INF(2.0f);
6728 VERIFY_FAILS_END
6729 #endif
6730 }
6731
testFloatIsNotPosInf2(void)6732 void testFloatIsNotPosInf2(void)
6733 {
6734 #ifdef UNITY_EXCLUDE_FLOAT
6735 TEST_IGNORE();
6736 #else
6737 TEST_ASSERT_FLOAT_IS_NOT_INF(2.0f);
6738 #endif
6739 }
6740
testFloatIsNotNegInf(void)6741 void testFloatIsNotNegInf(void)
6742 {
6743 #ifdef UNITY_EXCLUDE_FLOAT
6744 TEST_IGNORE();
6745 #else
6746 EXPECT_ABORT_BEGIN
6747 TEST_ASSERT_FLOAT_IS_NEG_INF(-999.876f);
6748 VERIFY_FAILS_END
6749 #endif
6750 }
6751
testFloatIsNan1(void)6752 void testFloatIsNan1(void)
6753 {
6754 #ifdef UNITY_EXCLUDE_FLOAT
6755 TEST_IGNORE();
6756 #else
6757 TEST_ASSERT_FLOAT_IS_NAN(0.0f / f_zero);
6758 #endif
6759 }
6760
testFloatIsNan2(void)6761 void testFloatIsNan2(void)
6762 {
6763 #ifdef UNITY_EXCLUDE_FLOAT
6764 TEST_IGNORE();
6765 #else
6766 EXPECT_ABORT_BEGIN
6767 TEST_ASSERT_FLOAT_IS_NOT_NAN(0.0f / f_zero);
6768 VERIFY_FAILS_END
6769 #endif
6770 }
6771
testFloatIsNotNan1(void)6772 void testFloatIsNotNan1(void)
6773 {
6774 #ifdef UNITY_EXCLUDE_FLOAT
6775 TEST_IGNORE();
6776 #else
6777 EXPECT_ABORT_BEGIN
6778 TEST_ASSERT_FLOAT_IS_NAN(234.9f);
6779 VERIFY_FAILS_END
6780 #endif
6781 }
6782
testFloatIsNotNan2(void)6783 void testFloatIsNotNan2(void)
6784 {
6785 #ifdef UNITY_EXCLUDE_FLOAT
6786 TEST_IGNORE();
6787 #else
6788 TEST_ASSERT_FLOAT_IS_NOT_NAN(234.9f);
6789 #endif
6790 }
6791
testFloatInfIsNotNan(void)6792 void testFloatInfIsNotNan(void)
6793 {
6794 #ifdef UNITY_EXCLUDE_FLOAT
6795 TEST_IGNORE();
6796 #else
6797 EXPECT_ABORT_BEGIN
6798 TEST_ASSERT_FLOAT_IS_NAN(1.0f / f_zero);
6799 VERIFY_FAILS_END
6800 #endif
6801 }
6802
testFloatNanIsNotInf(void)6803 void testFloatNanIsNotInf(void)
6804 {
6805 #ifdef UNITY_EXCLUDE_FLOAT
6806 TEST_IGNORE();
6807 #else
6808 EXPECT_ABORT_BEGIN
6809 TEST_ASSERT_FLOAT_IS_INF(0.0f / f_zero);
6810 VERIFY_FAILS_END
6811 #endif
6812 }
6813
testFloatIsDeterminate1(void)6814 void testFloatIsDeterminate1(void)
6815 {
6816 #ifdef UNITY_EXCLUDE_FLOAT
6817 TEST_IGNORE();
6818 #else
6819 TEST_ASSERT_FLOAT_IS_DETERMINATE(0.0f);
6820 TEST_ASSERT_FLOAT_IS_DETERMINATE(123.3f);
6821 TEST_ASSERT_FLOAT_IS_DETERMINATE(-88.3f);
6822 #endif
6823 }
6824
testFloatIsDeterminate2(void)6825 void testFloatIsDeterminate2(void)
6826 {
6827 #ifdef UNITY_EXCLUDE_FLOAT
6828 TEST_IGNORE();
6829 #else
6830 EXPECT_ABORT_BEGIN
6831 TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(-88.3f);
6832 VERIFY_FAILS_END
6833 #endif
6834 }
6835
testFloatIsNotDeterminate1(void)6836 void testFloatIsNotDeterminate1(void)
6837 {
6838 #ifdef UNITY_EXCLUDE_FLOAT
6839 TEST_IGNORE();
6840 #else
6841 TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(1.0f / f_zero);
6842 TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(-1.0f / f_zero);
6843 TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(0.0f / f_zero);
6844 #endif
6845 }
6846
testFloatIsNotDeterminate2(void)6847 void testFloatIsNotDeterminate2(void)
6848 {
6849 #ifdef UNITY_EXCLUDE_FLOAT
6850 TEST_IGNORE();
6851 #else
6852 EXPECT_ABORT_BEGIN
6853 TEST_ASSERT_FLOAT_IS_DETERMINATE(-1.0f / f_zero);
6854 VERIFY_FAILS_END
6855 #endif
6856 }
6857
testFloatTraitFailsOnInvalidTrait(void)6858 void testFloatTraitFailsOnInvalidTrait(void)
6859 {
6860 #ifdef UNITY_EXCLUDE_FLOAT
6861 TEST_IGNORE();
6862 #else
6863 EXPECT_ABORT_BEGIN
6864 UnityAssertFloatSpecial(1.0f, NULL, __LINE__, UNITY_FLOAT_INVALID_TRAIT);
6865 VERIFY_FAILS_END
6866 #endif
6867 }
6868
6869
testEqualFloatArrays(void)6870 void testEqualFloatArrays(void)
6871 {
6872 #ifdef UNITY_EXCLUDE_FLOAT
6873 TEST_IGNORE();
6874 #else
6875 float p0[] = {1.0f, -8.0f, 25.4f, -0.123f};
6876 float p1[] = {1.0f, -8.0f, 25.4f, -0.123f};
6877 float p2[] = {1.0f, -8.0f, 25.4f, -0.2f};
6878 float p3[] = {1.0f, -23.0f, 25.0f, -0.26f};
6879
6880 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p0, 1);
6881 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p0, 4);
6882 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
6883 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p2, 3);
6884 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p3, 1);
6885 TEST_ASSERT_EQUAL_FLOAT_ARRAY(NULL, NULL, 1);
6886 #endif
6887 }
6888
testNotEqualFloatArraysExpectedNull(void)6889 void testNotEqualFloatArraysExpectedNull(void)
6890 {
6891 #ifdef UNITY_EXCLUDE_FLOAT
6892 TEST_IGNORE();
6893 #else
6894 float* p0 = NULL;
6895 float p1[] = {1.0f, 8.0f, 25.4f, 0.252f};
6896
6897 EXPECT_ABORT_BEGIN
6898 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
6899 VERIFY_FAILS_END
6900 #endif
6901 }
6902
testNotEqualFloatArraysActualNull(void)6903 void testNotEqualFloatArraysActualNull(void)
6904 {
6905 #ifdef UNITY_EXCLUDE_FLOAT
6906 TEST_IGNORE();
6907 #else
6908 float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
6909 float* p1 = NULL;
6910
6911 EXPECT_ABORT_BEGIN
6912 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
6913 VERIFY_FAILS_END
6914 #endif
6915 }
6916
testNotEqualFloatArrays1(void)6917 void testNotEqualFloatArrays1(void)
6918 {
6919 #ifdef UNITY_EXCLUDE_FLOAT
6920 TEST_IGNORE();
6921 #else
6922 float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
6923 float p1[] = {1.0f, 8.0f, 25.4f, 0.252f};
6924
6925 EXPECT_ABORT_BEGIN
6926 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
6927 VERIFY_FAILS_END
6928 #endif
6929 }
6930
testNotEqualFloatArrays2(void)6931 void testNotEqualFloatArrays2(void)
6932 {
6933 #ifdef UNITY_EXCLUDE_FLOAT
6934 TEST_IGNORE();
6935 #else
6936 float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
6937 float p1[] = {2.0f, 8.0f, 25.4f, 0.253f};
6938
6939 EXPECT_ABORT_BEGIN
6940 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
6941 VERIFY_FAILS_END
6942 #endif
6943 }
6944
testNotEqualFloatArrays3(void)6945 void testNotEqualFloatArrays3(void)
6946 {
6947 #ifdef UNITY_EXCLUDE_FLOAT
6948 TEST_IGNORE();
6949 #else
6950 float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
6951 float p1[] = {1.0f, 8.0f, 25.5f, 0.253f};
6952
6953 EXPECT_ABORT_BEGIN
6954 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
6955 VERIFY_FAILS_END
6956 #endif
6957 }
6958
testNotEqualFloatArraysNegative1(void)6959 void testNotEqualFloatArraysNegative1(void)
6960 {
6961 #ifdef UNITY_EXCLUDE_FLOAT
6962 TEST_IGNORE();
6963 #else
6964 float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
6965 float p1[] = {-1.0f, -8.0f, -25.4f, -0.252f};
6966
6967 EXPECT_ABORT_BEGIN
6968 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
6969 VERIFY_FAILS_END
6970 #endif
6971 }
6972
testNotEqualFloatArraysNegative2(void)6973 void testNotEqualFloatArraysNegative2(void)
6974 {
6975 #ifdef UNITY_EXCLUDE_FLOAT
6976 TEST_IGNORE();
6977 #else
6978 float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
6979 float p1[] = {-2.0f, -8.0f, -25.4f, -0.253f};
6980
6981 EXPECT_ABORT_BEGIN
6982 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
6983 VERIFY_FAILS_END
6984 #endif
6985 }
6986
testNotEqualFloatArraysNegative3(void)6987 void testNotEqualFloatArraysNegative3(void)
6988 {
6989 #ifdef UNITY_EXCLUDE_FLOAT
6990 TEST_IGNORE();
6991 #else
6992 float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
6993 float p1[] = {-1.0f, -8.0f, -25.5f, -0.253f};
6994
6995 EXPECT_ABORT_BEGIN
6996 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
6997 VERIFY_FAILS_END
6998 #endif
6999 }
7000
testEqualFloatArraysNaN(void)7001 void testEqualFloatArraysNaN(void)
7002 {
7003 #ifdef UNITY_EXCLUDE_FLOAT
7004 TEST_IGNORE();
7005 #else
7006 float p0[] = {1.0f, 0.0f / f_zero, 25.4f, 0.253f};
7007 float p1[] = {1.0f, 0.0f / f_zero, 25.4f, 0.253f};
7008
7009 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
7010 #endif
7011 }
7012
testEqualFloatArraysInf(void)7013 void testEqualFloatArraysInf(void)
7014 {
7015 #ifdef UNITY_EXCLUDE_FLOAT
7016 TEST_IGNORE();
7017 #else
7018 float p0[] = {1.0f, 1.0f / f_zero, 25.4f, 0.253f};
7019 float p1[] = {1.0f, 1.0f / f_zero, 25.4f, 0.253f};
7020
7021 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
7022 #endif
7023 }
7024
testNotEqualFloatArraysLengthZero(void)7025 void testNotEqualFloatArraysLengthZero(void)
7026 {
7027 #ifdef UNITY_EXCLUDE_FLOAT
7028 TEST_IGNORE();
7029 #else
7030 float p0[1] = {0.0f};
7031 float p1[1] = {0.0f};
7032
7033 EXPECT_ABORT_BEGIN
7034 TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 0);
7035 VERIFY_FAILS_END
7036 #endif
7037 }
7038
testEqualFloatEachEqual(void)7039 void testEqualFloatEachEqual(void)
7040 {
7041 #ifdef UNITY_EXCLUDE_FLOAT
7042 TEST_IGNORE();
7043 #else
7044 float p0[] = {1.0f, 1.0f, 1.0f, 1.0f};
7045 float p1[] = {-0.123f, -0.123f, -0.123f, -0.123f};
7046 float p2[] = {25.4f, 25.4f, 25.4f, -0.2f};
7047 float p3[] = {1.0f, -23.0f, 25.0f, -0.26f};
7048
7049 TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p0, 1);
7050 TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p0, 4);
7051 TEST_ASSERT_EACH_EQUAL_FLOAT(-0.123f, p1, 4);
7052 TEST_ASSERT_EACH_EQUAL_FLOAT(25.4f, p2, 3);
7053 TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p3, 1);
7054 #endif
7055 }
7056
testNotEqualFloatEachEqualActualNull(void)7057 void testNotEqualFloatEachEqualActualNull(void)
7058 {
7059 #ifdef UNITY_EXCLUDE_FLOAT
7060 TEST_IGNORE();
7061 #else
7062 float* p0 = NULL;
7063
7064 EXPECT_ABORT_BEGIN
7065 TEST_ASSERT_EACH_EQUAL_FLOAT(5, p0, 4);
7066 VERIFY_FAILS_END
7067 #endif
7068 }
7069
testNotEqualFloatEachEqual1(void)7070 void testNotEqualFloatEachEqual1(void)
7071 {
7072 #ifdef UNITY_EXCLUDE_FLOAT
7073 TEST_IGNORE();
7074 #else
7075 float p0[] = {0.253f, 8.0f, 0.253f, 0.253f};
7076
7077 EXPECT_ABORT_BEGIN
7078 TEST_ASSERT_EACH_EQUAL_FLOAT(0.253f, p0, 4);
7079 VERIFY_FAILS_END
7080 #endif
7081 }
7082
testNotEqualFloatEachEqual2(void)7083 void testNotEqualFloatEachEqual2(void)
7084 {
7085 #ifdef UNITY_EXCLUDE_FLOAT
7086 TEST_IGNORE();
7087 #else
7088 float p0[] = {8.0f, 8.0f, 8.0f, 0.253f};
7089
7090 EXPECT_ABORT_BEGIN
7091 TEST_ASSERT_EACH_EQUAL_FLOAT(8.0f, p0, 4);
7092 VERIFY_FAILS_END
7093 #endif
7094 }
7095
testNotEqualFloatEachEqual3(void)7096 void testNotEqualFloatEachEqual3(void)
7097 {
7098 #ifdef UNITY_EXCLUDE_FLOAT
7099 TEST_IGNORE();
7100 #else
7101 float p0[] = {1.0f, 1.0f, 1.0f, 0.253f};
7102
7103 EXPECT_ABORT_BEGIN
7104 TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p0, 4);
7105 VERIFY_FAILS_END
7106 #endif
7107 }
7108
testNotEqualFloatEachEqualNegative1(void)7109 void testNotEqualFloatEachEqualNegative1(void)
7110 {
7111 #ifdef UNITY_EXCLUDE_FLOAT
7112 TEST_IGNORE();
7113 #else
7114 float p0[] = {-1.0f, -0.253f, -0.253f, -0.253f};
7115
7116 EXPECT_ABORT_BEGIN
7117 TEST_ASSERT_EACH_EQUAL_FLOAT(-0.253f, p0, 4);
7118 VERIFY_FAILS_END
7119 #endif
7120 }
7121
testNotEqualFloatEachEqualNegative2(void)7122 void testNotEqualFloatEachEqualNegative2(void)
7123 {
7124 #ifdef UNITY_EXCLUDE_FLOAT
7125 TEST_IGNORE();
7126 #else
7127 float p0[] = {-25.4f, -8.0f, -25.4f, -25.4f};
7128
7129 EXPECT_ABORT_BEGIN
7130 TEST_ASSERT_EACH_EQUAL_FLOAT(-25.4f, p0, 4);
7131 VERIFY_FAILS_END
7132 #endif
7133 }
7134
testNotEqualFloatEachEqualNegative3(void)7135 void testNotEqualFloatEachEqualNegative3(void)
7136 {
7137 #ifdef UNITY_EXCLUDE_FLOAT
7138 TEST_IGNORE();
7139 #else
7140 float p0[] = {-8.0f, -8.0f, -8.0f, -0.253f};
7141
7142 EXPECT_ABORT_BEGIN
7143 TEST_ASSERT_EACH_EQUAL_FLOAT(-8.0f, p0, 4);
7144 VERIFY_FAILS_END
7145 #endif
7146 }
7147
testEqualFloatEachEqualNaN(void)7148 void testEqualFloatEachEqualNaN(void)
7149 {
7150 #ifdef UNITY_EXCLUDE_FLOAT
7151 TEST_IGNORE();
7152 #else
7153 float p0[] = {0.0f / f_zero, 0.0f / f_zero, 0.0f / f_zero, 0.0f / f_zero};
7154
7155 TEST_ASSERT_EACH_EQUAL_FLOAT(0.0f / f_zero, p0, 4);
7156 #endif
7157 }
7158
testEqualFloatEachEqualInf(void)7159 void testEqualFloatEachEqualInf(void)
7160 {
7161 #ifdef UNITY_EXCLUDE_FLOAT
7162 TEST_IGNORE();
7163 #else
7164 float p0[] = {1.0f / f_zero, 1.0f / f_zero, 25.4f, 0.253f};
7165
7166 TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f / f_zero, p0, 2);
7167 #endif
7168 }
7169
testNotEqualFloatEachEqualLengthZero(void)7170 void testNotEqualFloatEachEqualLengthZero(void)
7171 {
7172 #ifdef UNITY_EXCLUDE_FLOAT
7173 TEST_IGNORE();
7174 #else
7175 float p0[1] = {0.0f};
7176
7177 EXPECT_ABORT_BEGIN
7178 TEST_ASSERT_EACH_EQUAL_FLOAT(0.0f, p0, 0);
7179 VERIFY_FAILS_END
7180 #endif
7181 }
7182
7183 #define TEST_ASSERT_EQUAL_PRINT_FLOATING(expected, actual) { \
7184 startPutcharSpy(); UnityPrintFloat((actual)); endPutcharSpy(); \
7185 TEST_ASSERT_EQUAL_STRING((expected), getBufferPutcharSpy()); \
7186 }
7187
testFloatPrinting(void)7188 void testFloatPrinting(void)
7189 {
7190 #if defined(UNITY_EXCLUDE_FLOAT_PRINT) || defined(UNITY_INCLUDE_DOUBLE) || !defined(USING_OUTPUT_SPY)
7191 TEST_IGNORE();
7192 #else
7193 TEST_ASSERT_EQUAL_PRINT_FLOATING("0", 0.0f);
7194 TEST_ASSERT_EQUAL_PRINT_FLOATING("4.99e-07", 0.000000499f);
7195 TEST_ASSERT_EQUAL_PRINT_FLOATING("0.1004695", 0.100469499f);
7196 TEST_ASSERT_EQUAL_PRINT_FLOATING("2", 1.9999995f); /*Rounding to int place*/
7197 TEST_ASSERT_EQUAL_PRINT_FLOATING("1", 1.0f);
7198 TEST_ASSERT_EQUAL_PRINT_FLOATING("1.25", 1.25f);
7199 TEST_ASSERT_EQUAL_PRINT_FLOATING("7.999999", 7.999999f); /*Not rounding*/
7200 TEST_ASSERT_EQUAL_PRINT_FLOATING("16.00002", 16.00002f);
7201 TEST_ASSERT_EQUAL_PRINT_FLOATING("16.00004", 16.00004f);
7202 TEST_ASSERT_EQUAL_PRINT_FLOATING("16.00006", 16.00006f);
7203 TEST_ASSERT_EQUAL_PRINT_FLOATING("9999999", 9999999.0f); /*Last full print integer*/
7204
7205 TEST_ASSERT_EQUAL_PRINT_FLOATING("-0", -0.0f);
7206 TEST_ASSERT_EQUAL_PRINT_FLOATING("-4.99e-07", -0.000000499f);
7207 TEST_ASSERT_EQUAL_PRINT_FLOATING("-0.1004695", -0.100469499f);
7208 TEST_ASSERT_EQUAL_PRINT_FLOATING("-2", -1.9999995f); /*Rounding to int place*/
7209 TEST_ASSERT_EQUAL_PRINT_FLOATING("-1", -1.0f);
7210 TEST_ASSERT_EQUAL_PRINT_FLOATING("-1.25", -1.25f);
7211 TEST_ASSERT_EQUAL_PRINT_FLOATING("-7.999999", -7.999999f); /*Not rounding*/
7212 TEST_ASSERT_EQUAL_PRINT_FLOATING("-16.00002", -16.00002f);
7213 TEST_ASSERT_EQUAL_PRINT_FLOATING("-16.00004", -16.00004f);
7214 TEST_ASSERT_EQUAL_PRINT_FLOATING("-16.00006", -16.00006f);
7215 TEST_ASSERT_EQUAL_PRINT_FLOATING("-9999999", -9999999.0f); /*Last full print integer*/
7216
7217 /* Fails, prints "4.294968e+09" due to FP math imprecision
7218 * TEST_ASSERT_EQUAL_PRINT_FLOATING("4.294967e+09", 4294967296.0f); */
7219 TEST_ASSERT_EQUAL_PRINT_FLOATING("5e+09", 5000000000.0f);
7220 TEST_ASSERT_EQUAL_PRINT_FLOATING("8e+09", 8.0e+09f);
7221 TEST_ASSERT_EQUAL_PRINT_FLOATING("8.309999e+09", 8309999104.0f);
7222 TEST_ASSERT_EQUAL_PRINT_FLOATING("1e+10", 1.0e+10f);
7223 TEST_ASSERT_EQUAL_PRINT_FLOATING("1e+10", 10000000000.0f);
7224 /* Some compilers have trouble with inexact float constants, a float cast works generally */
7225 TEST_ASSERT_EQUAL_PRINT_FLOATING("1.000055e+10", (float)1.000055e+10f);
7226 TEST_ASSERT_EQUAL_PRINT_FLOATING("1.1e+38", (float)1.10000005e+38f);
7227 TEST_ASSERT_EQUAL_PRINT_FLOATING("1.635299e+10", 1.63529943e+10f);
7228 /* Fails, prints "3.402824e+38" due to FP math imprecision
7229 * TEST_ASSERT_EQUAL_PRINT_FLOATING("3.402823e+38", 3.40282346638e38f); */
7230
7231 TEST_ASSERT_EQUAL_PRINT_FLOATING("-1e+10", -1.0e+10f);
7232 /* Fails, prints "-3.402824e+38" due to FP math imprecision
7233 * TEST_ASSERT_EQUAL_PRINT_FLOATING("-3.402823e+38", -3.40282346638e38f); */
7234 #endif
7235 }
7236
testFloatPrintingRoundTiesToEven(void)7237 void testFloatPrintingRoundTiesToEven(void)
7238 {
7239 #if defined(UNITY_EXCLUDE_FLOAT_PRINT) || defined(UNITY_INCLUDE_DOUBLE) || !defined(USING_OUTPUT_SPY)
7240 TEST_IGNORE();
7241 #else
7242 #ifdef UNITY_ROUND_TIES_AWAY_FROM_ZERO
7243 TEST_ASSERT_EQUAL_PRINT_FLOATING("0.0004882813", 0.00048828125f);
7244 TEST_ASSERT_EQUAL_PRINT_FLOATING("488281.3", 488281.25f);
7245 TEST_ASSERT_EQUAL_PRINT_FLOATING("5.000001e-07", 0.00000050000005f);
7246 TEST_ASSERT_EQUAL_PRINT_FLOATING("-5.000001e-07", -0.00000050000005f);
7247 #else /* Default to Round ties to even */
7248 TEST_ASSERT_EQUAL_PRINT_FLOATING("0.0004882812", 0.00048828125f);
7249 TEST_ASSERT_EQUAL_PRINT_FLOATING("488281.2", 488281.25f);
7250 TEST_ASSERT_EQUAL_PRINT_FLOATING("5e-07", 0.00000050000005f);
7251 TEST_ASSERT_EQUAL_PRINT_FLOATING("-5e-07", -0.00000050000005f);
7252 #endif
7253 #endif
7254 }
7255
testFloatPrintingInfinityAndNaN(void)7256 void testFloatPrintingInfinityAndNaN(void)
7257 {
7258 #if defined(UNITY_EXCLUDE_FLOAT_PRINT) || !defined(USING_OUTPUT_SPY)
7259 TEST_IGNORE();
7260 #else
7261 TEST_ASSERT_EQUAL_PRINT_FLOATING("inf", 1.0f / f_zero);
7262 TEST_ASSERT_EQUAL_PRINT_FLOATING("-inf", -1.0f / f_zero);
7263
7264 TEST_ASSERT_EQUAL_PRINT_FLOATING("nan", 0.0f / f_zero);
7265 #endif
7266 }
7267
7268 #if defined(UNITY_TEST_ALL_FLOATS_PRINT_OK) && defined(USING_OUTPUT_SPY)
7269 #ifdef UNITY_INCLUDE_DOUBLE
printFloatValue(float f)7270 static void printFloatValue(float f)
7271 {
7272 char expected[18];
7273
7274 startPutcharSpy();
7275 UnityPrintFloat(f);
7276
7277 sprintf(expected, "%.9g", f);
7278 /* We print all NaN's as "nan", not "-nan" */
7279 if (strcmp(expected, "-nan") == 0) strcpy(expected, "nan");
7280
7281 if (strcmp(expected, getBufferPutcharSpy()))
7282 {
7283 /* Fail with diagnostic printing */
7284 TEST_ASSERT_EQUAL_PRINT_FLOATING(expected, f);
7285 }
7286 }
7287 #else
printFloatValue(float f)7288 static void printFloatValue(float f)
7289 {
7290 char expected[18];
7291 char expected_lower[18];
7292 char expected_lower2[18];
7293 char expected_lower3[18];
7294 char expected_higher[18];
7295 char expected_higher2[18];
7296 char expected_higher3[18];
7297
7298 startPutcharSpy();
7299 UnityPrintFloat(f);
7300
7301 sprintf(expected, "%.7g", f);
7302 /* We print all NaN's as "nan", not "-nan" */
7303 if (strcmp(expected, "-nan") == 0) strcpy(expected, "nan");
7304
7305 strcpy(expected_lower, expected);
7306 strcpy(expected_lower2, expected);
7307 strcpy(expected_lower3, expected);
7308 strcpy(expected_higher, expected);
7309 strcpy(expected_higher2, expected);
7310 strcpy(expected_higher3, expected);
7311
7312 /* Allow for rounding differences in the last digit */
7313 double lower = (double)f * 0.99999995;
7314 double higher = (double)f * 1.00000005;
7315
7316 if(isfinite(lower)) sprintf(expected_lower, "%.7g", lower);
7317 if(isfinite(higher)) sprintf(expected_higher, "%.7g", higher);
7318
7319 /* Outside [1,10000000] allow for relative error of +/-2.5e-7 */
7320 if (f < 1.0 || f > 10000000)
7321 {
7322 double lower2 = (double)f * 0.99999985;
7323 double lower3 = (double)f * 0.99999975;
7324 double higher2 = (double)f * 1.00000015;
7325 double higher3 = (double)f * 1.00000025;
7326
7327 if (isfinite(lower2)) sprintf(expected_lower2, "%.7g", lower2);
7328 if (isfinite(lower3)) sprintf(expected_lower3, "%.7g", lower3);
7329 if (isfinite(higher2)) sprintf(expected_higher2, "%.7g", higher2);
7330 if (isfinite(higher3)) sprintf(expected_higher3, "%.7g", higher3);
7331 }
7332
7333 if (strcmp(expected, getBufferPutcharSpy()) != 0 &&
7334 strcmp(expected_lower, getBufferPutcharSpy()) != 0 &&
7335 strcmp(expected_lower2, getBufferPutcharSpy()) != 0 &&
7336 strcmp(expected_lower3, getBufferPutcharSpy()) != 0 &&
7337 strcmp(expected_higher, getBufferPutcharSpy()) != 0 &&
7338 strcmp(expected_higher2, getBufferPutcharSpy()) != 0 &&
7339 strcmp(expected_higher3, getBufferPutcharSpy()) != 0)
7340 {
7341 /* Fail with diagnostic printing */
7342 TEST_ASSERT_EQUAL_PRINT_FLOATING(expected, f);
7343 }
7344 }
7345 #endif
7346 #endif
7347
testFloatPrintingRandomSamples(void)7348 void testFloatPrintingRandomSamples(void)
7349 {
7350 #if !defined(UNITY_TEST_ALL_FLOATS_PRINT_OK) || !defined(USING_OUTPUT_SPY)
7351 TEST_IGNORE();
7352 #else
7353 union { float f_value; uint32_t int_value; } u;
7354
7355 /* These values are not covered by the MINSTD generator */
7356 u.int_value = 0x00000000; printFloatValue(u.f_value);
7357 u.int_value = 0x80000000; printFloatValue(u.f_value);
7358 u.int_value = 0x7fffffff; printFloatValue(u.f_value);
7359 u.int_value = 0xffffffff; printFloatValue(u.f_value);
7360
7361 uint32_t a = 1;
7362 for(int num_tested = 0; num_tested < 1000000; num_tested++)
7363 {
7364 /* MINSTD pseudo-random number generator */
7365 a = (uint32_t)(((uint64_t)a * 48271u) % 2147483647u);
7366
7367 /* MINSTD does not set the highest bit; test both possibilities */
7368 u.int_value = a; printFloatValue(u.f_value);
7369 u.int_value = a | 0x80000000; printFloatValue(u.f_value);
7370 }
7371 #endif
7372 }
7373
7374 /* ===================== THESE TEST WILL RUN IF YOUR CONFIG INCLUDES DOUBLE SUPPORT ================== */
7375
testDoublesWithinDelta(void)7376 void testDoublesWithinDelta(void)
7377 {
7378 #ifdef UNITY_EXCLUDE_DOUBLE
7379 TEST_IGNORE();
7380 #else
7381 TEST_ASSERT_DOUBLE_WITHIN(0.00003, 187245.03485, 187245.03488);
7382 TEST_ASSERT_DOUBLE_WITHIN(1.0, 187245.0, 187246.0);
7383 TEST_ASSERT_DOUBLE_WITHIN(0.05, 9273.2549, 9273.2049);
7384 TEST_ASSERT_DOUBLE_WITHIN(0.007, -726.93725, -726.94424);
7385 #endif
7386 }
7387
testDoublesNotWithinDelta(void)7388 void testDoublesNotWithinDelta(void)
7389 {
7390 #ifdef UNITY_EXCLUDE_DOUBLE
7391 TEST_IGNORE();
7392 #else
7393 EXPECT_ABORT_BEGIN
7394 TEST_ASSERT_DOUBLE_WITHIN(0.05, 9273.2649, 9273.2049);
7395 VERIFY_FAILS_END
7396 #endif
7397 }
7398
7399
testDoublesEqual(void)7400 void testDoublesEqual(void)
7401 {
7402 #ifdef UNITY_EXCLUDE_DOUBLE
7403 TEST_IGNORE();
7404 #else
7405 TEST_ASSERT_EQUAL_DOUBLE(187245123456.0, 187245123456.0);
7406 TEST_ASSERT_EQUAL_DOUBLE(187241234567.5, 187241234567.6);
7407 TEST_ASSERT_EQUAL_DOUBLE(9273.2512345649, 9273.25123455699);
7408 TEST_ASSERT_EQUAL_DOUBLE(-726.12345693724, -726.1234569374);
7409 #endif
7410 }
7411
testDoublesNotEqual(void)7412 void testDoublesNotEqual(void)
7413 {
7414 #ifdef UNITY_EXCLUDE_DOUBLE
7415 TEST_IGNORE();
7416 #else
7417 EXPECT_ABORT_BEGIN
7418 TEST_ASSERT_EQUAL_DOUBLE(9273.9649, 9273.0049);
7419 VERIFY_FAILS_END
7420 #endif
7421 }
7422
testDoublesNotEqualNegative1(void)7423 void testDoublesNotEqualNegative1(void)
7424 {
7425 #ifdef UNITY_EXCLUDE_DOUBLE
7426 TEST_IGNORE();
7427 #else
7428 EXPECT_ABORT_BEGIN
7429 TEST_ASSERT_EQUAL_DOUBLE(-9273.9649, -9273.0049);
7430 VERIFY_FAILS_END
7431 #endif
7432 }
7433
testDoublesNotEqualNegative2(void)7434 void testDoublesNotEqualNegative2(void)
7435 {
7436 #ifdef UNITY_EXCLUDE_DOUBLE
7437 TEST_IGNORE();
7438 #else
7439 EXPECT_ABORT_BEGIN
7440 TEST_ASSERT_EQUAL_DOUBLE(-9273.0049, -9273.9649);
7441 VERIFY_FAILS_END
7442 #endif
7443 }
7444
testDoublesNotEqualActualNaN(void)7445 void testDoublesNotEqualActualNaN(void)
7446 {
7447 #ifdef UNITY_EXCLUDE_DOUBLE
7448 TEST_IGNORE();
7449 #else
7450 EXPECT_ABORT_BEGIN
7451 TEST_ASSERT_EQUAL_DOUBLE(85.963, 0.0 / d_zero);
7452 VERIFY_FAILS_END
7453 #endif
7454 }
7455
testDoublesNotEqualExpectedNaN(void)7456 void testDoublesNotEqualExpectedNaN(void)
7457 {
7458 #ifdef UNITY_EXCLUDE_DOUBLE
7459 TEST_IGNORE();
7460 #else
7461 EXPECT_ABORT_BEGIN
7462 TEST_ASSERT_EQUAL_DOUBLE(0.0 / d_zero, 85.963);
7463 VERIFY_FAILS_END
7464 #endif
7465 }
7466
testDoublesEqualBothNaN(void)7467 void testDoublesEqualBothNaN(void)
7468 {
7469 #ifdef UNITY_EXCLUDE_DOUBLE
7470 TEST_IGNORE();
7471 #else
7472 TEST_ASSERT_EQUAL_DOUBLE(0.0 / d_zero, 0.0 / d_zero);
7473 #endif
7474 }
7475
testDoublesNotEqualInfNaN(void)7476 void testDoublesNotEqualInfNaN(void)
7477 {
7478 #ifdef UNITY_EXCLUDE_DOUBLE
7479 TEST_IGNORE();
7480 #else
7481 EXPECT_ABORT_BEGIN
7482 TEST_ASSERT_EQUAL_DOUBLE(1.0 / d_zero, 0.0 / d_zero);
7483 VERIFY_FAILS_END
7484 #endif
7485 }
7486
testDoublesNotEqualNaNInf(void)7487 void testDoublesNotEqualNaNInf(void)
7488 {
7489 #ifdef UNITY_EXCLUDE_DOUBLE
7490 TEST_IGNORE();
7491 #else
7492 EXPECT_ABORT_BEGIN
7493 TEST_ASSERT_EQUAL_DOUBLE(0.0 / d_zero, 1.0 / d_zero);
7494 VERIFY_FAILS_END
7495 #endif
7496 }
7497
testDoublesNotEqualActualInf(void)7498 void testDoublesNotEqualActualInf(void)
7499 {
7500 #ifdef UNITY_EXCLUDE_DOUBLE
7501 TEST_IGNORE();
7502 #else
7503 EXPECT_ABORT_BEGIN
7504 TEST_ASSERT_EQUAL_DOUBLE(321.642, 1.0 / d_zero);
7505 VERIFY_FAILS_END
7506 #endif
7507 }
7508
testDoublesNotEqualExpectedInf(void)7509 void testDoublesNotEqualExpectedInf(void)
7510 {
7511 #ifdef UNITY_EXCLUDE_DOUBLE
7512 TEST_IGNORE();
7513 #else
7514 EXPECT_ABORT_BEGIN
7515 TEST_ASSERT_EQUAL_DOUBLE(1.0 / d_zero, 321.642);
7516 VERIFY_FAILS_END
7517 #endif
7518 }
7519
testDoublesEqualBothInf(void)7520 void testDoublesEqualBothInf(void)
7521 {
7522 #ifdef UNITY_EXCLUDE_DOUBLE
7523 TEST_IGNORE();
7524 #else
7525 TEST_ASSERT_EQUAL_DOUBLE(1.0 / d_zero, 1.0 / d_zero);
7526 #endif
7527 }
7528
testDoublesNotEqualPlusMinusInf(void)7529 void testDoublesNotEqualPlusMinusInf(void)
7530 {
7531 #ifdef UNITY_EXCLUDE_DOUBLE
7532 TEST_IGNORE();
7533 #else
7534 EXPECT_ABORT_BEGIN
7535 TEST_ASSERT_EQUAL_DOUBLE(1.0 / d_zero, -1.0 / d_zero);
7536 VERIFY_FAILS_END
7537 #endif
7538 }
7539
testDoubleIsPosInf1(void)7540 void testDoubleIsPosInf1(void)
7541 {
7542 #ifdef UNITY_EXCLUDE_DOUBLE
7543 TEST_IGNORE();
7544 #else
7545 TEST_ASSERT_DOUBLE_IS_INF(2.0 / d_zero);
7546 #endif
7547 }
7548
testDoubleIsPosInf2(void)7549 void testDoubleIsPosInf2(void)
7550 {
7551 #ifdef UNITY_EXCLUDE_DOUBLE
7552 TEST_IGNORE();
7553 #else
7554 EXPECT_ABORT_BEGIN
7555 TEST_ASSERT_DOUBLE_IS_NOT_INF(2.0 / d_zero);
7556 VERIFY_FAILS_END
7557 #endif
7558 }
7559
testDoubleIsNegInf1(void)7560 void testDoubleIsNegInf1(void)
7561 {
7562 #ifdef UNITY_EXCLUDE_DOUBLE
7563 TEST_IGNORE();
7564 #else
7565 TEST_ASSERT_DOUBLE_IS_NEG_INF(-3.0 / d_zero);
7566 #endif
7567 }
7568
testDoubleIsNegInf2(void)7569 void testDoubleIsNegInf2(void)
7570 {
7571 #ifdef UNITY_EXCLUDE_DOUBLE
7572 TEST_IGNORE();
7573 #else
7574 EXPECT_ABORT_BEGIN
7575 TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(-3.0 / d_zero);
7576 VERIFY_FAILS_END
7577 #endif
7578 }
7579
testDoubleIsNotPosInf1(void)7580 void testDoubleIsNotPosInf1(void)
7581 {
7582 #ifdef UNITY_EXCLUDE_DOUBLE
7583 TEST_IGNORE();
7584 #else
7585 EXPECT_ABORT_BEGIN
7586 TEST_ASSERT_DOUBLE_IS_INF(2.0);
7587 VERIFY_FAILS_END
7588 #endif
7589 }
7590
testDoubleIsNotPosInf2(void)7591 void testDoubleIsNotPosInf2(void)
7592 {
7593 #ifdef UNITY_EXCLUDE_DOUBLE
7594 TEST_IGNORE();
7595 #else
7596 TEST_ASSERT_DOUBLE_IS_NOT_INF(2.0);
7597 #endif
7598 }
7599
testDoubleIsNotNegInf(void)7600 void testDoubleIsNotNegInf(void)
7601 {
7602 #ifdef UNITY_EXCLUDE_DOUBLE
7603 TEST_IGNORE();
7604 #else
7605 EXPECT_ABORT_BEGIN
7606 TEST_ASSERT_DOUBLE_IS_NEG_INF(-999.876);
7607 VERIFY_FAILS_END
7608 #endif
7609 }
7610
testDoubleIsNan1(void)7611 void testDoubleIsNan1(void)
7612 {
7613 #ifdef UNITY_EXCLUDE_DOUBLE
7614 TEST_IGNORE();
7615 #else
7616 TEST_ASSERT_DOUBLE_IS_NAN(0.0 / d_zero);
7617 #endif
7618 }
7619
testDoubleIsNan2(void)7620 void testDoubleIsNan2(void)
7621 {
7622 #ifdef UNITY_EXCLUDE_DOUBLE
7623 TEST_IGNORE();
7624 #else
7625 EXPECT_ABORT_BEGIN
7626 TEST_ASSERT_DOUBLE_IS_NOT_NAN(0.0 / d_zero);
7627 VERIFY_FAILS_END
7628 #endif
7629 }
7630
testDoubleIsNotNan1(void)7631 void testDoubleIsNotNan1(void)
7632 {
7633 #ifdef UNITY_EXCLUDE_DOUBLE
7634 TEST_IGNORE();
7635 #else
7636 EXPECT_ABORT_BEGIN
7637 TEST_ASSERT_DOUBLE_IS_NAN(234.9);
7638 VERIFY_FAILS_END
7639 #endif
7640 }
7641
testDoubleIsNotNan2(void)7642 void testDoubleIsNotNan2(void)
7643 {
7644 #ifdef UNITY_EXCLUDE_DOUBLE
7645 TEST_IGNORE();
7646 #else
7647 TEST_ASSERT_DOUBLE_IS_NOT_NAN(234.9);
7648 #endif
7649 }
7650
testDoubleInfIsNotNan(void)7651 void testDoubleInfIsNotNan(void)
7652 {
7653 #ifdef UNITY_EXCLUDE_DOUBLE
7654 TEST_IGNORE();
7655 #else
7656 EXPECT_ABORT_BEGIN
7657 TEST_ASSERT_DOUBLE_IS_NAN(1.0 / d_zero);
7658 VERIFY_FAILS_END
7659 #endif
7660 }
7661
testDoubleNanIsNotInf(void)7662 void testDoubleNanIsNotInf(void)
7663 {
7664 #ifdef UNITY_EXCLUDE_DOUBLE
7665 TEST_IGNORE();
7666 #else
7667 EXPECT_ABORT_BEGIN
7668 TEST_ASSERT_DOUBLE_IS_INF(0.0 / d_zero);
7669 VERIFY_FAILS_END
7670 #endif
7671 }
7672
testDoubleIsDeterminate1(void)7673 void testDoubleIsDeterminate1(void)
7674 {
7675 #ifdef UNITY_EXCLUDE_DOUBLE
7676 TEST_IGNORE();
7677 #else
7678 TEST_ASSERT_DOUBLE_IS_DETERMINATE(0.0);
7679 TEST_ASSERT_DOUBLE_IS_DETERMINATE(123.3);
7680 TEST_ASSERT_DOUBLE_IS_DETERMINATE(-88.3);
7681 #endif
7682 }
7683
testDoubleIsDeterminate2(void)7684 void testDoubleIsDeterminate2(void)
7685 {
7686 #ifdef UNITY_EXCLUDE_DOUBLE
7687 TEST_IGNORE();
7688 #else
7689 EXPECT_ABORT_BEGIN
7690 TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(-88.3);
7691 VERIFY_FAILS_END
7692 #endif
7693 }
7694
testDoubleIsNotDeterminate1(void)7695 void testDoubleIsNotDeterminate1(void)
7696 {
7697 #ifdef UNITY_EXCLUDE_DOUBLE
7698 TEST_IGNORE();
7699 #else
7700 TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(1.0 / d_zero);
7701 TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(-1.0 / d_zero);
7702 TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(0.0 / d_zero);
7703 #endif
7704 }
7705
testDoubleIsNotDeterminate2(void)7706 void testDoubleIsNotDeterminate2(void)
7707 {
7708 #ifdef UNITY_EXCLUDE_DOUBLE
7709 TEST_IGNORE();
7710 #else
7711 EXPECT_ABORT_BEGIN
7712 TEST_ASSERT_DOUBLE_IS_DETERMINATE(-1.0 / d_zero);
7713 VERIFY_FAILS_END
7714 #endif
7715 }
7716
testDoubleTraitFailsOnInvalidTrait(void)7717 void testDoubleTraitFailsOnInvalidTrait(void)
7718 {
7719 #ifdef UNITY_EXCLUDE_DOUBLE
7720 TEST_IGNORE();
7721 #else
7722 EXPECT_ABORT_BEGIN
7723 UnityAssertDoubleSpecial(1.0, NULL, __LINE__, UNITY_FLOAT_INVALID_TRAIT);
7724 VERIFY_FAILS_END
7725 #endif
7726 }
7727
testEqualDoubleArrays(void)7728 void testEqualDoubleArrays(void)
7729 {
7730 #ifdef UNITY_EXCLUDE_DOUBLE
7731 TEST_IGNORE();
7732 #else
7733 double p0[] = {1.0, -8.0, 25.4, -0.123};
7734 double p1[] = {1.0, -8.0, 25.4, -0.123};
7735 double p2[] = {1.0, -8.0, 25.4, -0.2};
7736 double p3[] = {1.0, -23.0, 25.0, -0.26};
7737
7738 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p0, 1);
7739 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p0, 4);
7740 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
7741 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p2, 3);
7742 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p3, 1);
7743 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(NULL, NULL, 1);
7744 #endif
7745 }
7746
testNotEqualDoubleArraysExpectedNull(void)7747 void testNotEqualDoubleArraysExpectedNull(void)
7748 {
7749 #ifdef UNITY_EXCLUDE_DOUBLE
7750 TEST_IGNORE();
7751 #else
7752 double* p0 = NULL;
7753 double p1[] = {1.0, 8.0, 25.4, 0.252};
7754
7755 EXPECT_ABORT_BEGIN
7756 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
7757 VERIFY_FAILS_END
7758 #endif
7759 }
7760
testNotEqualDoubleArraysActualNull(void)7761 void testNotEqualDoubleArraysActualNull(void)
7762 {
7763 #ifdef UNITY_EXCLUDE_DOUBLE
7764 TEST_IGNORE();
7765 #else
7766 double p0[] = {1.0, 8.0, 25.4, 0.253};
7767 double* p1 = NULL;
7768
7769 EXPECT_ABORT_BEGIN
7770 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
7771 VERIFY_FAILS_END
7772 #endif
7773 }
7774
testNotEqualDoubleArrays1(void)7775 void testNotEqualDoubleArrays1(void)
7776 {
7777 #ifdef UNITY_EXCLUDE_DOUBLE
7778 TEST_IGNORE();
7779 #else
7780 double p0[] = {1.0, 8.0, 25.4, 0.25666666667};
7781 double p1[] = {1.0, 8.0, 25.4, 0.25666666666};
7782
7783 EXPECT_ABORT_BEGIN
7784 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
7785 VERIFY_FAILS_END
7786 #endif
7787 }
7788
testNotEqualDoubleArrays2(void)7789 void testNotEqualDoubleArrays2(void)
7790 {
7791 #ifdef UNITY_EXCLUDE_DOUBLE
7792 TEST_IGNORE();
7793 #else
7794 double p0[] = {1.0, 8.0, 25.4, 0.253};
7795 double p1[] = {2.0, 8.0, 25.4, 0.253};
7796
7797 EXPECT_ABORT_BEGIN
7798 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
7799 VERIFY_FAILS_END
7800 #endif
7801 }
7802
testNotEqualDoubleArrays3(void)7803 void testNotEqualDoubleArrays3(void)
7804 {
7805 #ifdef UNITY_EXCLUDE_DOUBLE
7806 TEST_IGNORE();
7807 #else
7808 double p0[] = {1.0, 8.0, 25.4, 0.253};
7809 double p1[] = {1.0, 8.0, 25.5, 0.253};
7810
7811 EXPECT_ABORT_BEGIN
7812 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
7813 VERIFY_FAILS_END
7814 #endif
7815 }
7816
testNotEqualDoubleArraysNegative1(void)7817 void testNotEqualDoubleArraysNegative1(void)
7818 {
7819 #ifdef UNITY_EXCLUDE_DOUBLE
7820 TEST_IGNORE();
7821 #else
7822 double p0[] = {-1.0, -8.0, -25.4, -0.2566666667};
7823 double p1[] = {-1.0, -8.0, -25.4, -0.2566666666};
7824
7825 EXPECT_ABORT_BEGIN
7826 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
7827 VERIFY_FAILS_END
7828 #endif
7829 }
7830
testNotEqualDoubleArraysNegative2(void)7831 void testNotEqualDoubleArraysNegative2(void)
7832 {
7833 #ifdef UNITY_EXCLUDE_DOUBLE
7834 TEST_IGNORE();
7835 #else
7836 double p0[] = {-1.0, -8.0, -25.4, -0.253};
7837 double p1[] = {-2.0, -8.0, -25.4, -0.253};
7838
7839 EXPECT_ABORT_BEGIN
7840 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
7841 VERIFY_FAILS_END
7842 #endif
7843 }
7844
testNotEqualDoubleArraysNegative3(void)7845 void testNotEqualDoubleArraysNegative3(void)
7846 {
7847 #ifdef UNITY_EXCLUDE_DOUBLE
7848 TEST_IGNORE();
7849 #else
7850 double p0[] = {-1.0, -8.0, -25.4, -0.253};
7851 double p1[] = {-1.0, -8.0, -25.5, -0.253};
7852
7853 EXPECT_ABORT_BEGIN
7854 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
7855 VERIFY_FAILS_END
7856 #endif
7857 }
7858
testEqualDoubleArraysNaN(void)7859 void testEqualDoubleArraysNaN(void)
7860 {
7861 #ifdef UNITY_EXCLUDE_DOUBLE
7862 TEST_IGNORE();
7863 #else
7864 double p0[] = {1.0, 0.0 / d_zero, 25.4, 0.253};
7865 double p1[] = {1.0, 0.0 / d_zero, 25.4, 0.253};
7866
7867 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
7868 #endif
7869 }
7870
testEqualDoubleArraysInf(void)7871 void testEqualDoubleArraysInf(void)
7872 {
7873 #ifdef UNITY_EXCLUDE_DOUBLE
7874 TEST_IGNORE();
7875 #else
7876 double p0[] = {1.0, 1.0 / d_zero, 25.4, 0.253};
7877 double p1[] = {1.0, 1.0 / d_zero, 25.4, 0.253};
7878
7879 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
7880 #endif
7881 }
7882
testNotEqualDoubleArraysLengthZero(void)7883 void testNotEqualDoubleArraysLengthZero(void)
7884 {
7885 #ifdef UNITY_EXCLUDE_DOUBLE
7886 TEST_IGNORE();
7887 #else
7888 double p0[1] = {0.0};
7889 double p1[1] = {0.0};
7890
7891 EXPECT_ABORT_BEGIN
7892 TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 0);
7893 VERIFY_FAILS_END
7894 #endif
7895 }
7896
testEqualDoubleEachEqual(void)7897 void testEqualDoubleEachEqual(void)
7898 {
7899 #ifdef UNITY_EXCLUDE_DOUBLE
7900 TEST_IGNORE();
7901 #else
7902 double p0[] = {1.0, 1.0, 1.0, 1.0};
7903 double p1[] = {-0.123, -0.123, -0.123, -0.123};
7904 double p2[] = {25.4, 25.4, 25.4, -0.2};
7905 double p3[] = {1.0, -23.0, 25.0, -0.26};
7906
7907 TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0, p0, 1);
7908 TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0, p0, 4);
7909 TEST_ASSERT_EACH_EQUAL_DOUBLE(-0.123, p1, 4);
7910 TEST_ASSERT_EACH_EQUAL_DOUBLE(25.4, p2, 3);
7911 TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0, p3, 1);
7912 #endif
7913 }
7914
testNotEqualDoubleEachEqualActualNull(void)7915 void testNotEqualDoubleEachEqualActualNull(void)
7916 {
7917 #ifdef UNITY_EXCLUDE_DOUBLE
7918 TEST_IGNORE();
7919 #else
7920 double* p0 = NULL;
7921
7922 EXPECT_ABORT_BEGIN
7923 TEST_ASSERT_EACH_EQUAL_DOUBLE(5, p0, 4);
7924 VERIFY_FAILS_END
7925 #endif
7926 }
7927
testNotEqualDoubleEachEqual1(void)7928 void testNotEqualDoubleEachEqual1(void)
7929 {
7930 #ifdef UNITY_EXCLUDE_DOUBLE
7931 TEST_IGNORE();
7932 #else
7933 double p0[] = {0.253, 8.0, 0.253, 0.253};
7934
7935 EXPECT_ABORT_BEGIN
7936 TEST_ASSERT_EACH_EQUAL_DOUBLE(0.253, p0, 4);
7937 VERIFY_FAILS_END
7938 #endif
7939 }
7940
testNotEqualDoubleEachEqual2(void)7941 void testNotEqualDoubleEachEqual2(void)
7942 {
7943 #ifdef UNITY_EXCLUDE_DOUBLE
7944 TEST_IGNORE();
7945 #else
7946 double p0[] = {8.0, 8.0, 8.0, 0.253};
7947
7948 EXPECT_ABORT_BEGIN
7949 TEST_ASSERT_EACH_EQUAL_DOUBLE(8.0, p0, 4);
7950 VERIFY_FAILS_END
7951 #endif
7952 }
7953
testNotEqualDoubleEachEqual3(void)7954 void testNotEqualDoubleEachEqual3(void)
7955 {
7956 #ifdef UNITY_EXCLUDE_DOUBLE
7957 TEST_IGNORE();
7958 #else
7959 double p0[] = {1.0, 1.0, 1.0, 0.253};
7960
7961 EXPECT_ABORT_BEGIN
7962 TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0, p0, 4);
7963 VERIFY_FAILS_END
7964 #endif
7965 }
7966
testNotEqualDoubleEachEqualNegative1(void)7967 void testNotEqualDoubleEachEqualNegative1(void)
7968 {
7969 #ifdef UNITY_EXCLUDE_DOUBLE
7970 TEST_IGNORE();
7971 #else
7972 double p0[] = {-1.0, -0.253, -0.253, -0.253};
7973
7974 EXPECT_ABORT_BEGIN
7975 TEST_ASSERT_EACH_EQUAL_DOUBLE(-0.253, p0, 4);
7976 VERIFY_FAILS_END
7977 #endif
7978 }
7979
testNotEqualDoubleEachEqualNegative2(void)7980 void testNotEqualDoubleEachEqualNegative2(void)
7981 {
7982 #ifdef UNITY_EXCLUDE_DOUBLE
7983 TEST_IGNORE();
7984 #else
7985 double p0[] = {-25.4, -8.0, -25.4, -25.4};
7986
7987 EXPECT_ABORT_BEGIN
7988 TEST_ASSERT_EACH_EQUAL_DOUBLE(-25.4, p0, 4);
7989 VERIFY_FAILS_END
7990 #endif
7991 }
7992
testNotEqualDoubleEachEqualNegative3(void)7993 void testNotEqualDoubleEachEqualNegative3(void)
7994 {
7995 #ifdef UNITY_EXCLUDE_DOUBLE
7996 TEST_IGNORE();
7997 #else
7998 double p0[] = {-8.0, -8.0, -8.0, -0.253};
7999
8000 EXPECT_ABORT_BEGIN
8001 TEST_ASSERT_EACH_EQUAL_DOUBLE(-8.0, p0, 4);
8002 VERIFY_FAILS_END
8003 #endif
8004 }
8005
testEqualDoubleEachEqualNaN(void)8006 void testEqualDoubleEachEqualNaN(void)
8007 {
8008 #ifdef UNITY_EXCLUDE_DOUBLE
8009 TEST_IGNORE();
8010 #else
8011 double p0[] = {0.0 / d_zero, 0.0 / d_zero, 0.0 / d_zero, 0.0 / d_zero};
8012
8013 TEST_ASSERT_EACH_EQUAL_DOUBLE(0.0 / d_zero, p0, 4);
8014 #endif
8015 }
8016
testEqualDoubleEachEqualInf(void)8017 void testEqualDoubleEachEqualInf(void)
8018 {
8019 #ifdef UNITY_EXCLUDE_DOUBLE
8020 TEST_IGNORE();
8021 #else
8022 double p0[] = {1.0 / d_zero, 1.0 / d_zero, 25.4, 0.253};
8023
8024 TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0 / d_zero, p0, 2);
8025 #endif
8026 }
8027
testNotEqualDoubleEachEqualLengthZero(void)8028 void testNotEqualDoubleEachEqualLengthZero(void)
8029 {
8030 #ifdef UNITY_EXCLUDE_DOUBLE
8031 TEST_IGNORE();
8032 #else
8033 double p0[1] = {0.0};
8034
8035 EXPECT_ABORT_BEGIN
8036 TEST_ASSERT_EACH_EQUAL_DOUBLE(0.0, p0, 0);
8037 VERIFY_FAILS_END
8038 #endif
8039 }
8040
testDoublePrinting(void)8041 void testDoublePrinting(void)
8042 {
8043 #if defined(UNITY_EXCLUDE_FLOAT_PRINT) || defined(UNITY_EXCLUDE_DOUBLE) || !defined(USING_OUTPUT_SPY)
8044 TEST_IGNORE();
8045 #else
8046 TEST_ASSERT_EQUAL_PRINT_FLOATING("0", 0.0);
8047 TEST_ASSERT_EQUAL_PRINT_FLOATING("4.99e-07", 0.000000499);
8048 TEST_ASSERT_EQUAL_PRINT_FLOATING("5.0000005e-07", 0.00000050000005);
8049 TEST_ASSERT_EQUAL_PRINT_FLOATING("0.100469499", 0.100469499);
8050 TEST_ASSERT_EQUAL_PRINT_FLOATING("1", 0.9999999995); /*Rounding to int place*/
8051 TEST_ASSERT_EQUAL_PRINT_FLOATING("1", 1.0);
8052 TEST_ASSERT_EQUAL_PRINT_FLOATING("1.25", 1.25);
8053 TEST_ASSERT_EQUAL_PRINT_FLOATING("7.99999999", 7.99999999); /*Not rounding*/
8054 TEST_ASSERT_EQUAL_PRINT_FLOATING("16.0000002", 16.0000002);
8055 TEST_ASSERT_EQUAL_PRINT_FLOATING("16.0000004", 16.0000004);
8056 TEST_ASSERT_EQUAL_PRINT_FLOATING("16.0000006", 16.0000006);
8057 TEST_ASSERT_EQUAL_PRINT_FLOATING("999999999", 999999999.0); /*Last full print integer*/
8058
8059 TEST_ASSERT_EQUAL_PRINT_FLOATING("0", -0.0); /* -0 no supported on all targets */
8060 TEST_ASSERT_EQUAL_PRINT_FLOATING("-4.99e-07", -0.000000499);
8061 TEST_ASSERT_EQUAL_PRINT_FLOATING("-5.0000005e-07", -0.00000050000005);
8062 TEST_ASSERT_EQUAL_PRINT_FLOATING("-0.100469499", -0.100469499);
8063 TEST_ASSERT_EQUAL_PRINT_FLOATING("-1", -0.9999999995); /*Rounding to int place*/
8064 TEST_ASSERT_EQUAL_PRINT_FLOATING("-1", -1.0);
8065 TEST_ASSERT_EQUAL_PRINT_FLOATING("-1.25", -1.25);
8066 TEST_ASSERT_EQUAL_PRINT_FLOATING("-7.99999999", -7.99999999); /*Not rounding*/
8067 TEST_ASSERT_EQUAL_PRINT_FLOATING("-16.0000002", -16.0000002);
8068 TEST_ASSERT_EQUAL_PRINT_FLOATING("-16.0000004", -16.0000004);
8069 TEST_ASSERT_EQUAL_PRINT_FLOATING("-16.0000006", -16.0000006);
8070 TEST_ASSERT_EQUAL_PRINT_FLOATING("-999999999", -999999999.0); /*Last full print integer*/
8071
8072 TEST_ASSERT_EQUAL_PRINT_FLOATING("0.1004695", 0.10046949999999999);
8073 TEST_ASSERT_EQUAL_PRINT_FLOATING("4.2949673e+09", 4294967295.9);
8074 TEST_ASSERT_EQUAL_PRINT_FLOATING("4.2949673e+09", 4294967296.0);
8075 TEST_ASSERT_EQUAL_PRINT_FLOATING("1e+10", 9999999995.0);
8076 TEST_ASSERT_EQUAL_PRINT_FLOATING("9.00719925e+15", 9007199254740990.0);
8077 TEST_ASSERT_EQUAL_PRINT_FLOATING("7e+100", 7.0e+100);
8078 TEST_ASSERT_EQUAL_PRINT_FLOATING("3e+200", 3.0e+200);
8079 TEST_ASSERT_EQUAL_PRINT_FLOATING("9.23456789e+300", 9.23456789e+300);
8080
8081 TEST_ASSERT_EQUAL_PRINT_FLOATING("-0.1004695", -0.10046949999999999);
8082 TEST_ASSERT_EQUAL_PRINT_FLOATING("-4.2949673e+09", -4294967295.9);
8083 TEST_ASSERT_EQUAL_PRINT_FLOATING("-4.2949673e+09", -4294967296.0);
8084 TEST_ASSERT_EQUAL_PRINT_FLOATING("-7e+100", -7.0e+100);
8085 #endif
8086 }
8087
testDoublePrintingRoundTiesToEven(void)8088 void testDoublePrintingRoundTiesToEven(void)
8089 {
8090 #if defined(UNITY_EXCLUDE_FLOAT_PRINT) || defined(UNITY_EXCLUDE_DOUBLE) || !defined(USING_OUTPUT_SPY)
8091 TEST_IGNORE();
8092 #else
8093 #ifdef UNITY_ROUND_TIES_AWAY_FROM_ZERO
8094 TEST_ASSERT_EQUAL_PRINT_FLOATING("1.00000001e+10", 10000000050.0);
8095 TEST_ASSERT_EQUAL_PRINT_FLOATING("9.00719925e+15", 9007199245000000.0);
8096 #else /* Default to Round ties to even */
8097 TEST_ASSERT_EQUAL_PRINT_FLOATING("1e+10", 10000000050.0);
8098 TEST_ASSERT_EQUAL_PRINT_FLOATING("9.00719924e+15", 9007199245000000.0);
8099 #endif
8100 #endif
8101 }
8102
testDoublePrintingInfinityAndNaN(void)8103 void testDoublePrintingInfinityAndNaN(void)
8104 {
8105 #if defined(UNITY_EXCLUDE_FLOAT_PRINT) || defined(UNITY_EXCLUDE_DOUBLE) || !defined(USING_OUTPUT_SPY)
8106 TEST_IGNORE();
8107 #else
8108 TEST_ASSERT_EQUAL_PRINT_FLOATING("inf", 1.0 / d_zero);
8109 TEST_ASSERT_EQUAL_PRINT_FLOATING("-inf", -1.0 / d_zero);
8110
8111 TEST_ASSERT_EQUAL_PRINT_FLOATING("nan", 0.0 / d_zero);
8112 #endif
8113 }
8114
8115 /* ===================== THESE TEST WILL RUN IF YOUR CONFIG INCLUDES DETAIL SUPPORT ================== */
8116
testThatDetailsCanBeHandleOneDetail(void)8117 void testThatDetailsCanBeHandleOneDetail(void)
8118 {
8119 #ifdef UNITY_EXCLUDE_DETAILS
8120 TEST_IGNORE();
8121 #else
8122 UNITY_SET_DETAIL("Detail1");
8123
8124 EXPECT_ABORT_BEGIN
8125 TEST_ASSERT_EQUAL_INT_MESSAGE(5, 6, "Should Fail And Say Detail1");
8126 VERIFY_FAILS_END
8127 #endif
8128 }
8129
testThatDetailsCanHandleTestFail(void)8130 void testThatDetailsCanHandleTestFail(void)
8131 {
8132 #ifdef UNITY_EXCLUDE_DETAILS
8133 TEST_IGNORE();
8134 #else
8135 UNITY_SET_DETAILS("Detail1","Detail2");
8136
8137 EXPECT_ABORT_BEGIN
8138 TEST_FAIL_MESSAGE("Should Fail And Say Detail1 and Detail2");
8139 VERIFY_FAILS_END
8140 #endif
8141 }
8142
testThatDetailsCanBeHandleTwoDetails(void)8143 void testThatDetailsCanBeHandleTwoDetails(void)
8144 {
8145 #ifdef UNITY_EXCLUDE_DETAILS
8146 TEST_IGNORE();
8147 #else
8148 UNITY_SET_DETAILS("Detail1","Detail2");
8149
8150 EXPECT_ABORT_BEGIN
8151 TEST_ASSERT_EQUAL_HEX8_MESSAGE(7, 8, "Should Fail And Say Detail1 and Detail2");
8152 VERIFY_FAILS_END
8153 #endif
8154 }
8155
testThatDetailsCanBeHandleSingleDetailClearingTwoDetails(void)8156 void testThatDetailsCanBeHandleSingleDetailClearingTwoDetails(void)
8157 {
8158 #ifdef UNITY_EXCLUDE_DETAILS
8159 TEST_IGNORE();
8160 #else
8161 UNITY_SET_DETAILS("Detail1","Detail2");
8162 UNITY_SET_DETAIL("DetailNew");
8163
8164 EXPECT_ABORT_BEGIN
8165 TEST_ASSERT_EQUAL_STRING_MESSAGE("MEH", "GUH", "Should Fail And Say DetailNew");
8166 VERIFY_FAILS_END
8167 #endif
8168 }
8169