code: def test_graph_structural_rank():
      # Test square matrix #1
      A = csc_matrix([[1, 1, 0], [1, 0, 1], [0, 1, 0]])
      assert_equal(structural_rank(A), 3)
  
      # Test square matrix #2
      rows = np.array(
          [
              0,
              0,
              0,
              0,
              0,
              1,
              1,
              2,
              2,
              3,
              3,
              3,
              3,
              3,
              3,
              4,
              4,
              5,
              5,
              6,
              6,
              7,
              7,
          ]
      )
      cols = np.array(
          [
              0,
              1,
              2,
              3,
              4,
              2,
              5,
              2,
              6,
              0,
              1,
              3,
              5,
              6,
              7,
              4,
              5,
              5,
              6,
              2,
              6,
              2,
              4,
          ]
      )
      data = np.ones_like(rows)
      B = coo_matrix((data, (rows, cols)), shape=(8, 8))
      assert_equal(structural_rank(B), 6)
  
      # Test non-square matrix
      C = csc_matrix([[1, 0, 2, 0], [2, 0, 4, 0]])
      assert_equal(structural_rank(C), 2)
  
      # Test tall matrix
      assert_equal(structural_rank(C.T), 2)
  
file_path: catboost/contrib/python/scipy/py2/scipy/sparse/csgraph/tests/test_reordering.py
imports: from __future__ import division, print_function, absolute_import
  import numpy
  from numpy.testing import assert_equal
  from scipy.sparse.csgraph import reverse_cuthill_mckee, maximum_bipartite_matching, structural_rank
  from scipy.sparse import diags, csc_matrix, csr_matrix, coo_matrix
label_desc: Use image node_id 4 for calling a global function with example usage: test_graph_structural_rank() without return types