Saltware / Mbed 2 deprecated Water Play

Dependencies:   mbed DRV88255 TextLCD Ping mbed-rtos

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?

UserRevisionLine numberNew 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