code: def test_pipeline_graph_with_step_collection_property_reference_dependency(
      sagemaker_session_mock,
  ):
      custom_step_collection = CustomStepCollection(
          name="TestStepCollection"
      )
      custom_step = CustomStep(
          name="TestStep",
          input_data=custom_step_collection.properties.AlgorithmSpecification.AlgorithmName,
      )
      pipeline = Pipeline(
          name="MyPipeline",
          steps=[custom_step_collection, custom_step],
          sagemaker_session=sagemaker_session_mock,
      )
  
      pipeline_graph = PipelineGraph.from_pipeline(pipeline)
      adjacency_list = pipeline_graph.adjacency_list
      assert ordered(adjacency_list) == ordered(
          {
              "TestStep": [],
              "TestStepCollection-0": ["TestStepCollection-1"],
              "TestStepCollection-1": ["TestStep"],
          }
      )
      _verify_pipeline_graph_traversal(pipeline_graph)
  
imports: from __future__ import absolute_import
  import pytest
  from sagemaker.remote_function.job import _JobSettings
  from sagemaker.workflow.function_step import step
  from sagemaker.workflow.step_outputs import get_step
  from sagemaker.workflow.pipeline import Pipeline, PipelineGraph
  from sagemaker.workflow.condition_step import ConditionStep
  from sagemaker.workflow.conditions import ConditionEquals, ConditionIn, ConditionNot, ConditionOr, ConditionGreaterThan
  from sagemaker.workflow.execution_variables import ExecutionVariables
  from sagemaker.workflow.parameters import ParameterInteger, ParameterString
  from sagemaker.workflow._steps_compiler import CompiledStep
  from tests.unit.sagemaker.workflow.helpers import ordered, CustomStep, CustomStepCollection
label_desc: Use image node_id 14 for calling a global function with example usage: test_pipeline_graph_with_step_collection_property_reference_dependency(sagemaker_session_mock) without return types