@@ -185,9 +185,8 @@ def test_set_index_pass_arrays_duplicate(self, frame_of_index_cols, drop,
185185 keys = [box1 (df ['A' ]), box2 (df ['A' ])]
186186
187187 # == 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 , '.*' ):
191190 df .set_index (keys , drop = drop , append = append )
192191 else :
193192 result = df .set_index (keys , drop = drop , append = append )
@@ -225,15 +224,17 @@ def test_set_index_verify_integrity(self, frame_of_index_cols):
225224 'Index has duplicate keys' ):
226225 df .set_index ([df ['A' ], df ['A' ]], verify_integrity = True )
227226
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 ):
229230 df = frame_of_index_cols
230231
231232 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 )
233234
234235 # non-existent key in list with arrays
235236 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 )
237238
238239 def test_construction_with_categorical_index (self ):
239240 ci = tm .makeCategoricalIndex (10 )
0 commit comments