diff --git a/pandas/tests/reshape/merge/test_merge_ordered.py b/pandas/tests/reshape/merge/test_merge_ordered.py index fda4a2eb91fe1..abd61026b4e37 100644 --- a/pandas/tests/reshape/merge/test_merge_ordered.py +++ b/pandas/tests/reshape/merge/test_merge_ordered.py @@ -212,23 +212,10 @@ def test_elements_not_in_by_but_in_df(self): with pytest.raises(KeyError, match=msg): merge_ordered(left, right, on="E", left_by=["G", "h"]) - def test_ffill_validate_fill_method(self): + @pytest.mark.parametrize("invalid_method", ["linear", "carrot"]) + def test_ffill_validate_fill_method(self, left, right, invalid_method): # GH 55884 - df1 = DataFrame({"key": ["a", "c", "e"], "lvalue": [1, 2, 3]}) - df2 = DataFrame({"key": ["b", "c", "d", "f"], "rvalue": [4, 5, 6, 7]}) - - for valid_method in ["ffill", None]: - try: - merge_ordered(df1, df2, on="key", fill_method=valid_method) - except Exception: - pytest.fail(f"Unexpected error with valid fill_method: {valid_method}") - - for invalid_method in ["linear", "carrot"]: - with pytest.raises( - ValueError, - match=re.escape( - "fill_method must be one of ['ffill']. " - f"Got '{invalid_method}' instead." - ), - ): - merge_ordered(df1, df2, on="key", fill_method=invalid_method) + with pytest.raises( + ValueError, match=re.escape("fill_method must be 'ffill' or None") + ): + merge_ordered(left, right, on="key", fill_method=invalid_method)