Method: Polars::Testing#assert_frame_not_equal

Defined in:
lib/polars/testing.rb

#assert_frame_not_equal(left, right, check_row_order: true, check_column_order: true, check_dtype: true, check_exact: false, rtol: 1e-5, atol: 1e-8, categorical_as_str: false) ⇒ nil

Assert that the left and right frame are not equal.

This function is intended for use in unit tests.

Parameters:

  • left (Object)

    The first DataFrame or LazyFrame to compare.

  • right (Object)

    The second DataFrame or LazyFrame to compare.

  • check_row_order (Boolean) (defaults to: true)

    Require row order to match.

  • check_column_order (Boolean) (defaults to: true)

    Require column order to match.

  • check_dtype (Boolean) (defaults to: true)

    Require data types to match.

  • check_exact (Boolean) (defaults to: false)

    Require float values to match exactly. If set to false, values are considered equal when within tolerance of each other (see rtol and atol). Only affects columns with a Float data type.

  • rtol (Float) (defaults to: 1e-5)

    Relative tolerance for inexact checking. Fraction of values in right.

  • atol (Float) (defaults to: 1e-8)

    Absolute tolerance for inexact checking.

  • categorical_as_str (Boolean) (defaults to: false)

    Cast categorical columns to string before comparing. Enabling this helps compare columns that do not share the same string cache.

Returns:

  • (nil)

Raises:

  • (AssertionError)


88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/polars/testing.rb', line 88

def assert_frame_not_equal(
  left,
  right,
  check_row_order: true,
  check_column_order: true,
  check_dtype: true,
  check_exact: false,
  rtol: 1e-5,
  atol: 1e-8,
  categorical_as_str: false
)
  begin
    assert_frame_equal(
      left,
      right,
      check_column_order: check_column_order,
      check_row_order: check_row_order,
      check_dtype: check_dtype,
      check_exact: check_exact,
      rtol: rtol,
      atol: atol,
      categorical_as_str: categorical_as_str
    )
  rescue AssertionError
    return
  end

  msg = "frames are equal"
  raise AssertionError, msg
end