class_docstr: Test def add_cyclic(data, x=None, y=None, axis=-1,
                      cyclic=360, precision=1e-4):
  - variations of data, x, and y with and without axis keyword
  - different units of x - cyclic keyword
  - detection of cyclic points - precision keyword
  - error catching
docstr: Catch wrong x size 2d
docstr_tok: ["Catch","wrong","x","size","2d"]
code: def test_invalid_x_size_2d(self):
      """Catch wrong x size 2d"""
      with pytest.raises(ValueError):
          c_data, c_lons = add_cyclic(self.data2d, x=self.lon2d[:, :-1])
  
imports: import numpy
  import numpy.ma
  from numpy.testing import assert_array_equal
  import pytest
  from cartopy.util import add_cyclic, add_cyclic_point, has_cyclic
label_desc: Use image node_id 28 for calling the TestAddCyclic obj's underlying member method code with example usage: obj.test_invalid_x_size_2d() without return types