code: def test_make_eeg_layout(tmp_path):
      """Test creation of EEG layout."""
      lout_orig = read_layout(fname=lout_path / "test_raw.lout")
      info = read_info(fif_fname)
      info["bads"].append(info["ch_names"][360])
      layout = make_eeg_layout(info, exclude=[])
      assert_array_equal(
          len(layout.names),
          len([ch for ch in info["ch_names"] if ch.startswith("EE")]),
      )
      layout.save(str(tmp_path / "foo.lout"))
      lout_new = read_layout(fname=tmp_path / "foo.lout", scale=False)
      assert_array_equal(lout_new.kind, "foo")
      assert_allclose(layout.pos, lout_new.pos, atol=0.1)
      assert_array_equal(lout_orig.names, lout_new.names)
  
      # Test input validation
      pytest.raises(ValueError, make_eeg_layout, info, radius=-0.1)
      pytest.raises(ValueError, make_eeg_layout, info, radius=0.6)
      pytest.raises(ValueError, make_eeg_layout, info, width=-0.1)
      pytest.raises(ValueError, make_eeg_layout, info, width=1.1)
      pytest.raises(ValueError, make_eeg_layout, info, height=-0.1)
      pytest.raises(ValueError, make_eeg_layout, info, height=1.1)
  
imports: import copy
  from pathlib import Path
  import matplotlib.pyplot
  import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_almost_equal, assert_array_equal, assert_equal
  from mne import pick_info, pick_types
  from mne._fiff.constants import FIFF
  from mne._fiff.meas_info import _empty_info
  from mne.channels import find_layout, make_eeg_layout, make_grid_layout, read_layout
  from mne.channels.layout import _box_size, _find_topomap_coords, generate_2d_layout
  from mne.defaults import HEAD_SIZE_DEFAULT
  from mne.io import read_info, read_raw_kit
label_desc: Use image node_id 5 for calling a global function with example usage: test_make_eeg_layout(tmp_path) without return types