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

Revision:
31:1c50d2d8c155
Parent:
30:cf12566013a5
Child:
36:8aeb014bd651
--- a/testing.cpp	Tue Jun 14 10:26:03 2016 +0000
+++ b/testing.cpp	Tue Jun 14 10:51:15 2016 +0000
@@ -7,7 +7,7 @@
 #define NUMBER_OF_SEC_BEFORE_CRITICAL_ALARM 30
 #define NUMBER_OF_SEC_BEFORE_UNDESIRED_ALARM 300
 
-void TestCase::assertTrue(bool b, const char *error) {
+void TestCase::assert(bool b, const char *error) {
     if(!b) {
         printf("[%s] ASSERTION FAILED: %s\r\n", this->name, error);
         this->failed = true;
@@ -43,6 +43,17 @@
 MOCK(leak_critical_mock, -1-(t/4000.0));
 ALARM_TEST(testAlarmWaterLeakCritical, temp_mock_steady, salt_mock_steady, leak_critical_mock, NUMBER_OF_SEC_BEFORE_UNDESIRED_ALARM+1);
 
+MOCK(salinity_mock1, 3.1+(t*0.00001));
+ALARM_TEST(testSalinityLowRangeAlarm, temp_mock_steady, salinity_mock1, prox_mock_steady, NUMBER_OF_SEC_BEFORE_UNDESIRED_ALARM+1);
+
+MOCK(salinity_mock2, 9.1+(t*0.00001));
+ALARM_TEST(testSalinityHighRangeAlarm, temp_mock_steady, salinity_mock2, prox_mock_steady, NUMBER_OF_SEC_BEFORE_UNDESIRED_ALARM+1);
+
+MOCK(salinity_mock3, 2.9-(t*0.00001));
+ALARM_TEST(testSalinityDangerousLowAlarm, temp_mock_steady, salinity_mock3, prox_mock_steady, NUMBER_OF_SEC_BEFORE_CRITICAL_ALARM+1);
+
+MOCK(salinity_mock4, 12.1+(t*0.00001));
+ALARM_TEST(testSalinityDangerousHighAlarm, temp_mock_steady, salinity_mock4, prox_mock_steady, NUMBER_OF_SEC_BEFORE_CRITICAL_ALARM+1);
 
 bool testTemperatureHeater(TestCase *tc) {
     // TODO
@@ -52,22 +63,29 @@
 
 
 
-
-
-
-
-
 int test_main() {
-    TestCase("Test if alarm is raised when temp > 40 for 30 seconds", testTempDangerousHighAlarm);
-    TestCase("Test if alarm is raised when temp < 30 for 30 seconds", testTempDangerousLowAlarm);
-    TestCase("Test if alarm is raised when temp > 30 and < 32 for 300 seconds", testTempLowRangeAlarm);
-    TestCase("Test if alarm is raised when temp > 38 and < 40 for 300 seconds", testTempHighRangeAlarm);
-    //TestCase("Test if heater gets enabled at < 32 and disabled at 32+", testTemperatureHeater);
+    
+    START_TESTS();
+    
+    TESTCASE("Test if alarm is raised when temp > 40 for 30 seconds", testTempDangerousHighAlarm);
+    TESTCASE("Test if alarm is raised when temp < 30 for 30 seconds", testTempDangerousLowAlarm);
+    TESTCASE("Test if alarm is raised when temp > 30 and < 32 for 5 minutes", testTempLowRangeAlarm);
+    TESTCASE("Test if alarm is raised when temp > 38 and < 40 for 5 minutes", testTempHighRangeAlarm);
     
-    TestCase("Test if alarm is raised when water tank level in range 900-1000 ml for 5 minutes", testAlarmWaterOverflowUndesired);
-    TestCase("Test if alarm is raised when water tank level is 1001 for 30 seconds", testAlarmWaterOverflowCritical);
-    TestCase("Test if alarm is raised when water tank level is in range 0-100 ml for 5 minutes", testAlarmWaterLeakUndesired);
-    TestCase("Test if alarm is raised when water tank level is < 0 for 30 seconds", testAlarmWaterLeakCritical);
+    TESTCASE("Test if alarm is raised when salinity > 3 and < 6 for 5 minutes", testSalinityLowRangeAlarm);
+    TESTCASE("Test if alarm is raised when salinity > 9 and < 12 for 5 minutes", testSalinityHighRangeAlarm);
+    TESTCASE("Test if alarm is raised when salinity < 3 for 30 seconds", testSalinityDangerousLowAlarm);
+    TESTCASE("Test if alarm is raised when salinity > 12 for 30 seconds", testSalinityDangerousHighAlarm);
+    
+    // TODO
+    //TESTCASE("Test if heater gets enabled at < 32 and disabled at 32+", testTemperatureHeater);
+    
+    TESTCASE("Test if alarm is raised when water tank level in range 900-1000 ml for 5 minutes", testAlarmWaterOverflowUndesired);
+    TESTCASE("Test if alarm is raised when water tank level is 1001 for 30 seconds", testAlarmWaterOverflowCritical);
+    TESTCASE("Test if alarm is raised when water tank level is in range 0-100 ml for 5 minutes", testAlarmWaterLeakUndesired);
+    TESTCASE("Test if alarm is raised when water tank level is < 0 for 30 seconds", testAlarmWaterLeakCritical);
+    
+    END_TESTS();
     
     return 0;
 }
\ No newline at end of file