Example #1
0
class Test(object):
    def setUp(self):
        # Create instance
        self.serial_interface = SerialInterface("test")

        # Start
        self.serial_interface.start()

    def tearDown(self):
        # Clear instance
        self.serial_interface.clear()

    def test_send_trigger_is_first_trigger_denied(self):
        """Check if first trigger is ignored"""
        time.sleep(1)
        ret_1, ret_2 = self.serial_interface.send_trigger(0)
        assert_false(ret_1)
        assert_equal(ret_2, 0)

    def test_send_trigger(self):
        """Check if trigger is sent to serial port"""

        # Wait for virtual serial port
        time.sleep(1)

        # Send trigger
        self.serial_interface.send_trigger(0)

        # Wait to trigger to be processed
        time.sleep(1)

        # Has the trigger been written to serial port?
        assert_equal(os.read(self.serial_interface.master, 1024), 'T\n')

    def test_run(self):
        """Check if thread functionality works correctly"""

        # Is thread running?
        assert_true(self.serial_interface.is_alive())

        # Stop thread
        self.serial_interface.clear()

        # Wait for thread to shutdown
        time.sleep(1)

        # Is thread still running or has it shut down?
        assert_false(self.serial_interface.is_alive())

    def test_clear(self):
        """Check if if connection to serial port is closed"""

        # Clear thread and close connection
        self.serial_interface.clear()
        assert_true(self.serial_interface.eventProgramEnd.is_set())
        assert_false(self.serial_interface.serial_connection.isOpen())