code: def test_step_function():
      # test step function
      # step function is a function of t
      s = step_function([0, 4, 5], [2, 4, 6])
      tval = np.array([-0.1, 0, 3.9, 4, 4.1, 5.1])
      lam = lambdify(t, s)
      assert_array_equal(lam(tval), [0, 2, 2, 4, 4, 6])
      s = step_function([0, 4, 5], [4, 2, 1])
      lam = lambdify(t, s)
      assert_array_equal(lam(tval), [0, 4, 4, 2, 2, 1])
      # Name default
      assert not re.match(r"step\d+\(t\)$", str(s)) is None
      # Name reloaded
      s = step_function(
          [0, 4, 5], [4, 2, 1], name="goodie_goodie_yum_yum"
      )
      assert str(s) == "goodie_goodie_yum_yum(t)"
  
imports: import re
  import numpy
  import pytest
  import sympy
  from numpy.testing import assert_almost_equal, assert_array_almost_equal, assert_array_equal
  from sympy import DiracDelta, Dummy, Function, Symbol
  from sympy.utilities.lambdify import implemented_function, lambdify
  from nipy.algorithms.statistics.formula import Term
  from ..None import hrf
  from ..utils import Interp1dNumeric, TimeConvolver, blocks, convolve_functions, define, events, interp, lambdify_t, linear_interp, step_function
label_desc: Use image node_id 5 for calling a global function with example usage: test_step_function() without return types