Skip to content

Commit ddce1fe

Browse files
add box to be able to directly test setitem
1 parent d9a150c commit ddce1fe

File tree

1 file changed

+29
-25
lines changed

1 file changed

+29
-25
lines changed

pandas/tests/extension/base/setitem.py

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,20 @@
99

1010

1111
class BaseSetitemTests(BaseExtensionTests):
12-
def test_setitem_scalar_series(self, data):
13-
arr = pd.Series(data)
14-
arr[0] = data[1]
15-
assert arr[0] == data[1]
16-
17-
def test_setitem_sequence(self, data):
18-
arr = pd.Series(data)
12+
def test_setitem_scalar_series(self, data, box):
13+
if box:
14+
data = pd.Series(data)
15+
data[0] = data[1]
16+
assert data[0] == data[1]
17+
18+
def test_setitem_sequence(self, data, box):
19+
if box:
20+
data = pd.Series(data)
1921
original = data.copy()
2022

21-
arr[[0, 1]] = [data[1], data[0]]
22-
assert arr[0] == original[1]
23-
assert arr[1] == original[0]
23+
data[[0, 1]] = [data[1], data[0]]
24+
assert data[0] == original[1]
25+
assert data[1] == original[0]
2426

2527
@pytest.mark.parametrize('as_array', [True, False])
2628
def test_setitem_sequence_mismatched_length_raises(self, data, as_array):
@@ -36,25 +38,27 @@ def test_setitem_sequence_mismatched_length_raises(self, data, as_array):
3638
with tm.assert_raises_regex(ValueError, xpr.format('slice')):
3739
ser[slice(3)] = value
3840

39-
def test_setitem_empty_indxer(self, data):
40-
ser = pd.Series(data)
41-
original = ser.copy()
42-
ser[[]] = []
43-
self.assert_series_equal(ser, original)
44-
45-
def test_setitem_sequence_broadcasts(self, data):
46-
arr = pd.Series(data)
41+
def test_setitem_empty_indxer(self, data, box):
42+
if box:
43+
data = pd.Series(data)
44+
original = data.copy()
45+
data[[]] = []
46+
self.assert_series_equal(data, original)
4747

48-
arr[[0, 1]] = data[2]
49-
assert arr[0] == data[2]
50-
assert arr[1] == data[2]
48+
def test_setitem_sequence_broadcasts(self, data, box):
49+
if box:
50+
data = pd.Series(data)
51+
data[[0, 1]] = data[2]
52+
assert data[0] == data[2]
53+
assert data[1] == data[2]
5154

5255
@pytest.mark.parametrize('setter', ['loc', 'iloc'])
53-
def test_setitem_scalar(self, data, setter):
54-
arr = pd.Series(data)
55-
setter = getattr(arr, setter)
56+
def test_setitem_scalar(self, data, box, setter):
57+
if box:
58+
data = pd.Series(data)
59+
setter = getattr(data, setter)
5660
operator.setitem(setter, 0, data[1])
57-
assert arr[0] == data[1]
61+
assert data[0] == data[1]
5862

5963
def test_setitem_loc_scalar_mixed(self, data):
6064
df = pd.DataFrame({"A": np.arange(len(data)), "B": data})

0 commit comments

Comments
 (0)