code: def test_has_children_mixin_apply_should_apply_method_to_recursive_childrends():
      p = Pipeline(
          [
              ("a", Identity()),
              ("b", Identity()),
              Pipeline([("c", Identity()), ("d", Identity())]),
          ]
      )
  
      p.apply(
          "_set_hyperparams",
          ra=None,
          hyperparams=HyperparameterSamples(
              {"Pipeline__c__hp": 3, "Pipeline__d__hp": 4}
          ),
      )
  
      assert p["Pipeline"]["c"].hyperparams.to_flat_dict()["hp"] == 3
      assert p["Pipeline"]["d"].hyperparams.to_flat_dict()["hp"] == 4
  
imports: import pytest
  from neuraxle.base import BaseStep
  from neuraxle.base import ExecutionContext
  from neuraxle.base import Identity, NonFittableMixin
  from neuraxle.data_container import DataContainer
  from neuraxle.hyperparams.space import HyperparameterSamples
  from neuraxle.pipeline import Pipeline
  from neuraxle.steps.flow import OptionalStep
  from neuraxle.steps.numpy import MultiplyByN
  from neuraxle.steps.output_handlers import OutputTransformerWrapper
label_desc: Use image node_id 6 for calling a global function with example usage: test_has_children_mixin_apply_should_apply_method_to_recursive_childrends() without return types