Saltware / Mbed 2 deprecated Water Play

Dependencies:   mbed DRV88255 TextLCD Ping mbed-rtos

Revision:
28:f4a4ee58d57e
Parent:
23:46cc7d776988
Child:
30:cf12566013a5
--- a/testing.cpp	Tue Jun 14 09:23:29 2016 +0000
+++ b/testing.cpp	Tue Jun 14 09:46:31 2016 +0000
@@ -5,7 +5,7 @@
 #include "testing.h"
 
 #define NUMBER_OF_SEC_BEFORE_CRITICAL_ALARM 30
-#define NUMBER_OF_SEC_BEFORE_DANGEROUS_ALARM 300
+#define NUMBER_OF_SEC_BEFORE_UNDESIRED_ALARM 300
 
 void TestCase::assertTrue(bool b, const char *error) {
     if(!b) {
@@ -14,7 +14,7 @@
     }    
 }
 
-
+MOCK(temp_mock_steady, 35.0);
 MOCK(salt_mock_steady, 6.1);
 MOCK(prox_mock_steady, 10.0);
 
@@ -53,7 +53,7 @@
     DEF_MOCKS(temp_mock3, salt_mock_steady, prox_mock_steady);
     
     AlarmController alarm(false,0,&temp,&salt,&prox);
-    for(int i = 0; i < NUMBER_OF_SEC_BEFORE_DANGEROUS_ALARM+1; i++) {
+    for(int i = 0; i < NUMBER_OF_SEC_BEFORE_UNDESIRED_ALARM+1; i++) {
         alarm.run();
         Thread::wait(1000);
     }
@@ -68,7 +68,7 @@
     DEF_MOCKS(temp_mock4, salt_mock_steady, prox_mock_steady);
     
     AlarmController alarm(false,0,&temp,&salt,&prox);
-    for(int i = 0; i < NUMBER_OF_SEC_BEFORE_DANGEROUS_ALARM+1; i++) {
+    for(int i = 0; i < NUMBER_OF_SEC_BEFORE_UNDESIRED_ALARM+1; i++) {
         alarm.run();
         Thread::wait(1000);
     }
@@ -82,22 +82,40 @@
     return true;    
 }
 
-bool testAlarmWaterOverflow(TestCase *tc) {
-    // TODO
-    return true;    
+MOCK(overflow_undesired_mock, 900+(t/4000.0));
+bool testAlarmWaterOverflowUndesired(TestCase *tc) {
+    DEF_MOCKS(temp_mock_steady, salt_mock_steady, overflow_undesired_mock);
+    
+    AlarmController alarm(false,0,&temp,&salt,&prox);
+    for(int i = 0; i < NUMBER_OF_SEC_BEFORE_UNDESIRED_ALARM+1; i++) {
+        alarm.run();
+        Thread::wait(1000);
+    }
+    
+    return alarm.is_error(); 
 }
 
-bool testAlarmWaterLeak(TestCase *tc) {
-    // TODO
+bool testAlarmWaterOverflowCritical(TestCase *tc) {
+    // TODO 1001 should raise alarm in 30 sec
     return true;    
 }
 
+bool testAlarmWaterLeakUndesired(TestCase *tc) {
+    // TODO 0-100 ml for 5 minutes
+    return true;    
+}
+
+bool testAlarmWaterLeakCritical(TestCase *tc) {
+    // TODO 0 ml should produce alarm in 30 sec
+    return true;   
+}
+
 int test_main() {
-    TestCase t1("Test if alarm is raised when temp > 40 for 30 seconds", testTempDangerousHighAlarm);
-    TestCase t2("Test if alarm is raised when temp < 30 for 30 seconds", testTempDangerousLowAlarm);
-    TestCase t3("Test if alarm is raised when temp > 30 and < 32 for 300 seconds", testTempLowRangeAlarm);
-    TestCase t4("Test if alarm is raised when temp > 38 and < 40 for 300 seconds", testTempHighRangeAlarm);
-    TestCase t5("Test if heater gets enabled at < 32 and disabled at 32+", testTemperatureHeater);
+    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);
     
     return 0;
 }
\ No newline at end of file