class DeviceTest(unittest.TestCase): def setUp(self): self.block_size = 1 self.blocks = 100 self.dev = Device("data", self.block_size, self.blocks) self.data = [randrange(0, 256) for i in range(0, self.blocks)] for i, block in enumerate(self.data): self.dev.write_block(i, chr(block)) def test_memory_read(self): self.should_preserve_data(self.dev) def test_file_read(self): self.dev.close() dev = Device("data", self.block_size, self.blocks) self.should_preserve_data(dev) def should_preserve_data(self, dev): for i, block in enumerate(self.data): read = dev.read_block(i) self.assertEqual(read, chr(block)) @unittest.expectedFailure def test_fail_to_write_data_bigger_than_block(self): self.dev.write_block(0, b'aa') @unittest.expectedFailure def test_fail_with_out_of_bounds(self): self.dev.write_block(self.blocks + 1, b'a') def tearDown(self): self.dev.close()
def close(self): """Recursively calls close() an all served devicess""" print('DeviceServer will now close', self.devices) for b in self.devices: print('DeviceServer closing:', b, repr(b.close)) b.close() print('Done') Device.close(self)
class TC_ZC_FUNC(unittest.TestCase): @classmethod def setUpClass(self): self.dev = Device(TEST_DEVICE) self.mGS = GSMonitor(self.dev) self.mCfg = ConfigManager(self.dev) @classmethod def tearDownClass(self): self.mCfg.close() self.mGS.close() self.dev.close() def test_zc_generating(self): self.assertEqual(self.dev.isFSRunning(), True, "Fusion Sensor is not running.") self.mCfg.setZoneCountMode() time.sleep(5*60) self.assertTrue(self.dev.isNewDataOnDevice("zone-count") or self.mGS.isNewZoneCountUploaded(), "Failed to find new zone-count data" ) print("ZoneCount generating is approved")
class TC_LOI_FUNC(unittest.TestCase): @classmethod def setUpClass(self): self.dev = Device(TEST_DEVICE) self.mGS = GSMonitor(self.dev) self.mCfg = ConfigManager(self.dev) @classmethod def tearDownClass(self): self.mCfg.close() self.mGS.close() self.dev.close() def test_loi_generating(self): self.assertEqual(self.dev.isFSRunning(), True, "Fusion Sensor is not running.") self.mCfg.setLoiMode() time.sleep(8*60) self.assertTrue(self.dev.isNewDataOnDevice("loi") or self.mGS.isNewLoiUploaded(), "Failed to find new loi data" ) print("Loi generating is approved")
class TC_AUDIO_FUNC_001(unittest.TestCase): @classmethod def setUpClass(self): self.dev = Device(TEST_DEVICE) self.mGS = GSMonitor(self.dev) self.mCfg = ConfigManager(self.dev) @classmethod def tearDownClass(self): self.mCfg.close() self.mGS.close() self.dev.close() def test_audio_generating(self): self.assertEqual(self.dev.isFSRunning(), True, "Fusion Sensor is not running.") self.mCfg.setTrackingMode() self.mCfg.setAudio(True) time.sleep(6*60) self.assertTrue(self.dev.isNewDataOnDevice("audio") or self.mGS.isNewAudioUploaded(), "Failed to find new audio data" ) print("Audio generating is approved")
def close(self): print 'Physical.close', repr(self) Device.close(self)