(dtype)
| 331 | |
| 332 | |
| 333 | def test_replace(dtype) -> None: |
| 334 | values = xr.DataArray(["fooBAD__barBAD"], dims=["x"]).astype(dtype) |
| 335 | result = values.str.replace("BAD[_]*", "") |
| 336 | expected = xr.DataArray(["foobar"], dims=["x"]).astype(dtype) |
| 337 | assert result.dtype == expected.dtype |
| 338 | assert_equal(result, expected) |
| 339 | |
| 340 | result = values.str.replace("BAD[_]*", "", n=1) |
| 341 | expected = xr.DataArray(["foobarBAD"], dims=["x"]).astype(dtype) |
| 342 | assert result.dtype == expected.dtype |
| 343 | assert_equal(result, expected) |
| 344 | |
| 345 | pat = xr.DataArray(["BAD[_]*", "AD[_]*"], dims=["y"]).astype(dtype) |
| 346 | result = values.str.replace(pat, "") |
| 347 | expected = xr.DataArray([["foobar", "fooBbarB"]], dims=["x", "y"]).astype(dtype) |
| 348 | assert result.dtype == expected.dtype |
| 349 | assert_equal(result, expected) |
| 350 | |
| 351 | repl = xr.DataArray(["", "spam"], dims=["y"]).astype(dtype) |
| 352 | result = values.str.replace(pat, repl, n=1) |
| 353 | expected = xr.DataArray([["foobarBAD", "fooBspambarBAD"]], dims=["x", "y"]).astype( |
| 354 | dtype |
| 355 | ) |
| 356 | assert result.dtype == expected.dtype |
| 357 | assert_equal(result, expected) |
| 358 | |
| 359 | values = xr.DataArray( |
| 360 | ["A", "B", "C", "Aaba", "Baca", "", "CABA", "dog", "cat"] |
| 361 | ).astype(dtype) |
| 362 | expected = xr.DataArray( |
| 363 | ["YYY", "B", "C", "YYYaba", "Baca", "", "CYYYBYYY", "dog", "cat"] |
| 364 | ).astype(dtype) |
| 365 | result = values.str.replace("A", "YYY") |
| 366 | assert result.dtype == expected.dtype |
| 367 | assert_equal(result, expected) |
| 368 | result = values.str.replace("A", "YYY", regex=False) |
| 369 | assert result.dtype == expected.dtype |
| 370 | assert_equal(result, expected) |
| 371 | |
| 372 | result = values.str.replace("A", "YYY", case=False) |
| 373 | expected = xr.DataArray( |
| 374 | ["YYY", "B", "C", "YYYYYYbYYY", "BYYYcYYY", "", "CYYYBYYY", "dog", "cYYYt"] |
| 375 | ).astype(dtype) |
| 376 | assert result.dtype == expected.dtype |
| 377 | assert_equal(result, expected) |
| 378 | |
| 379 | result = values.str.replace("^.a|dog", "XX-XX ", case=False) |
| 380 | expected = xr.DataArray( |
| 381 | ["A", "B", "C", "XX-XX ba", "XX-XX ca", "", "XX-XX BA", "XX-XX ", "XX-XX t"] |
| 382 | ).astype(dtype) |
| 383 | assert result.dtype == expected.dtype |
| 384 | assert_equal(result, expected) |
| 385 | |
| 386 | |
| 387 | def test_replace_callable() -> None: |
nothing calls this directly
no test coverage detected
searching dependent graphs…