Fix Battery Defender tests to take into account the minimum time to
write a file

Test: 'atest HealthTestCases'
Bug: 175614345
Merged-In: I2c8bfa013e9db80ad879856a2e58ca14f2406901
Change-Id: I2c8bfa013e9db80ad879856a2e58ca14f2406901
(cherry picked from commit 9115cc9b3e0cf0869b37b6e3187b70daaeb50d9f)
diff --git a/health/test/TestBatteryDefender.cpp b/health/test/TestBatteryDefender.cpp
index 50656c6..11ce12f 100644
--- a/health/test/TestBatteryDefender.cpp
+++ b/health/test/TestBatteryDefender.cpp
@@ -24,6 +24,8 @@
 #include <android-base/file.h>
 #include <android-base/properties.h>
 
+#define MIN_TIME_BETWEEN_FILE_UPDATES (30 + 1)
+
 class HealthInterface {
   public:
     virtual ~HealthInterface() {}
@@ -243,16 +245,17 @@
 
     InSequence s;
 
+    int time_expected = DEFAULT_TIME_TO_ACTIVATE_SECONDS - 1;
     EXPECT_CALL(*mock, ReadFileToString(kPathPersistChargerPresentTime, _, _))
-            .WillOnce(DoAll(SetArgPointee<1>(std::to_string(DEFAULT_TIME_TO_ACTIVATE_SECONDS - 1)),
-                            Return(true)));
+            .WillOnce(DoAll(SetArgPointee<1>(std::to_string(time_expected)), Return(true)));
     EXPECT_CALL(*mock, SetProperty(kPropBatteryDefenderState, "CONNECTED"));
     battDefender.update();
 
-    testvar_systemTimeSecs++;
-    EXPECT_CALL(*mock, WriteStringToFile(std::to_string(DEFAULT_TIME_TO_ACTIVATE_SECONDS),
+    testvar_systemTimeSecs += MIN_TIME_BETWEEN_FILE_UPDATES;
+    time_expected = DEFAULT_TIME_TO_ACTIVATE_SECONDS - 1 + MIN_TIME_BETWEEN_FILE_UPDATES;
+    EXPECT_CALL(*mock, WriteStringToFile(std::to_string(time_expected),
                                          kPathPersistChargerPresentTime, _));
-    EXPECT_CALL(*mock, SetProperty(kPropBatteryDefenderState, "CONNECTED"));
+    EXPECT_CALL(*mock, SetProperty(kPropBatteryDefenderState, "ACTIVE"));
     battDefender.update();
 }
 
@@ -286,14 +289,14 @@
     InSequence s;
 
     EXPECT_CALL(*mock, SetProperty(kPropBatteryDefenderState, "CONNECTED"));
-    testvar_systemTimeSecs += 1;
+    testvar_systemTimeSecs += MIN_TIME_BETWEEN_FILE_UPDATES;
     battDefender.update();
 
     // Reached 100% capacity at least once
     EXPECT_CALL(*mock, ReadFileToString(kPathBatteryCapacity, _, _))
             .WillOnce(DoAll(SetArgPointee<1>(std::to_string(100)), Return(true)));
     EXPECT_CALL(*mock, SetProperty(kPropBatteryDefenderState, "CONNECTED"));
-    testvar_systemTimeSecs += 1;
+    testvar_systemTimeSecs += MIN_TIME_BETWEEN_FILE_UPDATES;
     battDefender.update();
 
     EXPECT_CALL(*mock, WriteStringToFile(std::to_string(DEFAULT_TIME_TO_ACTIVATE_SECONDS),
@@ -302,10 +305,11 @@
     testvar_systemTimeSecs += DEFAULT_TIME_TO_ACTIVATE_SECONDS;
     battDefender.update();
 
-    EXPECT_CALL(*mock, WriteStringToFile(std::to_string(DEFAULT_TIME_TO_ACTIVATE_SECONDS + 1),
+    EXPECT_CALL(*mock, WriteStringToFile(std::to_string(DEFAULT_TIME_TO_ACTIVATE_SECONDS +
+                                                        MIN_TIME_BETWEEN_FILE_UPDATES),
                                          kPathPersistChargerPresentTime, _));
     EXPECT_CALL(*mock, SetProperty(kPropBatteryDefenderState, "ACTIVE"));
-    testvar_systemTimeSecs += 1;
+    testvar_systemTimeSecs += MIN_TIME_BETWEEN_FILE_UPDATES;
     battDefender.update();
 }
 
@@ -386,7 +390,7 @@
 
     EXPECT_CALL(*mock, WriteStringToFile(std::to_string(0), kPathPersistChargerPresentTime, _));
     EXPECT_CALL(*mock, SetProperty(kPropBatteryDefenderState, "DISCONNECTED"));
-    testvar_systemTimeSecs += 1;
+    testvar_systemTimeSecs += MIN_TIME_BETWEEN_FILE_UPDATES;
     battDefender.update();
 
     // Power ON