code: def test_check_compensation_consistency():
      """Test check picks compensation."""
      raw = read_raw_ctf(ctf_fname, preload=False)
      events = make_fixed_length_events(raw, 99999)
      picks = pick_types(raw.info, meg=True, exclude=[], ref_meg=True)
      pick_ch_names = [raw.info["ch_names"][idx] for idx in picks]
      for comp, expected_result in zip([0, 1], [False, False]):
          raw.apply_gradient_compensation(comp)
          ret, missing = _bad_chans_comp(raw.info, pick_ch_names)
          assert ret == expected_result
          assert len(missing) == 0
          Epochs(
              raw, events, None, -0.2, 0.2, preload=False, picks=picks
          )
  
      picks = pick_types(raw.info, meg=True, exclude=[], ref_meg=False)
      pick_ch_names = [raw.info["ch_names"][idx] for idx in picks]
  
      for comp, expected_result in zip([0, 1], [False, True]):
          raw.apply_gradient_compensation(comp)
          ret, missing = _bad_chans_comp(raw.info, pick_ch_names)
          assert ret == expected_result
          assert len(missing) == 17
          with catch_logging() as log:
              Epochs(
                  raw,
                  events,
                  None,
                  -0.2,
                  0.2,
                  preload=False,
                  picks=picks,
                  verbose=True,
              )
              assert "Removing 5 compensators" in log.getvalue()
  
imports: import pickle
  import string
  from datetime import date, datetime, timedelta, timezone
  from pathlib import Path
  import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_equal
  from scipy import sparse
  from mne import Annotations, Epochs, compute_covariance, make_forward_solution, make_sphere_model, pick_info, pick_types, read_cov, read_epochs, read_events, read_evokeds, read_forward_solution, setup_volume_source_space, write_cov, write_forward_solution
  from mne._fiff import meas_info
  from mne._fiff._digitization import DigPoint, _make_dig_points
  from mne._fiff.constants import FIFF
  from mne._fiff.meas_info import RAW_INFO_FIELDS, Info, MNEBadsList, _add_timedelta_to_stamp, _bad_chans_comp, _dt_to_stamp, _force_update_info, _get_valid_units, _merge_info, _read_extended_ch_info, _stamp_to_dt, anonymize_info, create_info, read_fiducials, read_info, write_fiducials, write_info
  from mne._fiff.proj import Projection
  from mne._fiff.tag import _coil_trans_to_loc, _loc_to_coil_trans
  from mne._fiff.write import DATE_NONE, _generate_meas_id
  from mne.channels import equalize_channels, make_standard_montage, read_polhemus_fastscan
  from mne.datasets import testing
  from mne.event import make_fixed_length_events
  from mne.io import BaseRaw, RawArray, read_raw_ctf, read_raw_fif
  from mne.minimum_norm import apply_inverse, make_inverse_operator, read_inverse_operator, write_inverse_operator
  from mne.transforms import Transform
  from mne.utils import _empty_hash, _record_warnings, assert_object_equal, catch_logging
label_desc: Use image node_id 21 for calling a global function with example usage: test_check_compensation_consistency() without return types