(dtype)
| 1897 | |
| 1898 | |
| 1899 | def 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 | |
| 1955 | def test_index_broadcast(dtype) -> None: |
nothing calls this directly
no test coverage detected
searching dependent graphs…