def test_slice_replace(dtype):
    da = lambda x: xr.DataArray(x).astype(dtype)
    values = da(["short", "a bit longer", "evenlongerthanthat", ""])

    expected = da(["shrt", "a it longer", "evnlongerthanthat", ""])
    result = values.str.slice_replace(2, 3)
    assert_equal(result, expected)

    expected = da(["shzrt", "a zit longer", "evznlongerthanthat", "z"])
    result = values.str.slice_replace(2, 3, "z")
    assert_equal(result, expected)

    expected = da(["shzort", "a zbit longer", "evzenlongerthanthat", "z"])
    result = values.str.slice_replace(2, 2, "z")
    assert_equal(result, expected)

    expected = da(["shzort", "a zbit longer", "evzenlongerthanthat", "z"])
    result = values.str.slice_replace(2, 1, "z")
    assert_equal(result, expected)

    expected = da(["shorz", "a bit longez", "evenlongerthanthaz", "z"])
    result = values.str.slice_replace(-1, None, "z")
    assert_equal(result, expected)

    expected = da(["zrt", "zer", "zat", "z"])
    result = values.str.slice_replace(None, -2, "z")
    assert_equal(result, expected)

    expected = da(["shortz", "a bit znger", "evenlozerthanthat", "z"])
    result = values.str.slice_replace(6, 8, "z")
    assert_equal(result, expected)

    expected = da(["zrt", "a zit longer", "evenlongzerthanthat", "z"])
    result = values.str.slice_replace(-10, 3, "z")
    assert_equal(result, expected)
Ejemplo n.º 2
0
def test_slice_replace(dtype):
    da = lambda x: xr.DataArray(x).astype(dtype)
    values = da(['short', 'a bit longer', 'evenlongerthanthat', ''])

    expected = da(['shrt', 'a it longer', 'evnlongerthanthat', ''])
    result = values.str.slice_replace(2, 3)
    assert_equal(result, expected)

    expected = da(['shzrt', 'a zit longer', 'evznlongerthanthat', 'z'])
    result = values.str.slice_replace(2, 3, 'z')
    assert_equal(result, expected)

    expected = da(['shzort', 'a zbit longer', 'evzenlongerthanthat', 'z'])
    result = values.str.slice_replace(2, 2, 'z')
    assert_equal(result, expected)

    expected = da(['shzort', 'a zbit longer', 'evzenlongerthanthat', 'z'])
    result = values.str.slice_replace(2, 1, 'z')
    assert_equal(result, expected)

    expected = da(['shorz', 'a bit longez', 'evenlongerthanthaz', 'z'])
    result = values.str.slice_replace(-1, None, 'z')
    assert_equal(result, expected)

    expected = da(['zrt', 'zer', 'zat', 'z'])
    result = values.str.slice_replace(None, -2, 'z')
    assert_equal(result, expected)

    expected = da(['shortz', 'a bit znger', 'evenlozerthanthat', 'z'])
    result = values.str.slice_replace(6, 8, 'z')
    assert_equal(result, expected)

    expected = da(['zrt', 'a zit longer', 'evenlongzerthanthat', 'z'])
    result = values.str.slice_replace(-10, 3, 'z')
    assert_equal(result, expected)