code: def test_string_aliases_7(self, xp, scp):
      # ... and for N-D values:
  
      # cupy and numpy random streams differ for the same seed,
      # hence use numpy.random for both numpy and cupy
      rng = _np.random.RandomState(1234)
      k, n = 3, 22
      x = _np.sort(rng.uniform(size=n))
      y = rng.uniform(size=(n, 5, 6, 7))
      if xp is cupy:
          x = cupy.asarray(x)
          y = cupy.asarray(y)
  
      # now throw in some derivatives
      d_l = [(1, xp.zeros((5, 6, 7)))]
      d_r = [(1, xp.zeros((5, 6, 7)))]
      b1 = scp.interpolate.make_interp_spline(
          x, y, k, bc_type=(d_l, d_r)
      )
      b2 = scp.interpolate.make_interp_spline(
          x, y, k, bc_type="clamped"
      )
      return b1.c, b2.c
  
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 30 for calling the TestInterp obj's underlying member method code with example usage: obj.test_string_aliases_7(xp, scp) and returns: b1,  b2