+
    xȇi                        ^ RI t ^ RIt^ RIt^ RIHtHtHtHtH	t	H
t ^ RIHt RR]P                  R.3RR]P                  R	.3R
]P                  ]P                  ]P                  .3R
. 3RR]P                  ^.3.t]! ]RR/ w  tt]P&                  ! ]]R7      R 4       tR tR tR t]P0                  P3                  R]R.4      R 4       t]P0                  P3                  R]R.4      R 4       tR tR# )    N)CategoricalDtype	DataFrameIndex
MultiIndexSeries_testing)StringMethodsstringacbytes   a   cemptymixed-integerstrictT)paramsidsc                \    V P                   w  r\        P                  ! V\        R7      pW3# )a  
Fixture for all (inferred) dtypes allowed in StringMethods.__init__

The covered (inferred) types are:
* 'string'
* 'empty'
* 'bytes'
* 'mixed'
* 'mixed-integer'

Returns
-------
inferred_dtype : str
    The string for the inferred dtype from _libs.lib.infer_dtype
values : np.ndarray
    An array of object dtype that will be inferred to have
    `inferred_dtype`

Examples
--------
>>> from pandas._libs import lib
>>>
>>> def test_something(any_allowed_skipna_inferred_dtype):
...     inferred_dtype, values = any_allowed_skipna_inferred_dtype
...     # will pass
...     assert lib.infer_dtype(values, skipna=True) == inferred_dtype
...
...     # constructor for .str-accessor will also pass
...     Series(values).str
dtype)paramnparrayobject)requestinferred_dtypevaluess   &  m/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/strings/test_api.py!any_allowed_skipna_inferred_dtyper       s,    @ %]]NXXfF+F !!    c                     \         P                  \        J g   Q h\        \        R .V R7      P                  \        4      '       g   Q hR#  r   N)r   strr	   
isinstance)any_string_dtypes   &r   test_apir(   D   s7    ::&&&fbT)9:>>NNNNr!   c                 ~    \        R .V R7      p\        P                  ! V4      pVP                   ?V! 4       e   Q hR# r#   )r   weakrefrefr%   )r'   serr+   s   &  r   test_no_circular_referencer-   J   s5    
"-
.C
++c
CGG5==r!   c                      \         P                  ! . RO.4      p Rp\        P                  ! \        VR7      ;_uu_ 4        V P
                   RRR4       \        V R4      '       d   Q hR#   + '       g   i     L&; i)r   z5Can only use .str accessor with Index, not MultiIndexmatchNr%   )r   br   )r   from_arrayspytestraisesAttributeErrorr%   hasattr)mimsgs     r   test_api_mi_raisesr9   S   sV    			 1	2B
AC	~S	1	1
 
2r5!!!!! 
2	1s    A++A;	r   categoryc                 D   T pVw  rEV! WQR 7      p. ROpWG9   d%   \        VP                  \        4      '       g   Q hR# Rp\        P                  ! \
        VR7      ;_uu_ 4        VP                   RRR4       \        VR4      '       d   Q hR#   + '       g   i     L&; i)r   z/Can only use .str accessor with string values.*r/   Nr%   )r
   unicoder   r   mixedr   )r&   r%   r	   r3   r4   r5   r6   )	index_or_seriesr   any_skipna_inferred_dtypeboxr   r   ttypes_passing_constructorr8   s	   &&&      r   test_api_per_dtyperC   \   s     C6NF A! 2!%%//// @]]>55EE 61e$$$$$ 65s   $BB	c                    T pVw  rxVw  rpR pV\         J dr   VP                  ^ 8X  da   V	R9   d"   VP                  RR4      '       d
   \        pRpMcV	R8X  d"   VP                  RR 4      '       d
   \        pRpM;V	R8X  d	   \        pRpM+V\         J d"   VR8X  d   V\
        8X  d   V	R8X  d	   \        pRpVe3   \        P                  P                  XVR	7      pVP                  V4       V! WR
7      p\        VP                  V	4      pV'       d   VR8X  d   V	R9  pMRpV	R9   pV	R9  pR.RR.V,          ,           R.V,          ,           RR.V,          ,           pVV9   d   V! V
/ VB  R # RV	 RV: R2p\        P                  ! \        VR7      ;_uu_ 4        V! V
/ VB  R R R 4       R #   + '       g   i     R # ; i)NexpandTz#Method cannot deal with empty Indexsplitz,Split fails on empty Series when expand=Trueget_dummiesz(Need to fortify get_dummies corner casesr   )r4   reasonr   r:   r
   r<   r   r=   r   zCannot use .str.z with values of inferred dtype z,.|a bytes-like object is required, not 'str'r/   )	partition
rpartition)decode)rK   getlenslice)cat)r   sizerL   	TypeError
ValueErrorr   r3   markxfailapplymarkergetattrr%   r4   )r>   r   r    any_string_methodr   using_infer_stringr@   r   r   method_nameargskwargsrH   r4   rS   rA   methodstring_allowedbytes_allowedmixed_allowedallowed_typesr8   s   &&&&&&                r   test_api_per_methodra   w   s    C ?N 1KvF
e|q(55&**Xt:T:TF:FG#

8T(B(BFCFM)F?F 	ug%VO=(;{{  v >D!F AQUUK(Fez1$J6#DDM
  w.M 
	Y
.
0	1)m
#	$ O
$}
4	5  & {m ,,/ 0:: 	
 ]]9C00D#F# 1000s   	F..F?	c                    \        \        R 4      VR7      pVR,           V,           pVP                  R4      pVP                  \        VP                  P
                  P                  R4      4      4      p\        VP                  \        4      '       g   Q hV w  rEp\        VP                  V4      ! V/ VB p\        VP                  R4      P                  V4      ! V/ VB p\        V\        4      '       d   \        P                  ! Wx4       R# \        V\         4      '       d   \        P                  ! Wx4       R# Wx8X  g   Q hR# )aabbr    r:   r   N)r   listastyper   r   
categoriesr&   r%   r	   rV   r   tmassert_frame_equalassert_series_equal)	rW   r'   sr   rY   rZ   r[   resultexpecteds	   &&       r   test_api_for_categoricalrn      s    tF|#34A	C!A	A	!!''"4"4";";H"EFGAaee]++++ 1KvQUUK($9&9Fqxx)--{;TLVLH&)$$
f/	FF	#	#
v0 !!!r!   )r*   numpyr   r3   pandasr   r   r   r   r   r   rh   pandas.core.strings.accessorr	   nan"_any_allowed_skipna_inferred_dtypezipr   _fixturer    r(   r-   r9   rS   parametrizer   rC   ra   rn    r!   r   <module>ry      s+       7 RVVS!"tRVVT"#rvvrvvrvv&'bMsBFFA&'& " 
'
04
Q
 9sC#" D#"LO" 6:"67% 8%4 6:"67J$ 8J$Z"r!   