diff --git a/python/pyarrow/tests/test_compute.py b/python/pyarrow/tests/test_compute.py index ad61dbc48a7..b8cd05c67ac 100644 --- a/python/pyarrow/tests/test_compute.py +++ b/python/pyarrow/tests/test_compute.py @@ -1952,6 +1952,48 @@ def test_fill_null_chunked_array(arrow_type): assert result.equals(expected) +def test_fill_null_windows_regression(): + arr = pa.array([True, False, False, False, False, None]) + s = pa.scalar(True, type=pa.bool_()) + + result = pa.compute.call_function("coalesce", [arr, s]) + expected = pa.array([True, False, False, False, False, True]) + + assert result.equals(expected) + + +def test_fill_null_windows_regression2(): + arr = pa.array([True, False, False, False, False, None]) + s = True + + result = pa.compute.call_function("coalesce", [arr, s]) + expected = pa.array([True, False, False, False, False, True]) + + assert result.equals(expected) + + +def test_fill_null_windows_regression4(): + ty = pa.int64() + arr = pa.array([1, 2, 2, 2, 2, None], type=ty) + s = pa.scalar(1, type=ty) + + result = pa.compute.call_function("coalesce", [arr, s]) + expected = pa.array([1, 2, 2, 2, 2, 1], type=ty) + + assert result.equals(expected) + + +def test_fill_null_windows_regression4(): + ty = pa.int32() + arr = pa.array([1, 2, 2, 2, 2, None], type=ty) + s = pa.scalar(1, type=ty) + + result = pa.compute.call_function("coalesce", [arr, s]) + expected = pa.array([1, 2, 2, 2, 2, 1], type=ty) + + assert result.equals(expected) + + def test_logical(): a = pa.array([True, False, False, None]) b = pa.array([True, True, False, True])