code: def test_plot_surf_contours_error(rng):
      mesh = generate_surf()
      # we need an invalid parcellation for testing
      invalid_parcellation = rng.uniform(size=(mesh[0].shape[0]))
      parcellation = np.zeros((mesh[0].shape[0],))
      parcellation[mesh[1][3]] = 1
      parcellation[mesh[1][5]] = 2
      with pytest.raises(
          ValueError,
          match="Vertices in parcellation do not form region.",
      ):
          plot_surf_contours(mesh, invalid_parcellation)
      fig, axes = plt.subplots(1, 1)
      with pytest.raises(ValueError, match="Axes must be 3D."):
          plot_surf_contours(mesh, parcellation, axes=axes)
      msg = "All elements of colors .* matplotlib .* RGBA"
      with pytest.raises(ValueError, match=msg):
          plot_surf_contours(
              mesh, parcellation, levels=[1, 2], colors=[[1, 2], 3]
          )
      msg = (
          "Levels, labels, and colors argument .* same length or None."
      )
      with pytest.raises(ValueError, match=msg):
          plot_surf_contours(
              mesh,
              parcellation,
              levels=[1, 2],
              colors=["r"],
              labels=["1", "2"],
          )
  
imports: import re
  import tempfile
  import unittest.mock
  import matplotlib.pyplot
  import numpy
  import pytest
  from matplotlib.figure import Figure
  from numpy.testing import assert_array_equal
  from nilearn._utils.helpers import is_kaleido_installed, is_plotly_installed
  from nilearn.conftest import _rng
  from nilearn.datasets import fetch_surf_fsaverage
  from nilearn.plotting.displays import PlotlySurfaceFigure
  from nilearn.plotting.surf_plotting import VALID_HEMISPHERES, VALID_VIEWS, _compute_facecolors_matplotlib, _get_ticks_matplotlib, _get_view_plot_surf_matplotlib, _get_view_plot_surf_plotly, plot_img_on_surf, plot_surf, plot_surf_contours, plot_surf_roi, plot_surf_stat_map
  from nilearn.surface import load_surf_data, load_surf_mesh
  from nilearn.surface.tests._testing import generate_surf
label_desc: Use image node_id 42 for calling a global function with example usage: test_plot_surf_contours_error(rng) without return types