@@ -436,6 +436,7 @@ def test_replace(self):
436
436
values = klass (data )
437
437
self .assertRaises (TypeError , values .str .replace , 'a' , repl )
438
438
439
+ def test_replace_callable (self ):
439
440
## GH 15055
440
441
values = Series (['fooBAD__barBAD' , NA ])
441
442
@@ -448,16 +449,19 @@ def test_replace(self):
448
449
# test with wrong number of arguments
449
450
repl = lambda m , bad : None
450
451
re_msg = "^<lambda>\(\) missing 1 required positional argument: 'bad'$"
451
- self .assertRaisesRegex (TypeError , re_msg , values .str .replace , 'a' , repl )
452
+ with tm .assertRaisesRegexp (TypeError , re_msg ):
453
+ values .str .replace ('a' , repl )
452
454
453
455
repl = lambda : None
454
456
re_msg = '^<lambda>\(\) takes 0 positional arguments but 1 was given$'
455
- self .assertRaisesRegex (TypeError , re_msg , values .str .replace , 'a' , repl )
457
+ with tm .assertRaisesRegexp (TypeError , re_msg ):
458
+ values .str .replace ('a' , repl )
456
459
457
460
# test regex named groups
458
461
values = Series (['Foo Bar Baz' , NA ])
462
+ pat = r"(?P<first>\w+) (?P<middle>\w+) (?P<last>\w+)"
459
463
repl = lambda m : m .group ('middle' ).swapcase ()
460
- result = values .str .replace (r"(?P<first>\w+) (?P<middle>\w+) (?P<last>\w+)" , repl )
464
+ result = values .str .replace (pat , repl )
461
465
exp = Series (['bAR' , NA ])
462
466
tm .assert_series_equal (result , exp )
463
467
0 commit comments