MCPcopy Create free account
hub / github.com/pydata/xarray / test_index

Function test_index

xarray/tests/test_accessor_str.py:1899–1952  ·  view source on GitHub ↗
(dtype)

Source from the content-addressed store, hash-verified

1897
1898
1899def test_index(dtype) -> None:
1900 s = xr.DataArray(["ABCDEFG", "BCDEFEF", "DEFGHIJEF", "EFGHEF"]).astype(dtype)
1901
1902 result_0 = s.str.index("EF")
1903 result_1 = s.str.index("EF", side="left")
1904 expected = xr.DataArray([4, 3, 1, 0])
1905 assert result_0.dtype == expected.dtype
1906 assert result_1.dtype == expected.dtype
1907 assert_equal(result_0, expected)
1908 assert_equal(result_1, expected)
1909
1910 result_0 = s.str.rindex("EF")
1911 result_1 = s.str.index("EF", side="right")
1912 expected = xr.DataArray([4, 5, 7, 4])
1913 assert result_0.dtype == expected.dtype
1914 assert result_1.dtype == expected.dtype
1915 assert_equal(result_0, expected)
1916 assert_equal(result_1, expected)
1917
1918 result_0 = s.str.index("EF", 3)
1919 result_1 = s.str.index("EF", 3, side="left")
1920 expected = xr.DataArray([4, 3, 7, 4])
1921 assert result_0.dtype == expected.dtype
1922 assert result_1.dtype == expected.dtype
1923 assert_equal(result_0, expected)
1924 assert_equal(result_1, expected)
1925
1926 result_0 = s.str.rindex("EF", 3)
1927 result_1 = s.str.index("EF", 3, side="right")
1928 expected = xr.DataArray([4, 5, 7, 4])
1929 assert result_0.dtype == expected.dtype
1930 assert result_1.dtype == expected.dtype
1931 assert_equal(result_0, expected)
1932 assert_equal(result_1, expected)
1933
1934 result_0 = s.str.index("E", 4, 8)
1935 result_1 = s.str.index("E", 4, 8, side="left")
1936 expected = xr.DataArray([4, 5, 7, 4])
1937 assert result_0.dtype == expected.dtype
1938 assert result_1.dtype == expected.dtype
1939 assert_equal(result_0, expected)
1940 assert_equal(result_1, expected)
1941
1942 result_0 = s.str.rindex("E", 0, 5)
1943 result_1 = s.str.index("E", 0, 5, side="right")
1944 expected = xr.DataArray([4, 3, 1, 4])
1945 assert result_0.dtype == expected.dtype
1946 assert result_1.dtype == expected.dtype
1947 assert_equal(result_0, expected)
1948 assert_equal(result_1, expected)
1949
1950 matchtype = "subsection" if dtype == np.bytes_ else "substring"
1951 with pytest.raises(ValueError, match=f"{matchtype} not found"):
1952 s.str.index("DE")
1953
1954
1955def test_index_broadcast(dtype) -> None:

Callers

nothing calls this directly

Calls 4

assert_equalFunction · 0.90
rindexMethod · 0.80
astypeMethod · 0.45
indexMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…