code: def _verify_pipeline_graph_traversal(pipeline_graph):
      adjacency_list = pipeline_graph.adjacency_list
      traversed_steps = []
      for _step in pipeline_graph:
          # the traversal order of a PipelineGraph needs to be a topological sort traversal
          # i.e. parent steps are always traversed before their children steps
          assert isinstance(_step, (CompiledStep, ConditionStep))
          assert _step not in traversed_steps
          for children_steps in adjacency_list[_step.name]:
              assert children_steps not in traversed_steps
          traversed_steps.append(_step)
  
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 25 for calling a global function with example usage: _verify_pipeline_graph_traversal(pipeline_graph) without return types