def test_close(self): ser = SerialStub() rts = SomfyRTS(ser, interval=0) rts.up(1) self.assertEqual(1, len(ser.output)) self.assertEqual(b'U1\r', ser.output[0]) rts.close() with self.assertRaises(AssertionError): rts.up(2)
def test_close_threaded(self): ser = SerialStub() rts = SomfyRTS(ser, interval=1.0, thread=True) rts.up([1, 2, 3]) sleep(0.5) self.assertEqual(1, len(ser.output)) self.assertEqual(b'U1\r', ser.output[0]) rts.close() sleep(3.0) self.assertEqual(1, len(ser.output))
def test_fast_close(self): ser = SerialStub() rts = SomfyRTS(ser, interval=20.0, thread=True) timer = Timer() rts.up([1, 2, 3]) sleep(0.5) self.assertEqual(1, len(ser.output)) self.assertEqual(b'U1\r', ser.output[0]) rts.close() self.assertAlmostEqual(timer.elapsed, 0.5, places=1) self.assertEqual(1, len(ser.output))