code: def test_connected_graph_shortest_path_length(graphs):
      cugraph_G, cupy_df = graphs
  
      path_1_to_1_length = cugraph.shortest_path_length(cugraph_G, 1, 1)
      # FIXME: aren't the first two assertions in each batch redundant?
      assert path_1_to_1_length == 0.0
      assert (
          path_1_to_1_length
          == paths_golden_results["shortest_path_length_1_1"]
      )
      assert path_1_to_1_length == cugraph.shortest_path_length(
          cupy_df, 1, 1
      )
  
      path_1_to_5_length = cugraph.shortest_path_length(cugraph_G, 1, 5)
      assert path_1_to_5_length == 2.0
      assert (
          path_1_to_5_length
          == paths_golden_results["shortest_path_length_1_5"]
      )
      assert path_1_to_5_length == cugraph.shortest_path_length(
          cupy_df, 1, 5
      )
  
      path_1_to_3_length = cugraph.shortest_path_length(cugraph_G, 1, 3)
      assert path_1_to_3_length == 2.0
      assert (
          path_1_to_3_length
          == paths_golden_results["shortest_path_length_1_3"]
      )
      assert path_1_to_3_length == cugraph.shortest_path_length(
          cupy_df, 1, 3
      )
  
      path_1_to_6_length = cugraph.shortest_path_length(cugraph_G, 1, 6)
      assert path_1_to_6_length == 2.0
      assert (
          path_1_to_6_length
          == paths_golden_results["shortest_path_length_1_6"]
      )
      assert path_1_to_6_length == cugraph.shortest_path_length(
          cupy_df, 1, 6
      )
  
file_path: cugraph/python/cugraph/cugraph/tests/traversal/test_paths.py
imports: import sys
  from tempfile import NamedTemporaryFile
  import math
  import numpy
  import pytest
  import cudf
  import cupy
  import cugraph
  from cugraph.testing import get_resultset, load_resultset
  from cupyx.scipy.sparse import coo_matrix
label_desc: Use image node_id 3 for calling a global function with example usage: test_connected_graph_shortest_path_length(graphs) without return types