code: def test_frame_slice(df: pl.DataFrame) -> None:
      # take strategy-generated integer values from the frame as slice bounds.
      # use these bounds to slice the same frame, and then validate the result
      # against a py-native slice of the same data using the same bounds.
      #
      # given the average number of rows in the frames, and the value of
      # max_examples, this will result in close to 5000 test permutations,
      # running in around ~1.5 secs (depending on hardware/etc).
      py_data = df.rows()
  
      for start, stop, step, _ in py_data:
          s = slice(start, stop, step)
          sliced_py_data = py_data[s]
          sliced_df_data = df[s].rows()
  
          assert (
              sliced_py_data == sliced_df_data
          ), f"slice [{start}:{stop}:{step}] failed on df w/len={len(df)}"
  
file_path: polars/py-polars/tests/parametric/test_dataframe.py
imports: from __future__ import annotations
  from hypothesis import example, given, settings
  from hypothesis.strategies import integers
  import polars
  from polars.testing import assert_frame_equal
  from polars.testing.parametric import column, dataframes
label_desc: Use image node_id 5 for calling a global function with example usage: test_frame_slice(df) without return types