code: def test_assert_frame_equal_ignore_row_order() -> None:
      df1 = pl.DataFrame({"a": [1, 2], "b": [4, 3]})
      df2 = pl.DataFrame({"a": [2, 1], "b": [3, 4]})
      df3 = pl.DataFrame({"b": [3, 4], "a": [2, 1]})
      with pytest.raises(
          AssertionError, match="value mismatch for column 'a'"
      ):
          assert_frame_equal(df1, df2)
  
      assert_frame_equal(df1, df2, check_row_order=False)
      # eg:
      # ┌─────┬─────┐      ┌─────┬─────┐
      # │ a   ┆ b   │      │ a   ┆ b   │
      # │ --- ┆ --- │      │ --- ┆ --- │
      # │ i64 ┆ i64 │ (eq) │ i64 ┆ i64 │
      # ╞═════╪═════╡  ==  ╞═════╪═════╡
      # │ 1   ┆ 4   │      │ 2   ┆ 3   │
      # │ 2   ┆ 3   │      │ 1   ┆ 4   │
      # └─────┴─────┘      └─────┴─────┘
  
      with pytest.raises(
          AssertionError, match="columns are not in the same order"
      ):
          assert_frame_equal(df1, df3, check_row_order=False)
  
      assert_frame_equal(
          df1, df3, check_row_order=False, check_column_order=False
      )
  
      # note: not all column types support sorting
      with pytest.raises(
          InvalidAssert,
          match="cannot set `check_row_order=False`.*unsortable columns",
      ):
          assert_frame_equal(
              left=pl.DataFrame({"a": [[1, 2], [3, 4]], "b": [3, 4]}),
              right=pl.DataFrame({"a": [[3, 4], [1, 2]], "b": [4, 3]}),
              check_row_order=False,
          )
  
file_path: polars/py-polars/tests/unit/testing/test_assert_frame_equal.py
imports: from __future__ import annotations
  import math
  from typing import Any
  import pytest
  import polars
  from polars.exceptions import InvalidAssert
  from polars.testing import assert_frame_equal, assert_frame_not_equal
label_desc: Use image node_id 11 for calling a global function with example usage: test_assert_frame_equal_ignore_row_order() without return types