Ram Gandikota
/
ABCD
A metronome using the FRDM K64F board
pal/Test/Unity/test/tests/testparameterized.c
- Committer:
- ram54288
- Date:
- 2017-05-14
- Revision:
- 0:a7a43371b306
File content as of revision 0:a7a43371b306:
/* ========================================== Unity Project - A Test Framework for C Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams [Released under MIT License. Please refer to license.txt for details] ========================================== */ #include <setjmp.h> #include <stdio.h> #include "unity.h" void putcharSpy(int c) { (void)putchar(c);} // include passthrough for linking tests #define TEST_CASE(...) #define EXPECT_ABORT_BEGIN \ if (TEST_PROTECT()) \ { #define VERIFY_FAILS_END \ } \ Unity.CurrentTestFailed = (Unity.CurrentTestFailed == 1) ? 0 : 1; \ if (Unity.CurrentTestFailed == 1) { \ SetToOneMeanWeAlreadyCheckedThisGuy = 1; \ UnityPrint("[[[[ Previous Test Should Have Failed But Did Not ]]]]"); \ UNITY_OUTPUT_CHAR('\n'); \ } #define VERIFY_IGNORES_END \ } \ Unity.CurrentTestFailed = (Unity.CurrentTestIgnored == 1) ? 0 : 1; \ Unity.CurrentTestIgnored = 0; \ if (Unity.CurrentTestFailed == 1) { \ SetToOneMeanWeAlreadyCheckedThisGuy = 1; \ UnityPrint("[[[[ Previous Test Should Have Ignored But Did Not ]]]]"); \ UNITY_OUTPUT_CHAR('\n'); \ } int SetToOneToFailInTearDown; int SetToOneMeanWeAlreadyCheckedThisGuy; void setUp(void) { SetToOneToFailInTearDown = 0; SetToOneMeanWeAlreadyCheckedThisGuy = 0; } void tearDown(void) { if (SetToOneToFailInTearDown == 1) TEST_FAIL_MESSAGE("<= Failed in tearDown"); if ((SetToOneMeanWeAlreadyCheckedThisGuy == 0) && (Unity.CurrentTestFailed > 0)) { UnityPrint("[[[[ Previous Test Should Have Passed But Did Not ]]]]"); UNITY_OUTPUT_CHAR('\n'); } } TEST_CASE(0) TEST_CASE(44) TEST_CASE((90)+9) void test_TheseShouldAllPass(int Num) { TEST_ASSERT_TRUE(Num < 100); } TEST_CASE(3) TEST_CASE(77) TEST_CASE( (99) + 1 - (1)) void test_TheseShouldAllFail(int Num) { EXPECT_ABORT_BEGIN TEST_ASSERT_TRUE(Num > 100); VERIFY_FAILS_END } TEST_CASE(1) TEST_CASE(44) TEST_CASE(99) TEST_CASE(98) void test_TheseAreEveryOther(int Num) { if (Num & 1) { EXPECT_ABORT_BEGIN TEST_ASSERT_TRUE(Num > 100); VERIFY_FAILS_END } else { TEST_ASSERT_TRUE(Num < 100); } } void test_NormalPassesStillWork(void) { TEST_ASSERT_TRUE(1); } void test_NormalFailsStillWork(void) { EXPECT_ABORT_BEGIN TEST_ASSERT_TRUE(0); VERIFY_FAILS_END }