code: def test_fnirs_spread_bads(fname):
      """Test checking of bad markings."""
      # Test spreading upwards in frequency and on raw data
      raw = read_raw_nirx(fname)
      raw.info["bads"] = ["S1_D1 760"]
      info = _fnirs_spread_bads(raw.info)
      assert info["bads"] == ["S1_D1 760", "S1_D1 850"]
  
      # Test spreading downwards in frequency and on od data
      raw = optical_density(raw)
      raw.info["bads"] = raw.ch_names[5:6]
      info = _fnirs_spread_bads(raw.info)
      assert info["bads"] == raw.ch_names[4:6]
  
      # Test spreading multiple bads and on chroma data
      raw = beer_lambert_law(raw)
      raw.info["bads"] = [raw.ch_names[x] for x in [1, 8]]
      info = _fnirs_spread_bads(raw.info)
      assert info["bads"] == [info.ch_names[x] for x in [0, 1, 8, 9]]
  
imports: import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_almost_equal, assert_array_equal
  from mne import create_info
  from mne._fiff.constants import FIFF
  from mne._fiff.pick import _picks_to_idx
  from mne.datasets import testing
  from mne.datasets.testing import data_path
  from mne.io import RawArray, read_raw_nirx
  from mne.preprocessing.nirs import _channel_chromophore, _channel_frequencies, _check_channels_ordered, _fnirs_optode_names, _fnirs_spread_bads, _optode_position, _validate_nirs_info, beer_lambert_law, optical_density, scalp_coupling_index, tddr
label_desc: Use image node_id 4 for calling a global function with example usage: test_fnirs_spread_bads(fname) without return types