code: def test_no_data_channels():
      """Test that we can load with no data channels."""
      # analog
      raw = read_raw_edf(edf_path, preload=True)
      picks = pick_types(raw.info, stim=True)
      assert list(picks) == [len(raw.ch_names) - 1]
      stim_data = raw[picks][0]
      raw = read_raw_edf(edf_path, exclude=raw.ch_names[:-1])
      stim_data_2 = raw[0][0]
      assert_array_equal(stim_data, stim_data_2)
      raw.plot()  # smoke test
      # annotations
      raw = read_raw_edf(edf_overlap_annot_path)
      picks = pick_types(raw.info, stim=True)
      assert picks.size == 0
      annot = raw.annotations
      raw = read_raw_edf(edf_overlap_annot_path, exclude=raw.ch_names)
      annot_2 = raw.annotations
      _assert_annotations_equal(annot, annot_2)
      # only annotations (should warn)
      with pytest.warns(RuntimeWarning, match="read_annotations"):
          read_raw_edf(edf_annot_only)
  
imports: import datetime
  from contextlib import nullcontext
  from functools import partial
  from pathlib import Path
  import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_almost_equal, assert_array_equal, assert_equal
  from scipy.io import loadmat
  from mne import Annotations, pick_types
  from mne._fiff.pick import channel_indices_by_type, get_channel_type_constants
  from mne.annotations import _ndarray_ch_names, events_from_annotations, read_annotations
  from mne.datasets import testing
  from mne.io import edf, read_raw_bdf, read_raw_edf, read_raw_fif, read_raw_gdf
  from mne.io.edf.edf import _edf_str, _parse_prefilter_string, _read_annotations_edf, _read_ch, _read_edf_header, _read_header
  from mne.io.tests.test_raw import _test_raw_reader
  from mne.tests.test_annotations import _assert_annotations_equal
label_desc: Use image node_id 13 for calling a global function with example usage: test_no_data_channels() without return types