currentAlarms=self.NativeUI.ongoingAlarms# instead of getting database at a particular frequency, this should be triggered when a new alarm arrives
def_set_alarm_list(self,alarm_list:list):
self.alarm_list=alarm_list
defactive_payload(self,*args)->int:
#alarm_data = self.get_db()
#outdict = {}
full_payload=args[0]
#print(full_payload['alarms'])
currentAlarms=full_payload['alarms']#self.NativeUI.ongoingAlarms # instead of getting database at a particular frequency, this should be triggered when a new alarm arrives
self.alarm_list=currentAlarms
#self._set__alarm_list(currentAlarms)
ifself.oldAlarms!=currentAlarms:
iflen(self.oldAlarms)!=len(currentAlarms):
self.oldAlarms=currentAlarms
self.UpdateAlarm.emit(currentAlarms)
defhandle_newAlarm(self,currentAlarms):
defhandle_newAlarm(self,currentAlarms):# if this is combined with active_payload an error arises
foralarmincurrentAlarms:
alarmCode=alarm["alarm_code"]
ifalarmCodeinself.alarmDict:
...
...
@@ -55,42 +64,20 @@ class AlarmHandler(Handler, QtCore.QObject):
# currentAlarms = self.NativeUI.ongoingAlarms # instead of getting database at a particular frequency, this should be triggered when a new alarm arrives
# Check whether conditions have been met to pass test
assertset_db_return==0,"set_db does not return 0 for a valid payload"
assert(
handler.active_payload()isTrue
),"active_payload was not called when set_db was run."
assert(
payload_database_comparisonisTrue
),"set_db does not set the inputted payload to the database."
deftest_battery_handler():
"""
Tests the battery_handler logic by giving active_payload a sample battery payload (NativeUI/tests/unittests/fixtures/batterySample.json) with a known output status (NativeUI/tests/unittests/fixtures/battery_status_output_sample.json).
"""
# Initalise the battery handler and import sample battery json file
batt_handler=BatteryHandler()
batt_json_file_path=(
os.environ["PYTHONPATH"].split(os.pathsep)[0]
+"/tests/unittests/fixtures/batterySample.json"
)
batt_json=json.load(open(batt_json_file_path))
# Set true/false variables
UpdateBatteryDisplay_activated=False
new_status_correctly_set=False
batt_per_1_correctly_set=False
batt_per_0_correctly_set=False
# Compute battery percent payload information
batt_per_1={"bat85":1}
batt_per_0={"bat85":0}
batt_handler.compute_battery_percent(batt_per_0)
# Mock the get_db function to give the sample input json