code: def test_valid_create(self):
      # create a 2-D grid of 3 points in each dimension
      points = [(0.0, 0.5, 1.0), (0.0, 1.0, 0.5)]
      values = cp.asarray([0.0, 0.5, 1.0])
      values0 = values[:, cp.newaxis]
      values1 = values[cp.newaxis, :]
      values = values0 + values1 * 10
      assert_raises(ValueError, RegularGridInterpolator, points, values)
      points = [((0.0, 0.5, 1.0),), (0.0, 0.5, 1.0)]
      assert_raises(ValueError, RegularGridInterpolator, points, values)
      points = [(0.0, 0.5, 0.75, 1.0), (0.0, 0.5, 1.0)]
      assert_raises(ValueError, RegularGridInterpolator, points, values)
      points = [(0.0, 0.5, 1.0), (0.0, 0.5, 1.0), (0.0, 0.5, 1.0)]
      assert_raises(ValueError, RegularGridInterpolator, points, values)
      points = [(0.0, 0.5, 1.0), (0.0, 0.5, 1.0)]
      assert_raises(
          ValueError,
          RegularGridInterpolator,
          points,
          values,
          method="undefmethod",
      )
  
imports: import pytest
  import cupy
  from cupy.testing import assert_allclose, assert_array_equal, assert_array_almost_equal
  from cupy_backends.cuda.api import runtime
  from pytest import raises
  from cupyx.scipy.interpolate import RegularGridInterpolator, interpn
label_desc: Use image node_id 10 for calling the TestRegularGridInterpolator obj's underlying member method code with example usage: obj.test_valid_create() without return types