code: def test_invalid_args(self) -> None:
      with pytest.raises(
          ValueError, match="No contour levels specified"
      ):
          contour_data(z=[[0, 1], [2, 3]])
  
      with pytest.raises(
          ValueError, match="Contour levels must be increasing"
      ):
          contour_data(z=[[0, 1], [2, 3]], levels=[2, 1, 0])
  
      with pytest.raises(
          ValueError, match="Contour levels must be increasing"
      ):
          contour_data(z=[[0, 1], [2, 3]], levels=[0, 1, 1])
  
      with pytest.raises(
          TypeError
      ):  # No z, not matching exception string as originates in ContourPy
          contour_data(levels=[1])
  
imports: from __future__ import annotations
  import pytest
  from typing import TYPE_CHECKING
  import numpy
  from bokeh.plotting.contour import FillData, LineData, contour_data, from_contour
label_desc: Use image node_id 4 for calling the Test_contour_data obj's underlying member method code with example usage: obj.test_invalid_args() without return types