test_reader
Tests for FrameReader context manager.
TestFrameReaderLifecycle ¶
Tests for open/close and context manager behaviour.
test_close_is_idempotent ¶
test_context_manager ¶
Stream is usable inside with-block and cleaned up after.
Source code in gwframe/tests/test_reader.py
test_explicit_close ¶
close() makes subsequent reads raise.
Source code in gwframe/tests/test_reader.py
test_metadata_after_close_raises ¶
Accessing metadata properties after close raises ValueError.
Source code in gwframe/tests/test_reader.py
test_nonexistent_file_raises ¶
test_repr_closed ¶
test_repr_open ¶
repr shows filename, frame count, and channel count.
Source code in gwframe/tests/test_reader.py
TestFrameReaderMetadata ¶
Tests for metadata properties matching get_info / get_channel_details.
test_channel_details ¶
channel_details matches get_channel_details.
Source code in gwframe/tests/test_reader.py
test_channels ¶
channels matches get_info.
test_filename ¶
test_frames ¶
frames list matches get_info.
Source code in gwframe/tests/test_reader.py
test_info ¶
info property matches get_info.
Source code in gwframe/tests/test_reader.py
test_info_is_cached ¶
info property returns same object on repeated access.
test_num_frames ¶
TestFrameReaderMultiChannel ¶
Tests for multi-channel reads matching gwframe.read().
test_read_all_channels ¶
channels=None reads all channels, matching gwframe.read().
Source code in gwframe/tests/test_reader.py
test_read_channel_list ¶
Reading a specific list of channels matches gwframe.read().
Source code in gwframe/tests/test_reader.py
TestFrameReaderMultipleReads ¶
Tests for performing multiple reads from the same reader.
test_interleaved_reads ¶
Interleaving single and multi-channel reads.
Source code in gwframe/tests/test_reader.py
test_multiple_channels_same_reader ¶
Reading different channels sequentially from same reader.
Source code in gwframe/tests/test_reader.py
test_multiple_frames_same_reader ¶
Reading different frame indices sequentially from same reader.
Source code in gwframe/tests/test_reader.py
TestFrameReaderSingleChannel ¶
Tests for single-channel reads matching gwframe.read().
test_invalid_frame_index_raises ¶
Reading an out-of-bounds frame index raises FrameIndexError.
Source code in gwframe/tests/test_reader.py
test_nonexistent_channel_raises ¶
Reading a nonexistent channel raises ChannelNotFoundError.
Source code in gwframe/tests/test_reader.py
test_single_channel_different_frame_index ¶
Reading different frame indices produces correct data.
Source code in gwframe/tests/test_reader.py
test_single_channel_matches_read ¶
FrameReader.read() produces identical arrays to gwframe.read().
Source code in gwframe/tests/test_reader.py
TestFrameReaderTimeSlice ¶
Tests for time-sliced reads matching gwframe.read().
test_invalid_time_range_raises ¶
Out-of-range time slice raises InvalidTimeRangeError.
Source code in gwframe/tests/test_reader.py
test_time_slice_multi_channel ¶
Time-sliced multi-channel read matches gwframe.read().
Source code in gwframe/tests/test_reader.py
test_time_slice_single_channel ¶
Time-sliced single-channel read matches gwframe.read().
Source code in gwframe/tests/test_reader.py
time_slice_file ¶
Create a multi-frame file suitable for time slicing.
Source code in gwframe/tests/test_reader.py
TestFrameReaderValidation ¶
Tests for parameter validation.
test_end_without_start_raises ¶
end without start raises ValueError.
Source code in gwframe/tests/test_reader.py
test_invalid_channels_type_raises ¶
Passing wrong type for channels raises TypeError.
test_start_end_with_frame_index_raises ¶
start/end with non-zero frame_index raises ValueError.
Source code in gwframe/tests/test_reader.py
test_start_without_end_raises ¶
start without end raises ValueError.
Source code in gwframe/tests/test_reader.py
test_validate_checksum ¶
validate_checksum=True works without error on valid files.
Source code in gwframe/tests/test_reader.py
multi_frame_file ¶
Create a multi-frame file with known per-frame data.
Source code in gwframe/tests/test_reader.py
single_frame_file ¶
Create a single-frame file with two proc channels.