Skip to content

Commit 2df6f67

Browse files
committed
wip
1 parent c5722c4 commit 2df6f67

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

pandas/tests/frame/indexing/test_indexing.py

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1879,22 +1879,30 @@ def test_add_new_column_infer_string():
18791879
class TestSetitemValidation:
18801880
# This is adapted from pandas/tests/arrays/masked/test_indexing.py
18811881
# but checks for warnings instead of errors.
1882-
def _check_setitem_invalid(self, df, invalid, indexer, warn):
1883-
msg = "Setting an item of incompatible dtype is deprecated"
1884-
msg = re.escape(msg)
1885-
1882+
def _check_setitem_invalid(self, df, invalid, indexer):
18861883
orig_df = df.copy()
18871884

18881885
# iloc
1889-
with tm.assert_produces_warning(warn, match=msg):
1886+
with pytest.raises(TypeError, match="Invalid value"):
18901887
df.iloc[indexer, 0] = invalid
18911888
df = orig_df.copy()
18921889

18931890
# loc
1894-
with tm.assert_produces_warning(warn, match=msg):
1891+
with pytest.raises(TypeError, match="Invalid value"):
18951892
df.loc[indexer, "a"] = invalid
18961893
df = orig_df.copy()
18971894

1895+
def _check_setitem_valid(self, df, invalid, indexer):
1896+
orig_df = df.copy()
1897+
1898+
# iloc
1899+
df.iloc[indexer, 0] = invalid
1900+
df = orig_df.copy()
1901+
1902+
# loc
1903+
df.loc[indexer, "a"] = invalid
1904+
df = orig_df.copy()
1905+
18981906
_invalid_scalars = [
18991907
1 + 2j,
19001908
"True",
@@ -1912,20 +1920,19 @@ def _check_setitem_invalid(self, df, invalid, indexer, warn):
19121920
@pytest.mark.parametrize("indexer", _indexers)
19131921
def test_setitem_validation_scalar_bool(self, invalid, indexer):
19141922
df = DataFrame({"a": [True, False, False]}, dtype="bool")
1915-
self._check_setitem_invalid(df, invalid, indexer, FutureWarning)
1923+
self._check_setitem_invalid(df, invalid, indexer)
19161924

19171925
@pytest.mark.parametrize("invalid", _invalid_scalars + [True, 1.5, np.float64(1.5)])
19181926
@pytest.mark.parametrize("indexer", _indexers)
19191927
def test_setitem_validation_scalar_int(self, invalid, any_int_numpy_dtype, indexer):
19201928
df = DataFrame({"a": [1, 2, 3]}, dtype=any_int_numpy_dtype)
19211929
if isna(invalid) and invalid is not pd.NaT and not np.isnat(invalid):
1922-
warn = None
1930+
self._check_setitem_valid(df, invalid, indexer)
19231931
else:
1924-
warn = FutureWarning
1925-
self._check_setitem_invalid(df, invalid, indexer, warn)
1932+
self._check_setitem_invalid(df, invalid, indexer)
19261933

19271934
@pytest.mark.parametrize("invalid", _invalid_scalars + [True])
19281935
@pytest.mark.parametrize("indexer", _indexers)
19291936
def test_setitem_validation_scalar_float(self, invalid, float_numpy_dtype, indexer):
19301937
df = DataFrame({"a": [1, 2, None]}, dtype=float_numpy_dtype)
1931-
self._check_setitem_invalid(df, invalid, indexer, FutureWarning)
1938+
self._check_setitem_invalid(df, invalid, indexer)

0 commit comments

Comments
 (0)