code: def test_deriv_spec(self):
      # If one of the derivatives is omitted, the spline definition is
      # incomplete.
      x = y = [1.0, 2, 3, 4, 5, 6]
  
      with pytest.raises(ValueError):
          csi.make_interp_spline(x, y, bc_type=([(1, 0.0)], None))
  
      with pytest.raises(ValueError):
          csi.make_interp_spline(x, y, bc_type=(1, 0.0))
  
      with pytest.raises(ValueError):
          csi.make_interp_spline(x, y, bc_type=[(1, 0.0)])
  
      with pytest.raises(ValueError):
          csi.make_interp_spline(x, y, bc_type=42)
  
      # CubicSpline expects`bc_type=(left_pair, right_pair)`, while
      # here we expect `bc_type=(iterable, iterable)`.
      l, r = (1, 0.0), (1, 0.0)
      with pytest.raises(ValueError):
          csi.make_interp_spline(x, y, bc_type=(l, r))
  
imports: import pytest
  import cupy
  from cupy import testing
  from cupy.cuda import runtime
  import numpy
  import cupyx.scipy.interpolate
label_desc: Use image node_id 31 for calling the TestInterp obj's underlying member method code with example usage: obj.test_deriv_spec() without return types