Пример #1
0
    def test_with_marker_stream(self):
        server = LslDataServer(device_spec=self.device_spec, add_markers=True)
        self.start_server(server)
        device = LslConnector(connection_params={},
                              device_spec=self.device_spec)

        device.connect()
        device.acquisition_init()
        self.assertEquals(self.channels, device.channels)
        self.assertEquals(len(self.channels), len(device.read_data()))
Пример #2
0
    def test_connect(self):
        """Should require a connect call before initialization."""
        device = LslConnector(connection_params={},
                              device_spec=DeviceSpec(
                                  name='LSL',
                                  channels=self.channels,
                                  sample_rate=self.sample_rate))

        with pytest.raises(Exception):
            device.acquisition_init()
Пример #3
0
    def test_device_info_channels(self):
        """Device should list the correct channels"""
        spec = DeviceSpec(name='LSL',
                          channels=self.channels,
                          sample_rate=self.sample_rate)
        device = LslConnector(connection_params={}, device_spec=spec)
        device.connect()
        device.acquisition_init()

        self.assertEqual(self.channels, device.channels)
Пример #4
0
    def test_with_trigger_channel(self):
        """A device with a TRG channel should work as expected."""
        server = LslDataServer(device_spec=self.device_spec)
        self.start_server(server)
        device = LslConnector(connection_params={},
                              device_spec=self.device_spec)

        device.connect()
        device.acquisition_init()
        self.assertEquals(self.channels, device.channels)
Пример #5
0
    def test_incorrect_frequency(self):
        """Provided sample_rate should match sample rate read from device"""
        device = LslConnector(connection_params={},
                              device_spec=DeviceSpec(name='LSL',
                                                     channels=self.channels,
                                                     sample_rate=300))

        device.connect()

        with pytest.raises(Exception):
            device.acquisition_init()
Пример #6
0
    def test_with_marker_stream_included(self):
        server = LslDataServer(device_spec=self.device_spec, add_markers=True)
        self.start_server(server)
        device = LslConnector(connection_params={},
                              device_spec=self.device_spec,
                              include_marker_streams=True)

        device.connect()
        device.acquisition_init()
        self.assertEquals(self.channels + [MARKER_STREAM_NAME],
                          device.channels)
        self.assertEquals(len(self.channels) + 1, len(device.read_data()))
Пример #7
0
    def test_incorrect_number_of_channels(self):
        """A list of channels with len that does not match channel_count should
        raise an exception."""

        spec = DeviceSpec(name='LSL',
                          channels=['ch1', 'ch2'],
                          sample_rate=self.sample_rate)
        device = LslConnector(connection_params={}, device_spec=spec)
        self.assertEqual(spec.channel_count, 2)
        self.assertNotEqual(len(device.channels), self.channel_count)
        device.connect()

        with pytest.raises(Exception):
            device.acquisition_init()
Пример #8
0
    def test_read_data(self):
        """Should produce a valid data record."""
        print(self.device_spec.channels)
        device = LslConnector(connection_params={},
                              device_spec=DeviceSpec(
                                  name='LSL',
                                  channels=self.channels,
                                  sample_rate=self.sample_rate))
        device.connect()
        device.acquisition_init()
        data = device.read_data()

        self.assertTrue(len(data) > 0)
        self.assertEqual(len(data), len(device.channels))

        for channel in data[0:-1]:
            self.assertTrue(isinstance(channel, float))
Пример #9
0
    def test_renaming_columns(self):
        server = LslDataServer(device_spec=self.device_spec,
                               add_markers=True,
                               marker_stream_name='TRG')
        self.start_server(server)
        device = LslConnector(connection_params={},
                              device_spec=self.device_spec,
                              include_marker_streams=True,
                              rename_rules={'TRG': 'TRG_device_stream'})

        device.connect()
        device.acquisition_init()

        expected = [
            'C3', 'C4', 'Cz', 'FPz', 'POz', 'CPz', 'O1', 'O2',
            'TRG_device_stream', 'TRG'
        ]
        self.assertEquals(expected, device.channels)
        self.assertEquals(expected, device.device_info.channels)