code: def test_monotone(self):
      # PCHIP should preserve monotonicty
      p, xi, yi = self._make_random()
      for i in range(len(xi) - 1):
          x1, x2 = xi[i], xi[i + 1]
          y1, y2 = yi[i], yi[i + 1]
          xp = np.linspace(x1, x2, 10)
          yp = p(xp)
          assert_(((y2 - y1) * (yp[1:] - yp[:1]) > 0).all())
  
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 3 for calling the TestPCHIP obj's underlying member method code with example usage: obj.test_monotone() without return types