code: def test_polyder():
      cases = [
          ([5], 0, [5]),
          ([5], 1, [0]),
          ([3, 2, 1], 0, [3, 2, 1]),
          ([3, 2, 1], 1, [6, 2]),
          ([3, 2, 1], 2, [6]),
          ([3, 2, 1], 3, [0]),
          ([[3, 2, 1], [5, 6, 7]], 0, [[3, 2, 1], [5, 6, 7]]),
          ([[3, 2, 1], [5, 6, 7]], 1, [[6, 2], [10, 6]]),
          ([[3, 2, 1], [5, 6, 7]], 2, [[6], [10]]),
          ([[3, 2, 1], [5, 6, 7]], 3, [[0], [0]]),
      ]
      for p, m, expected in cases:
          check_polyder(np.array(p).T, m, np.array(expected).T)
  
file_path: catboost/contrib/python/scipy/py3/scipy/signal/tests/test_savitzky_golay.py
imports: import numpy
  from numpy.testing import assert_allclose, assert_equal, assert_almost_equal, assert_array_equal, assert_array_almost_equal
  from scipy.ndimage import convolve1d
  from scipy.signal import savgol_coeffs, savgol_filter
  from scipy.signal._savitzky_golay import _polyder
label_desc: Use image node_id 2 for calling a global function with example usage: test_polyder() without return types