Skip to content
387 changes: 381 additions & 6 deletions tests/component/conftest.py

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
from tests.component.conftest import (
_bool_array_to_int,
_get_expected_data_for_line,
_get_expected_digital_data,
_get_digital_data,
_get_expected_digital_port_data_port_major,
_get_expected_digital_port_data_sample_major,
_get_num_lines_in_task,
_get_num_di_lines_in_task,
_get_waveform_data,
_is_timestamp_close_to_now,
_read_and_copy,
Expand All @@ -33,13 +33,13 @@ def test___digital_multi_channel_reader___read_one_sample_one_line___returns_val
di_single_line_task: nidaqmx.Task,
) -> None:
reader = DigitalMultiChannelReader(di_single_line_task.in_stream)
num_lines = _get_num_lines_in_task(di_single_line_task)
num_lines = _get_num_di_lines_in_task(di_single_line_task)
samples_to_read = 256
sample = numpy.full(num_lines, False, dtype=numpy.bool_)

data = [_read_and_copy(reader.read_one_sample_one_line, sample) for _ in range(samples_to_read)]

assert [_bool_array_to_int(sample) for sample in data] == _get_expected_digital_data(
assert [_bool_array_to_int(sample) for sample in data] == _get_digital_data(
num_lines, samples_to_read
)

Expand All @@ -48,7 +48,7 @@ def test___digital_multi_channel_reader___read_one_sample_one_line_with_wrong_dt
di_single_line_task: nidaqmx.Task,
) -> None:
reader = DigitalMultiChannelReader(di_single_line_task.in_stream)
num_lines = _get_num_lines_in_task(di_single_line_task)
num_lines = _get_num_di_lines_in_task(di_single_line_task)
data = numpy.full(num_lines, math.inf, dtype=numpy.float64)

with pytest.raises((ctypes.ArgumentError, TypeError)) as exc_info:
Expand All @@ -69,7 +69,7 @@ def test___digital_multi_channel_reader___read_one_sample_multi_line___returns_v
_read_and_copy(reader.read_one_sample_multi_line, sample) for _ in range(samples_to_read)
]

assert [_bool_array_to_int(sample[:, 0]) for sample in data] == _get_expected_digital_data(
assert [_bool_array_to_int(sample[:, 0]) for sample in data] == _get_digital_data(
num_channels, samples_to_read
)

Expand Down Expand Up @@ -328,7 +328,7 @@ def test___digital_multi_channel_multi_line_reader___read_waveforms___returns_va
) -> None:
reader = DigitalMultiChannelReader(di_multi_chan_multi_line_timing_task.in_stream)
num_channels = di_multi_chan_multi_line_timing_task.number_of_channels
num_lines = _get_num_lines_in_task(di_multi_chan_multi_line_timing_task)
num_lines = _get_num_di_lines_in_task(di_multi_chan_multi_line_timing_task)
samples_to_read = 10
waveforms = [DigitalWaveform(samples_to_read) for _ in range(num_channels)]

Expand All @@ -354,7 +354,7 @@ def test___digital_multi_channel_different_lines_reader___read_waveforms___retur
) -> None:
reader = DigitalMultiChannelReader(di_multi_chan_diff_lines_timing_task.in_stream)
num_channels = di_multi_chan_diff_lines_timing_task.number_of_channels
num_lines = _get_num_lines_in_task(di_multi_chan_diff_lines_timing_task)
num_lines = _get_num_di_lines_in_task(di_multi_chan_diff_lines_timing_task)
samples_to_read = 10
waveforms = [
DigitalWaveform(samples_to_read, 1),
Expand Down Expand Up @@ -406,7 +406,7 @@ def test___digital_multi_channel_lines_and_port_reader___read_waveforms___return
) -> None:
reader = DigitalMultiChannelReader(di_multi_chan_lines_and_port_task.in_stream)
num_channels = di_multi_chan_lines_and_port_task.number_of_channels
num_lines = _get_num_lines_in_task(di_multi_chan_lines_and_port_task)
num_lines = _get_num_di_lines_in_task(di_multi_chan_lines_and_port_task)
samples_to_read = 10
waveforms = [
DigitalWaveform(samples_to_read, 1),
Expand Down Expand Up @@ -492,7 +492,7 @@ def test___digital_multi_channel_multi_line_reader___read_waveforms_no_args___re
) -> None:
reader = DigitalMultiChannelReader(di_multi_chan_multi_line_timing_task.in_stream)
num_channels = di_multi_chan_multi_line_timing_task.number_of_channels
num_lines = _get_num_lines_in_task(di_multi_chan_multi_line_timing_task)
num_lines = _get_num_di_lines_in_task(di_multi_chan_multi_line_timing_task)
waveforms = [DigitalWaveform(50) for _ in range(num_channels)]

samples_read = reader.read_waveforms(waveforms)
Expand All @@ -516,7 +516,7 @@ def test___digital_multi_channel_multi_line_reader___read_waveforms_in_place___p
) -> None:
reader = DigitalMultiChannelReader(di_multi_chan_multi_line_timing_task.in_stream)
num_channels = di_multi_chan_multi_line_timing_task.number_of_channels
num_lines = _get_num_lines_in_task(di_multi_chan_multi_line_timing_task)
num_lines = _get_num_di_lines_in_task(di_multi_chan_multi_line_timing_task)
samples_to_read = 10

waveforms = [DigitalWaveform(samples_to_read) for _ in range(num_channels)]
Expand Down Expand Up @@ -614,7 +614,7 @@ def test___digital_multi_channel_multi_line_reader_with_timing_flag___read_wavef
in_stream.waveform_attribute_mode = WaveformAttributeMode.TIMING
reader = DigitalMultiChannelReader(in_stream)
num_channels = di_multi_chan_multi_line_timing_task.number_of_channels
num_lines = _get_num_lines_in_task(di_multi_chan_multi_line_timing_task)
num_lines = _get_num_di_lines_in_task(di_multi_chan_multi_line_timing_task)
samples_to_read = 10
waveforms = [DigitalWaveform(samples_to_read) for _ in range(num_channels)]

Expand Down Expand Up @@ -642,7 +642,7 @@ def test___digital_multi_channel_multi_line_reader_with_extended_properties_flag
in_stream.waveform_attribute_mode = WaveformAttributeMode.EXTENDED_PROPERTIES
reader = DigitalMultiChannelReader(in_stream)
num_channels = di_multi_chan_multi_line_timing_task.number_of_channels
num_lines = _get_num_lines_in_task(di_multi_chan_multi_line_timing_task)
num_lines = _get_num_di_lines_in_task(di_multi_chan_multi_line_timing_task)
samples_to_read = 10
waveforms = [DigitalWaveform(samples_to_read) for _ in range(num_channels)]

Expand Down Expand Up @@ -670,7 +670,7 @@ def test___digital_multi_channel_multi_line_reader_with_both_flags___read_wavefo
)
reader = DigitalMultiChannelReader(in_stream)
num_channels = di_multi_chan_multi_line_timing_task.number_of_channels
num_lines = _get_num_lines_in_task(di_multi_chan_multi_line_timing_task)
num_lines = _get_num_di_lines_in_task(di_multi_chan_multi_line_timing_task)
samples_to_read = 10
waveforms = [DigitalWaveform(samples_to_read) for _ in range(num_channels)]

Expand Down Expand Up @@ -698,7 +698,7 @@ def test___digital_multi_channel_multi_line_reader_with_none_flag___read_wavefor
in_stream.waveform_attribute_mode = WaveformAttributeMode.NONE
reader = DigitalMultiChannelReader(in_stream)
num_channels = di_multi_chan_multi_line_timing_task.number_of_channels
num_lines = _get_num_lines_in_task(di_multi_chan_multi_line_timing_task)
num_lines = _get_num_di_lines_in_task(di_multi_chan_multi_line_timing_task)
samples_to_read = 10
waveforms = [DigitalWaveform(samples_to_read) for _ in range(num_channels)]

Expand Down
Loading
Loading