Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed DRV88255 TextLCD Ping mbed-rtos
testing.h@19:ee89eabe1fa2, 2016-06-13 (annotated)
- Committer:
- sbouber1
- Date:
- Mon Jun 13 12:33:52 2016 +0000
- Revision:
- 19:ee89eabe1fa2
- Parent:
- 13:1323e2c0b697
- Child:
- 22:4b5bf1c2e1ff
first test case
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sbouber1 | 19:ee89eabe1fa2 | 1 | #ifndef __TESTING_H__ |
sbouber1 | 19:ee89eabe1fa2 | 2 | #define __TESTING_H__ |
sbouber1 | 19:ee89eabe1fa2 | 3 | |
sbouber1 | 19:ee89eabe1fa2 | 4 | |
sbouber1 | 13:1323e2c0b697 | 5 | // #define RUN_TESTS |
sbouber1 | 13:1323e2c0b697 | 6 | |
sbouber1 | 13:1323e2c0b697 | 7 | #ifdef RUN_TESTS |
sbouber1 | 13:1323e2c0b697 | 8 | #define MAIN test_main |
sbouber1 | 13:1323e2c0b697 | 9 | #else |
sbouber1 | 13:1323e2c0b697 | 10 | #define MAIN real_main |
sbouber1 | 19:ee89eabe1fa2 | 11 | #endif |
sbouber1 | 19:ee89eabe1fa2 | 12 | |
sbouber1 | 19:ee89eabe1fa2 | 13 | #define MOCK(N, F) static inline float N(int i,int t) {return (F);} |
sbouber1 | 19:ee89eabe1fa2 | 14 | |
sbouber1 | 19:ee89eabe1fa2 | 15 | #define DEF_MOCKS(A,B,C) MockSensorController temp(false,0,A); \ |
sbouber1 | 19:ee89eabe1fa2 | 16 | MockSensorController prox(false,0,B); \ |
sbouber1 | 19:ee89eabe1fa2 | 17 | MockSensorController salt(false,0,C); |
sbouber1 | 19:ee89eabe1fa2 | 18 | |
sbouber1 | 19:ee89eabe1fa2 | 19 | #include "mbed.h" |
sbouber1 | 19:ee89eabe1fa2 | 20 | |
sbouber1 | 19:ee89eabe1fa2 | 21 | class TestCase { |
sbouber1 | 19:ee89eabe1fa2 | 22 | |
sbouber1 | 19:ee89eabe1fa2 | 23 | public: |
sbouber1 | 19:ee89eabe1fa2 | 24 | TestCase(const char *name, bool (*evaluate)(TestCase *tc)) { |
sbouber1 | 19:ee89eabe1fa2 | 25 | this->name = name; |
sbouber1 | 19:ee89eabe1fa2 | 26 | this->evaluate = evaluate; |
sbouber1 | 19:ee89eabe1fa2 | 27 | this->failed = false; |
sbouber1 | 19:ee89eabe1fa2 | 28 | |
sbouber1 | 19:ee89eabe1fa2 | 29 | if(!failed && this->evaluate(this)) { |
sbouber1 | 19:ee89eabe1fa2 | 30 | printf("TESTCASE %s PASSED!\r\n", this->name); |
sbouber1 | 19:ee89eabe1fa2 | 31 | } else { |
sbouber1 | 19:ee89eabe1fa2 | 32 | printf("TESTCASE %s FAILED!\r\n", this->name); |
sbouber1 | 19:ee89eabe1fa2 | 33 | } |
sbouber1 | 19:ee89eabe1fa2 | 34 | } |
sbouber1 | 19:ee89eabe1fa2 | 35 | |
sbouber1 | 19:ee89eabe1fa2 | 36 | void assertTrue(bool b, const char *error); |
sbouber1 | 19:ee89eabe1fa2 | 37 | |
sbouber1 | 19:ee89eabe1fa2 | 38 | |
sbouber1 | 19:ee89eabe1fa2 | 39 | private: |
sbouber1 | 19:ee89eabe1fa2 | 40 | const char *name; |
sbouber1 | 19:ee89eabe1fa2 | 41 | bool failed; |
sbouber1 | 19:ee89eabe1fa2 | 42 | bool (*evaluate)(TestCase *tc); |
sbouber1 | 19:ee89eabe1fa2 | 43 | |
sbouber1 | 19:ee89eabe1fa2 | 44 | }; |
sbouber1 | 19:ee89eabe1fa2 | 45 | |
sbouber1 | 13:1323e2c0b697 | 46 | #endif |