code: def test_step_invariant(
      self, xp, scp, sys, sample_time, samples_number
  ):
      time = xp.arange(samples_number) * sample_time
      sys = scp.signal.tf2ss(*sys)
  
      c2d = scp.signal.cont2discrete
      _, yout_cont = scp.signal.step(sys, T=time)
      _, yout_disc = scp.signal.dstep(
          c2d(sys, sample_time, method="zoh"), n=len(time)
      )
      return yout_cont, yout_disc[0]
  
imports: import math
  import cupyx.scipy.signal
  import pytest
  from cupy import testing
label_desc: Use image node_id 2 for calling the TestC2dInvariants obj's underlying member method code with example usage: obj.test_step_invariant(xp, scp, sys, sample_time, samples_number) and returns: yout_cont,  yout_disc