Fix failing test, therefore fixing #89
This commit is contained in:
parent
277aa45de9
commit
14b35c6081
@ -47,7 +47,9 @@ class Battery:
|
|||||||
return self._percentage("_DESIGN" if design else "") * 100
|
return self._percentage("_DESIGN" if design else "") * 100
|
||||||
|
|
||||||
def status(self):
|
def status(self):
|
||||||
if self.consumption() > 0.1 and self.percentage() < 99.9:
|
if self.consumption() is None:
|
||||||
|
return self.battery_info["STATUS"]
|
||||||
|
elif self.consumption() > 0.1 and self.percentage() < 99.9:
|
||||||
return "Discharging" if self.battery_info["STATUS"] == "Discharging" else "Charging"
|
return "Discharging" if self.battery_info["STATUS"] == "Discharging" else "Charging"
|
||||||
elif self.consumption() == 0 and self.percentage() == 0.00:
|
elif self.consumption() == 0 and self.percentage() == 0.00:
|
||||||
return "Depleted"
|
return "Depleted"
|
||||||
@ -67,7 +69,7 @@ class BatteryCharge(Battery):
|
|||||||
if "VOLTAGE_NOW" in self.battery_info and "CURRENT_NOW" in self.battery_info:
|
if "VOLTAGE_NOW" in self.battery_info and "CURRENT_NOW" in self.battery_info:
|
||||||
return super().consumption(self.battery_info["VOLTAGE_NOW"] * self.battery_info["CURRENT_NOW"]) # V * A = W
|
return super().consumption(self.battery_info["VOLTAGE_NOW"] * self.battery_info["CURRENT_NOW"]) # V * A = W
|
||||||
else:
|
else:
|
||||||
return -1
|
return None
|
||||||
|
|
||||||
def _percentage(self, design):
|
def _percentage(self, design):
|
||||||
return self.battery_info["CHARGE_NOW"] / self.battery_info["CHARGE_FULL" + design]
|
return self.battery_info["CHARGE_NOW"] / self.battery_info["CHARGE_FULL" + design]
|
||||||
@ -185,11 +187,17 @@ class BatteryChecker(IntervalModule):
|
|||||||
return total / len(batteries)
|
return total / len(batteries)
|
||||||
|
|
||||||
def consumption(self, batteries):
|
def consumption(self, batteries):
|
||||||
return sum([bat.consumption() for bat in batteries])
|
consumption = 0
|
||||||
|
for battery in batteries:
|
||||||
|
if battery.consumption() is not None:
|
||||||
|
consumption += battery.consumption()
|
||||||
|
return consumption
|
||||||
|
|
||||||
def abs_consumption(self, batteries):
|
def abs_consumption(self, batteries):
|
||||||
abs_consumption = 0
|
abs_consumption = 0
|
||||||
for battery in batteries:
|
for battery in batteries:
|
||||||
|
if battery.consumption() is None:
|
||||||
|
continue
|
||||||
if battery.status() == 'Discharging':
|
if battery.status() == 'Discharging':
|
||||||
abs_consumption -= battery.consumption()
|
abs_consumption -= battery.consumption()
|
||||||
elif battery.status() == 'Charging':
|
elif battery.status() == 'Charging':
|
||||||
@ -203,7 +211,7 @@ class BatteryChecker(IntervalModule):
|
|||||||
elif abs_consumption < 0:
|
elif abs_consumption < 0:
|
||||||
return 'Discharging'
|
return 'Discharging'
|
||||||
else:
|
else:
|
||||||
return batteries.pop().status()
|
return batteries[-1].status()
|
||||||
|
|
||||||
def remaining(self, batteries):
|
def remaining(self, batteries):
|
||||||
wh_depleted = 0
|
wh_depleted = 0
|
||||||
|
Loading…
Reference in New Issue
Block a user