code: def test_csc_empty_slices(matrix_input, axis, expected_shape):
      # see gh-11127 for related discussion
      slice_1 = matrix_input.A.shape[0] - 1
      slice_2 = slice_1
      slice_3 = slice_2 - 1
  
      if axis == 0:
          actual_shape_1 = matrix_input[slice_1:slice_2, :].A.shape
          actual_shape_2 = matrix_input[slice_1:slice_3, :].A.shape
      elif axis == 1:
          actual_shape_1 = matrix_input[:, slice_1:slice_2].A.shape
          actual_shape_2 = matrix_input[:, slice_1:slice_3].A.shape
      elif axis == "both":
          actual_shape_1 = matrix_input[
              slice_1:slice_2, slice_1:slice_2
          ].A.shape
          actual_shape_2 = matrix_input[
              slice_1:slice_3, slice_1:slice_3
          ].A.shape
  
      assert actual_shape_1 == expected_shape
      assert actual_shape_1 == actual_shape_2
  
file_path: catboost/contrib/python/scipy/py3/scipy/sparse/tests/test_csc.py
imports: import numpy
  from numpy.testing import assert_array_almost_equal, assert_
  from scipy.sparse import csr_matrix, csc_matrix, lil_matrix
  import pytest
label_desc: Use image node_id 3 for calling a global function with example usage: test_csc_empty_slices(matrix_input, axis, expected_shape) without return types