@@ -200,6 +200,25 @@ def test_startswith(dtype, null_value, na):
200
200
tm .assert_series_equal (rs , xp )
201
201
202
202
203
+ @pytest .mark .parametrize ("na" , [None , True , False ])
204
+ def test_startswith_nullable_string_dtype (nullable_string_dtype , na ):
205
+ values = Series (
206
+ ["om" , None , "foo_nom" , "nom" , "bar_foo" , None , "foo" , "regex" , "rege." ],
207
+ dtype = nullable_string_dtype ,
208
+ )
209
+ result = values .str .startswith ("foo" , na = na )
210
+ exp = Series (
211
+ [False , na , True , False , False , na , True , False , False ], dtype = "boolean"
212
+ )
213
+ tm .assert_series_equal (result , exp )
214
+
215
+ result = values .str .startswith ("rege." , na = na )
216
+ exp = Series (
217
+ [False , na , False , False , False , na , False , False , True ], dtype = "boolean"
218
+ )
219
+ tm .assert_series_equal (result , exp )
220
+
221
+
203
222
@pytest .mark .parametrize ("dtype" , [None , "category" ])
204
223
@pytest .mark .parametrize ("null_value" , [None , np .nan , pd .NA ])
205
224
@pytest .mark .parametrize ("na" , [True , False ])
@@ -228,6 +247,25 @@ def test_endswith(dtype, null_value, na):
228
247
tm .assert_series_equal (rs , xp )
229
248
230
249
250
+ @pytest .mark .parametrize ("na" , [None , True , False ])
251
+ def test_endswith_nullable_string_dtype (nullable_string_dtype , na ):
252
+ values = Series (
253
+ ["om" , None , "foo_nom" , "nom" , "bar_foo" , None , "foo" , "regex" , "rege." ],
254
+ dtype = nullable_string_dtype ,
255
+ )
256
+ result = values .str .endswith ("foo" , na = na )
257
+ exp = Series (
258
+ [False , na , False , False , True , na , True , False , False ], dtype = "boolean"
259
+ )
260
+ tm .assert_series_equal (result , exp )
261
+
262
+ result = values .str .endswith ("rege." , na = na )
263
+ exp = Series (
264
+ [False , na , False , False , False , na , False , False , True ], dtype = "boolean"
265
+ )
266
+ tm .assert_series_equal (result , exp )
267
+
268
+
231
269
def test_replace ():
232
270
values = Series (["fooBAD__barBAD" , np .nan ])
233
271
0 commit comments