9
9
10
10
11
11
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_in_series ):
13
+ if box_in_series :
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_in_series ):
19
+ if box_in_series :
20
+ data = pd .Series (data )
19
21
original = data .copy ()
20
22
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 ]
24
26
25
27
@pytest .mark .parametrize ('as_array' , [True , False ])
26
28
def test_setitem_sequence_mismatched_length_raises (self , data , as_array ):
@@ -32,22 +34,25 @@ def test_setitem_sequence_mismatched_length_raises(self, data, as_array):
32
34
xpr = 'cannot set using a {} indexer with a different length'
33
35
with tm .assert_raises_regex (ValueError , xpr .format ('list-like' )):
34
36
ser [[0 , 1 ]] = value
37
+ assert ser ._values [[0 , 1 ]] == value
35
38
36
39
with tm .assert_raises_regex (ValueError , xpr .format ('slice' )):
37
40
ser [slice (3 )] = value
41
+ assert ser ._values [slice (3 )] == value
38
42
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 )
47
-
48
- arr [[0 , 1 ]] = data [2 ]
49
- assert arr [0 ] == data [2 ]
50
- assert arr [1 ] == data [2 ]
43
+ def test_setitem_empty_indxer (self , data , box_in_series ):
44
+ if box_in_series :
45
+ data = pd .Series (data )
46
+ original = data .copy ()
47
+ data [np .array ([], dtype = int )] = []
48
+ self .assert_equal (data , original )
49
+
50
+ def test_setitem_sequence_broadcasts (self , data , box_in_series ):
51
+ if box_in_series :
52
+ data = pd .Series (data )
53
+ data [[0 , 1 ]] = data [2 ]
54
+ assert data [0 ] == data [2 ]
55
+ assert data [1 ] == data [2 ]
51
56
52
57
@pytest .mark .parametrize ('setter' , ['loc' , 'iloc' ])
53
58
def test_setitem_scalar (self , data , setter ):
0 commit comments