code: def test_step_cloner_should_load_sub_steps(tmpdir):
      tape = TapeCallbackFunction()
      p = StepClonerForEachDataInput(
          Pipeline([FitCallbackStep(tape), MultiplyByN(2)])
      ).with_context(CX(tmpdir))
      data_inputs = _create_data((2, 2))
      expected_outputs = _create_data((2, 2))
      p, _ = p.fit_transform(data_inputs, expected_outputs)
  
      p.save(CX(tmpdir), full_dump=True)
  
      loaded_step_cloner = CX(tmpdir).load("StepClonerForEachDataInput")
      assert isinstance(loaded_step_cloner.wrapped, Pipeline)
      assert len(loaded_step_cloner.steps_as_tuple) == len(data_inputs)
      assert isinstance(
          loaded_step_cloner.steps_as_tuple[0][1], Pipeline
      )
      assert isinstance(
          loaded_step_cloner.steps_as_tuple[1][1], Pipeline
      )
  
file_path: Neuraxle/testing_neuraxle/steps/test_step_cloner_for_each_data_input.py
imports: import os
  import numpy
  from neuraxle.base import ExecutionContext
  from neuraxle.hyperparams.distributions import Boolean
  from neuraxle.hyperparams.space import HyperparameterSpace, HyperparameterSamples
  from neuraxle.pipeline import Pipeline
  from neuraxle.steps.loop import StepClonerForEachDataInput
  from neuraxle.steps.misc import FitCallbackStep, TapeCallbackFunction
  from neuraxle.steps.numpy import MultiplyByN
label_desc: Use image node_id 6 for calling a global function with example usage: test_step_cloner_should_load_sub_steps(tmpdir) without return types