code: def test_nag(self):
      # Example from NAG C implementation,
      # http://nag.com/numeric/cl/nagdoc_cl25/html/e01/e01bec.html
      # suggested in gh-5326 as a smoke test for the way the derivatives
      # are computed (see also gh-3453)
      dataStr = """
            7.99   0.00000E+0
            8.09   0.27643E-4
            8.19   0.43750E-1
            8.70   0.16918E+0
            9.20   0.46943E+0
           10.00   0.94374E+0
           12.00   0.99864E+0
           15.00   0.99992E+0
           20.00   0.99999E+0
          """
      data = np.loadtxt(io.StringIO(dataStr))
      pch = pchip(data[:, 0], data[:, 1])
  
      resultStr = """
             7.9900       0.0000
             9.1910       0.4640
            10.3920       0.9645
            11.5930       0.9965
            12.7940       0.9992
            13.9950       0.9998
            15.1960       0.9999
            16.3970       1.0000
            17.5980       1.0000
            18.7990       1.0000
            20.0000       1.0000
          """
      result = np.loadtxt(io.StringIO(resultStr))
      assert_allclose(
          result[:, 1], pch(result[:, 0]), rtol=0.0, atol=5e-5
      )
  
imports: import warnings
  import io
  import numpy
  from numpy.testing import assert_almost_equal, assert_array_equal, assert_array_almost_equal, assert_allclose, assert_equal, assert_
  from pytest import raises
  from scipy.interpolate import KroghInterpolator, krogh_interpolate, BarycentricInterpolator, barycentric_interpolate, approximate_taylor_polynomial, CubicHermiteSpline, pchip, PchipInterpolator, pchip_interpolate, Akima1DInterpolator, CubicSpline, make_interp_spline
label_desc: Use image node_id 5 for calling the TestPCHIP obj's underlying member method code with example usage: obj.test_nag() without return types