code: def test_periodic_random(self, xp, scp, k):
      # tests for both cases (k > n and k <= n)
      n = 15
      _np.random.seed(1234)
      x = _np.sort(_np.random.random_sample(n) * 10)
      y = _np.random.random_sample(n) * 100
      if xp is cupy:
          x = cupy.asarray(x)
          y = cupy.asarray(y)
  
      y[0] = y[-1]
      b = scp.interpolate.make_interp_spline(
          x, y, k=k, bc_type="periodic"
      )
  
      return b(x)
  
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 4 for calling the TestInterpPeriodic obj's underlying member method code with example usage: obj.test_periodic_random(xp, scp, k) and returns: b