@@ -1358,11 +1358,42 @@ def test_reindex_api_equivalence(self):
1358
1358
tm .assert_frame_equal (res1 , res )
1359
1359
1360
1360
def test_rename_positional_raises (self ):
1361
+ # GH 29136
1361
1362
df = DataFrame (columns = ["A" , "B" ])
1362
1363
msg = r"rename\(\) takes from 1 to 2 positional arguments"
1364
+
1363
1365
with pytest .raises (TypeError , match = msg ):
1364
1366
df .rename (None , str .lower )
1365
1367
1368
+ def test_rename_no_mappings_raises (self ):
1369
+ # GH 29136
1370
+ df = DataFrame ([[1 ]])
1371
+ msg = "must pass an index to rename"
1372
+ with pytest .raises (TypeError , match = msg ):
1373
+ df .rename ()
1374
+
1375
+ with pytest .raises (TypeError , match = msg ):
1376
+ df .rename (None , index = None )
1377
+
1378
+ with pytest .raises (TypeError , match = msg ):
1379
+ df .rename (None , columns = None )
1380
+
1381
+ with pytest .raises (TypeError , match = msg ):
1382
+ df .rename (None , columns = None , index = None )
1383
+
1384
+ def test_rename_mapper_and_positional_arguments_raises (self ):
1385
+ # GH 29136
1386
+ df = DataFrame ([[1 ]])
1387
+ msg = "Cannot specify both 'mapper' and any of 'index' or 'columns'"
1388
+ with pytest .raises (TypeError , match = msg ):
1389
+ df .rename ({}, index = {})
1390
+
1391
+ with pytest .raises (TypeError , match = msg ):
1392
+ df .rename ({}, columns = {})
1393
+
1394
+ with pytest .raises (TypeError , match = msg ):
1395
+ df .rename ({}, columns = {}, index = {})
1396
+
1366
1397
def test_assign_columns (self , float_frame ):
1367
1398
float_frame ["hi" ] = "there"
1368
1399
0 commit comments