code: def evaluateCubicSpline(self, expected, bc, plot=False):
      n = 11
      x = [
          (float(n - i) * (-1.0) + float(i - 1)) / float(n - 1)
          for i in range(n)
      ]
      y = [self.runge(i) for i in x]
  
      # just for plotting
      real = []
      newx = []
      found = []
  
      if not bc:
          leftBound = 0.0
          rightBound = 0.0
      elif bc == 1:
          leftBound = self.dRunge(x[0])
          rightBound = self.dRunge(x[-1])
      else:  # bc == 2
          leftBound = self.ddRunge(x[0])
          rightBound = self.ddRunge(x[-1])
  
      spline = CubicSpline(
          xPoints=x,
          yPoints=y,
          leftBoundaryFlag=bc,
          leftBoundaryValue=leftBound,
          rightBoundaryFlag=bc,
          rightBoundaryValue=rightBound,
      )
      xval = 0
      k = 0
      for i in range(n + 1):
          if not i:
              jhi = 1
          else:
              jhi = 2
  
          for j in range(1, jhi + 1):
              if not i:
                  xval = x[0] - 1.0
              elif i < n:
                  xval = (
                      float(jhi - j + 1) * x[i - 1]
                      + float(j - 1) * x[i]
                  ) / float(jhi)
              else:
                  if j == 1:
                      xval = x[n - 1]
                  else:
                      xval = x[n - 1] + 1.0
              yval = spline(xval)[0]
              self.assertAlmostEqual(expected[k], yval, 5e-6)
              newx.append(xval)
              found.append(yval)
              real.append(self.runge(xval))
              k += 1
      if plot:
          from pylab import plot, show, legend
  
          plot(newx, found, label="found")
          plot(newx, expected, label="expected")
          plot(newx, real, label="real")
          legend()
          show()
  
file_path: essentia/test/src/unittests/standard/test_cubicspline.py
imports: from essentia_test import *
  from essentia.standard import *
  from numpy import r_, sin, pi
label_desc: Use image node_id 5 for calling the TestCubicSpline obj's underlying member method code with example usage: obj.evaluateCubicSpline(expected, bc, plot) without return types