1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- import report
- from tests import testcase, DT_TOGGLE
- import time
- from unittest.test import equivalency_chk
-
-
- class testcase_synchronisation(testcase):
- def __init__(self, tcl, sw_master, br_master, ct_master, *follower):
- super().__init__(tcl)
- self.sw_master = sw_master
- self.br_master = br_master
- self.ct_master = ct_master
- self.follower = follower
- #
- self.__test_list__ = []
- if sw_master is not None:
- self.__test_list__.append('test_power_on_off_sync')
- if br_master is not None:
- self.__test_list__.append('test_brightness_sync')
- if ct_master is not None:
- self.__test_list__.append('test_color_temp_sync')
-
- def test_power_on_off_sync(self, tcel=report.TCEL_FULL):
- self.tcl.testCase("Power On/ Off synchronisation test: %s" % self.sw_master.topic, tcel, self.__test_power_on_off_sync__, tcel)
-
- def __test_power_on_off_sync__(self, tLogger, tcel):
- f_state = self.follower[0].get(self.follower[0].KEY_OUTPUT_0)
- self.sw_master.set(self.sw_master.KEY_OUTPUT_0, f_state)
- time.sleep(DT_TOGGLE)
- tLogger.debug("Setting preconditions for master device '%s'", f_state)
-
- for i in range(0, 2):
- f_state = not f_state
- self.sw_master.set(self.sw_master.KEY_OUTPUT_0, f_state)
- time.sleep(DT_TOGGLE)
- tLogger.debug("Changing master device state to '%s'", f_state)
-
- for fo in self.follower:
- equivalency_chk(fo.get(fo.KEY_OUTPUT_0), f_state, tLogger, "Follower device (%s) state" % fo.topic)
-
- def test_brightness_sync(self, tcel=report.TCEL_FULL):
- self.tcl.testCase("Brightness synchronisation test: %s" % self.br_master.topic, tcel, self.__test_brightness_sync__, tcel)
-
- def __test_brightness_sync__(self, tLogger, tcel):
- sw_state = self.sw_master.get(self.sw_master.KEY_OUTPUT_0)
- self.sw_master.set(self.sw_master.KEY_OUTPUT_0, True)
- time.sleep(DT_TOGGLE)
- tLogger.debug("Setting preconditions for master device '%s' (Power on)", True)
-
- target = self.follower[0].get(self.follower[0].KEY_BRIGHTNESS)
- delta = 15 if target < 50 else -15
- for i in range(0, 2):
- target = target + delta
- self.br_master.set(self.br_master.KEY_BRIGHTNESS, target)
- time.sleep(DT_TOGGLE)
- tLogger.debug("Changing master device brightness to '%d'", target)
- for fo in self.follower:
- equivalency_chk(fo.get(fo.KEY_BRIGHTNESS), target, tLogger, "Follower device (%s) brightness" % fo.topic)
- delta = -delta
-
- # reset changes of precondition
- self.sw_master.set(self.sw_master.KEY_OUTPUT_0, sw_state)
- time.sleep(DT_TOGGLE)
- tLogger.debug("Resetting preconditions for master device '%s' (Power off)", sw_state)
-
- def test_color_temp_sync(self, tcel=report.TCEL_FULL):
- self.tcl.testCase("Color temperature synchronisation test: %s" % self.ct_master.topic, tcel, self.__test_color_temp_sync__, tcel)
-
- def __test_color_temp_sync__(self, tLogger, tcel):
- sw_state = self.sw_master.get(self.sw_master.KEY_OUTPUT_0)
- self.sw_master.set(self.sw_master.KEY_OUTPUT_0, True)
- time.sleep(DT_TOGGLE)
- tLogger.debug("Setting preconditions for master device '%s' (Power on)", True)
-
- target = self.follower[0].get(self.follower[0].KEY_COLOR_TEMP)
- delta = 3 if target < 5 else -3
- for i in range(0, 2):
- target = target + delta
- self.ct_master.set(self.br_master.KEY_COLOR_TEMP, target)
- time.sleep(DT_TOGGLE)
- tLogger.debug("Changing master device color temperature to '%d'", target)
- for fo in self.follower:
- equivalency_chk(fo.get(fo.KEY_COLOR_TEMP), target, tLogger, "Follower device (%s) color temperature" % fo.topic)
- delta = -delta
-
- # reset changes of precondition
- self.sw_master.set(self.sw_master.KEY_OUTPUT_0, sw_state)
- time.sleep(DT_TOGGLE)
- tLogger.debug("Resetting preconditions for master device '%s' (Power off)", sw_state)
|