Skip to content

Commit f15ee2a

Browse files
author
Joost Kranendonk
committed
improve test .str.replace with callable
- separate test function - fix missing assertRaisesRegex(p)
1 parent 14beb21 commit f15ee2a

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

pandas/tests/test_strings.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,7 @@ def test_replace(self):
436436
values = klass(data)
437437
self.assertRaises(TypeError, values.str.replace, 'a', repl)
438438

439+
def test_replace_callable(self):
439440
## GH 15055
440441
values = Series(['fooBAD__barBAD', NA])
441442

@@ -448,16 +449,19 @@ def test_replace(self):
448449
# test with wrong number of arguments
449450
repl = lambda m, bad: None
450451
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)
452454

453455
repl = lambda: None
454456
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)
456459

457460
# test regex named groups
458461
values = Series(['Foo Bar Baz', NA])
462+
pat = r"(?P<first>\w+) (?P<middle>\w+) (?P<last>\w+)"
459463
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)
461465
exp = Series(['bAR', NA])
462466
tm.assert_series_equal(result, exp)
463467

0 commit comments

Comments
 (0)