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

Function test_contains

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

Source from the content-addressed store, hash-verified

101
102
103def test_contains(dtype) -> None:
104 values = xr.DataArray(["Foo", "xYz", "fOOomMm__fOo", "MMM_"]).astype(dtype)
105
106 # case insensitive using regex
107 pat = values.dtype.type("FOO|mmm")
108 result = values.str.contains(pat, case=False)
109 expected = xr.DataArray([True, False, True, True])
110 assert result.dtype == expected.dtype
111 assert_equal(result, expected)
112 result = values.str.contains(re.compile(pat, flags=re.IGNORECASE))
113 assert result.dtype == expected.dtype
114 assert_equal(result, expected)
115
116 # case sensitive using regex
117 pat = values.dtype.type("Foo|mMm")
118 result = values.str.contains(pat)
119 expected = xr.DataArray([True, False, True, False])
120 assert result.dtype == expected.dtype
121 assert_equal(result, expected)
122 result = values.str.contains(re.compile(pat))
123 assert result.dtype == expected.dtype
124 assert_equal(result, expected)
125
126 # case insensitive without regex
127 result = values.str.contains("foo", regex=False, case=False)
128 expected = xr.DataArray([True, False, True, False])
129 assert result.dtype == expected.dtype
130 assert_equal(result, expected)
131
132 # case sensitive without regex
133 result = values.str.contains("fO", regex=False, case=True)
134 expected = xr.DataArray([False, False, True, False])
135 assert result.dtype == expected.dtype
136 assert_equal(result, expected)
137
138 # regex regex=False
139 pat_re = re.compile("(/w+)")
140 with pytest.raises(
141 ValueError,
142 match=r"Must use regular expression matching for regular expression object.",
143 ):
144 values.str.contains(pat_re, regex=False)
145
146
147def test_contains_broadcast(dtype) -> None:

Callers

nothing calls this directly

Calls 3

assert_equalFunction · 0.90
astypeMethod · 0.45
containsMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…