MCPcopy
hub / github.com/pydata/xarray / test_replace_callable

Function test_replace_callable

xarray/tests/test_accessor_str.py:387–420  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

385
386
387def test_replace_callable() -> None:
388 values = xr.DataArray(["fooBAD__barBAD"])
389
390 # test with callable
391 repl = lambda m: m.group(0).swapcase()
392 result = values.str.replace("[a-z][A-Z]{2}", repl, n=2)
393 exp = xr.DataArray(["foObaD__baRbaD"])
394 assert result.dtype == exp.dtype
395 assert_equal(result, exp)
396
397 # test regex named groups
398 values = xr.DataArray(["Foo Bar Baz"])
399 pat = r"(?P<first>\w+) (?P<middle>\w+) (?P<last>\w+)"
400 repl = lambda m: m.group("middle").swapcase()
401 result = values.str.replace(pat, repl)
402 exp = xr.DataArray(["bAR"])
403 assert result.dtype == exp.dtype
404 assert_equal(result, exp)
405
406 # test broadcast
407 values = xr.DataArray(["Foo Bar Baz"], dims=["x"])
408 pat = r"(?P<first>\w+) (?P<middle>\w+) (?P<last>\w+)"
409 repl2 = xr.DataArray(
410 [
411 lambda m: m.group("first").swapcase(),
412 lambda m: m.group("middle").swapcase(),
413 lambda m: m.group("last").swapcase(),
414 ],
415 dims=["Y"],
416 )
417 result = values.str.replace(pat, repl2)
418 exp = xr.DataArray([["fOO", "bAR", "bAZ"]], dims=["x", "Y"])
419 assert result.dtype == exp.dtype
420 assert_equal(result, exp)
421
422
423def test_replace_unicode() -> None:

Callers

nothing calls this directly

Calls 3

assert_equalFunction · 0.90
swapcaseMethod · 0.80
replaceMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…