|
1 | 1 | import numpy as np
|
2 | 2 | import pytest
|
3 | 3 |
|
| 4 | +from pandas.errors import ChainedAssignmentError |
4 | 5 | import pandas.util._test_decorators as td
|
5 | 6 |
|
6 | 7 | from pandas import (
|
@@ -49,11 +50,12 @@ def test_fillna_on_column_view(self, using_copy_on_write):
|
49 | 50 | arr = np.full((40, 50), np.nan)
|
50 | 51 | df = DataFrame(arr, copy=False)
|
51 | 52 |
|
52 |
| - # TODO(CoW): This should raise a chained assignment error |
53 |
| - df[0].fillna(-1, inplace=True) |
54 | 53 | if using_copy_on_write:
|
| 54 | + with tm.assert_produces_warning(ChainedAssignmentError): |
| 55 | + df[0].fillna(-1, inplace=True) |
55 | 56 | assert np.isnan(arr[:, 0]).all()
|
56 | 57 | else:
|
| 58 | + df[0].fillna(-1, inplace=True) |
57 | 59 | assert (arr[:, 0] == -1).all()
|
58 | 60 |
|
59 | 61 | # i.e. we didn't create a new 49-column block
|
@@ -105,7 +107,9 @@ def test_fillna_mixed_float(self, mixed_float_frame):
|
105 | 107 | result = mf.fillna(method="pad")
|
106 | 108 | _check_mixed_float(result, dtype={"C": None})
|
107 | 109 |
|
108 |
| - def test_fillna_empty(self): |
| 110 | + def test_fillna_empty(self, using_copy_on_write): |
| 111 | + if using_copy_on_write: |
| 112 | + pytest.skip("condition is unnecessary complex and is deprecated anyway") |
109 | 113 | # empty frame (GH#2778)
|
110 | 114 | df = DataFrame(columns=["x"])
|
111 | 115 | for m in ["pad", "backfill"]:
|
|
0 commit comments