Program for the water play project for the course Software Testing Practical 2016 given at the VU University
Dependencies: mbed DRV88255 TextLCD Ping mbed-rtos
testing.cpp@21:17dd0d778bda, 2016-06-13 (annotated)
- Committer:
- sbouber1
- Date:
- Mon Jun 13 12:57:14 2016 +0000
- Revision:
- 21:17dd0d778bda
- Parent:
- 19:ee89eabe1fa2
- Child:
- 22:4b5bf1c2e1ff
- Child:
- 24:eeef4009640d
fixed testcase
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sbouber1 | 21:17dd0d778bda | 1 | #include "mbed.h" |
sbouber1 | 21:17dd0d778bda | 2 | |
sbouber1 | 19:ee89eabe1fa2 | 3 | #include "MockSensorController.h" |
sbouber1 | 19:ee89eabe1fa2 | 4 | #include "AlarmController.h" |
sbouber1 | 19:ee89eabe1fa2 | 5 | #include "testing.h" |
sbouber1 | 19:ee89eabe1fa2 | 6 | |
sbouber1 | 21:17dd0d778bda | 7 | #define NUMBER_OF_SEC_BEFORE_CRITICAL_ALARM 30 |
sbouber1 | 19:ee89eabe1fa2 | 8 | |
sbouber1 | 19:ee89eabe1fa2 | 9 | void TestCase::assertTrue(bool b, const char *error) { |
sbouber1 | 19:ee89eabe1fa2 | 10 | if(!b) { |
sbouber1 | 19:ee89eabe1fa2 | 11 | printf("[%s] ASSERTION FAILED: %s\r\n", this->name, error); |
sbouber1 | 19:ee89eabe1fa2 | 12 | this->failed = true; |
sbouber1 | 19:ee89eabe1fa2 | 13 | } |
sbouber1 | 19:ee89eabe1fa2 | 14 | } |
sbouber1 | 19:ee89eabe1fa2 | 15 | |
sbouber1 | 19:ee89eabe1fa2 | 16 | |
sbouber1 | 19:ee89eabe1fa2 | 17 | MOCK(temp_mock1, 40.1); |
sbouber1 | 19:ee89eabe1fa2 | 18 | MOCK(salt_mock1, 4.0); |
sbouber1 | 19:ee89eabe1fa2 | 19 | MOCK(prox_mock1, 10.0); |
sbouber1 | 19:ee89eabe1fa2 | 20 | bool testTempDangerousHighAlarm(TestCase *tc) { |
sbouber1 | 19:ee89eabe1fa2 | 21 | |
sbouber1 | 19:ee89eabe1fa2 | 22 | DEF_MOCKS(temp_mock1, salt_mock1, prox_mock1); |
sbouber1 | 19:ee89eabe1fa2 | 23 | |
sbouber1 | 19:ee89eabe1fa2 | 24 | AlarmController alarm(false,0,&temp,&salt,&prox); |
sbouber1 | 21:17dd0d778bda | 25 | for(int i = 0; i < NUMBER_OF_SEC_BEFORE_CRITICAL_ALARM+5; i++) { |
sbouber1 | 21:17dd0d778bda | 26 | alarm.run(); |
sbouber1 | 21:17dd0d778bda | 27 | Thread::wait(1000); |
sbouber1 | 21:17dd0d778bda | 28 | } |
sbouber1 | 21:17dd0d778bda | 29 | |
sbouber1 | 19:ee89eabe1fa2 | 30 | return alarm.is_error(); |
sbouber1 | 19:ee89eabe1fa2 | 31 | } |
sbouber1 | 19:ee89eabe1fa2 | 32 | |
sbouber1 | 19:ee89eabe1fa2 | 33 | |
sbouber1 | 19:ee89eabe1fa2 | 34 | |
sbouber1 | 19:ee89eabe1fa2 | 35 | int test_main() { |
sbouber1 | 19:ee89eabe1fa2 | 36 | TestCase t1("Test if alarm is raised when seconds when temp > 40", testTempDangerousHighAlarm); |
sbouber1 | 19:ee89eabe1fa2 | 37 | |
sbouber1 | 19:ee89eabe1fa2 | 38 | return 0; |
sbouber1 | 19:ee89eabe1fa2 | 39 | } |