code: def test_slicing():
      assert X[1:5, 2:4] == MatrixSlice(X, (1, 5), (2, 4))
      assert X[1, 2:4] == MatrixSlice(X, 1, (2, 4))
      assert X[1:5, :].shape == (4, X.shape[1])
      assert X[:, 1:5].shape == (X.shape[0], 4)
  
      assert X[::2, ::2].shape == (floor(n / 2), floor(m / 2))
      assert X[2, :] == MatrixSlice(X, 2, (0, m))
      assert X[k, :] == MatrixSlice(X, k, (0, m))
  
file_path: sympy/sympy/matrices/expressions/tests/test_slice.py
imports: from sympy.matrices.expressions.slice import MatrixSlice
  from sympy.matrices.expressions import MatrixSymbol
  from sympy.abc import a, b, c, d, k, l, m, n
  from sympy.testing.pytest import raises, XFAIL
  from sympy.functions.elementary.integers import floor
  from sympy.assumptions import assuming, Q
label_desc: Use image node_id 5 for calling a global function with example usage: test_slicing() without return types