code: def test_orig_units():
      """Test exposure of original channel units."""
      raw = read_raw_edf(edf_path, preload=True)
  
      # Test original units
      orig_units = raw._orig_units
      assert len(orig_units) == len(raw.ch_names)
      assert (
          orig_units["A1"] == "µV"
      )  # formerly 'uV' edit by _check_orig_units
      del orig_units
  
      raw.rename_channels(dict(A1="AA"))
      assert raw._orig_units["AA"] == "µV"
      raw.rename_channels(dict(AA="A1"))
  
      raw_back = raw.copy().pick(
          raw.ch_names[:1]
      )  # _pick_drop_channels
      assert raw_back.ch_names == ["A1"]
      assert set(raw_back._orig_units) == {"A1"}
      raw_back.add_channels([raw.copy().pick(raw.ch_names[1:])])
      assert raw_back.ch_names == raw.ch_names
      assert set(raw_back._orig_units) == set(raw.ch_names)
      raw_back.reorder_channels(raw.ch_names[::-1])
      assert set(raw_back._orig_units) == set(raw.ch_names)
  
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 1 for calling a global function with example usage: test_orig_units() without return types