code: def test_invalid_points_order(self):
      x = cp.array(
          [0.5, 2.0, 0.0, 4.0, 5.5]
      )  # not ascending or descending
      y = cp.array([0.5, 2.0, 3.0, 4.0, 5.5])
      z = cp.array(
          [
              [1, 2, 1, 2, 1],
              [1, 2, 1, 2, 1],
              [1, 2, 3, 2, 1],
              [1, 2, 2, 2, 1],
              [1, 2, 1, 2, 1],
          ]
      )
      xi = cp.array(
          [
              [1, 2.3, 6.3, 0.5, 3.3, 1.2, 3],
              [1, 3.3, 1.2, -4.0, 5.0, 1.0, 3],
          ]
      ).T
  
      match = "must be strictly ascending or descending"
      with pytest.raises(ValueError, match=match):
          interpn((x, y), z, xi)
  
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 15 for calling the TestInterpN obj's underlying member method code with example usage: obj.test_invalid_points_order() without return types