@@ -185,9 +185,8 @@ def test_set_index_pass_arrays_duplicate(self, frame_of_index_cols, drop,
185
185
keys = [box1 (df ['A' ]), box2 (df ['A' ])]
186
186
187
187
# == gives ambiguous Boolean for Series
188
- if keys [0 ] is 'A' and keys [1 ] is 'A' :
189
- with tm .assert_raises_regex (ValueError ,
190
- 'Passed duplicate column names.*' ):
188
+ if drop and keys [0 ] is 'A' and keys [1 ] is 'A' :
189
+ with tm .assert_raises_regex (KeyError , '.*' ):
191
190
df .set_index (keys , drop = drop , append = append )
192
191
else :
193
192
result = df .set_index (keys , drop = drop , append = append )
@@ -225,15 +224,17 @@ def test_set_index_verify_integrity(self, frame_of_index_cols):
225
224
'Index has duplicate keys' ):
226
225
df .set_index ([df ['A' ], df ['A' ]], verify_integrity = True )
227
226
228
- def test_set_index_raise (self , frame_of_index_cols ):
227
+ @pytest .mark .parametrize ('append' , [True , False ])
228
+ @pytest .mark .parametrize ('drop' , [True , False ])
229
+ def test_set_index_raise (self , frame_of_index_cols , drop , append ):
229
230
df = frame_of_index_cols
230
231
231
232
with tm .assert_raises_regex (KeyError , '.*' ): # column names are A-E
232
- df .set_index (['foo' , 'bar' , 'baz' ], verify_integrity = True )
233
+ df .set_index (['foo' , 'bar' , 'baz' ], drop = drop , append = append )
233
234
234
235
# non-existent key in list with arrays
235
236
with tm .assert_raises_regex (KeyError , '.*' ):
236
- df .set_index ([df ['A' ], df ['B' ], 'X' ], verify_integrity = True )
237
+ df .set_index ([df ['A' ], df ['B' ], 'X' ], drop = drop , append = append )
237
238
238
239
def test_construction_with_categorical_index (self ):
239
240
ci = tm .makeCategoricalIndex (10 )
0 commit comments