
    PiQ                        d Z ddlZddlZddlmZ ddlmZ ddlm	Z	 ddl
ZddlmZ ddlmZ ej        d             Zej        d             Zej        d	             Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zej                            dej          ej!        d           e"d          dej#        g          d             Z$ej                            dddg          d             Z%d Z&d Z'd Z(d Z)d Z*ej                            dd d!g          d"             Z+ej                            dd d!g          ej                            d#ej,        ej-        g          d$                         Z.d% Z/d& Z0ej        1                    d'          d(             Z2ej        1                    d'          d)             Z3ej        1                    d'          d*             Z4d+ Z5d, Z6d- Z7d. Z8ej                            d/ej9        ej:        ej!        g          d0             Z;d1 Z<d2 Z=d3 Z>d4 Z?d5 Z@d6 ZAd7 ZBd8 ZCd9 ZDd: ZEej                            d#ej,        ej-        g          d;             ZFdS )<z
This module tests the functionality of StringArray and ArrowStringArray.
Tests for the str accessors are in pandas/tests/strings/test_string_array.py
    N)using_string_dtype)pa_version_under19p0)is_dtype_equal)ArrowStringArrayc                 8    | \  }}t          j        ||          S )zKFixture giving StringDtype from parametrized storage and na_value argumentsstoragena_valuepdStringDtype)string_dtype_argumentsr	   r
   s      {/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/arrays/string_/test_string.pydtyper      s#     /GX>'H====    c                 8    | \  }}t          j        ||          S )Nr   r   )string_dtype_arguments2r	   r
   s      r   dtype2r      s!    /GX>'H====r   c                 *    |                                  S )z3Fixture giving array type from parametrized 'dtype')construct_array_typer   s    r   clsr   #   s     %%'''r   c                  T   t          j        d           t          j        d          } t          j        d          }t          j        dt          j                  }| t          j        dt          j                  k    sJ | |k    sJ | |k    sJ |t          j        dt          j                  k    sJ || k    sJ ||k    sJ |t          j        dt          j                  k    sJ |t          j        dt          d                    k    sJ || k    sJ ||k    sJ d S )Npyarrowpythonr
   nan)pytestimportorskipr   r   npr   NAfloat)dtype1r   dtype3s      r   test_dtype_equalityr%   )   s?   
	"""^H%%F^I&&F^I777FR^Hru=======VVR^I>>>>>>>VVR^I???????R^IeEEEEEEEVVr   c                 j   t          j        dt          j        dt           j        dg|           i          }| j        t
          j        u rd}nd}t          |          |k    sJ | j        t
          j        u rd}nd}t          |j                  |k    sJ | j	        d	k    r| j        t           j        u r	d
}d| d}nV| j	        d	k    r| j        t
          j        u r	d
}d| d}n/| j	        dk    r| j        t
          j        u r	d}d| d}nd}d| d}t          |j        j                  |k    sJ d S )NAabr   z     A
0    a
1  NaN
2    bz      A
0     a
1  <NA>
2     bz.0      a
1    NaN
2      b
Name: A, dtype: strz40       a
1    <NA>
2       b
Name: A, dtype: stringr   r   <z+>
['a', <NA>, 'b']
Length: 3, dtype: stringz'>
['a', nan, 'b']
Length: 3, dtype: strr   StringArray)
r   	DataFramearrayr!   r
   r    r   reprr'   r	   )r   dfexpectedarr_names       r   	test_reprr2   >   sb   	sBHc25#%6eDDDE	F	FB~3788x~FL::!!!!}	!!en&=&=%NxNNN	)	#	#"&(@(@%JxJJJ	(	"	"u~'?'? JxJJJ NxNNN
x''''''r   c                    | j         dk    rA| j        t          j        u rt	          |           dk    sJ d S t	          |           dk    sJ d S | j        t          j        u rt	          |           dk    sJ d S t	          |           dk    sJ d S )Nr   z<StringDtype(na_value=<NA>)>z<StringDtype(na_value=nan)>z.<StringDtype(storage='python', na_value=<NA>)>z-<StringDtype(storage='python', na_value=nan)>)r	   r
   r   r!   r.   r   s    r   test_dtype_reprr4   [   s    }	!!>RU"";;"@@@@@@@;;"???????	25	 	 E{{NNNNNNNE{{MMMMMMMr   c                 x    |                      g d|          }|d         J |d         |j        j        u sJ d S )N)r(   Nr)   r      )_from_sequencer   r
   )r   r   r(   s      r   test_none_to_nanr8   g   sQ    +++599AQ4Q417#######r   c                 N   |                      ddg|          }d}t          j        t          |          5  d|d<   d d d            n# 1 swxY w Y   d}t          j        t          |          5  t	          j        d	d
g          |d d <   d d d            d S # 1 swxY w Y   d S )Nr(   r)   r   z!Invalid value '10' for dtype 'strmatch
   r   zInvalid value for dtype 'strr6      )r7   r   raises	TypeErrorr    r-   )r   r   arrmsgs       r   test_setitem_validatesrB   m   s1   


c3Zu

5
5C
-C	y	,	,	,  A               )C	y	,	,	, " "1a&!!AAA" " " " " " " " " " " " " " " " " "s#   A		AA1BB!Bc                     t          j        ddg|           }d|d<   t          j        ddg|           }t          j        ||           d S )Nr(   cr   dr   )r   r-   tmassert_extension_array_equal)r   r@   r0   s      r   test_setitem_with_scalar_stringrH   y   sV     (C:U
+
+
+CCFxc
%000H#C22222r   c                 2   t          j        g d|           }t          j        dd g          }|                                }||ddg<   t          j        dt           j        dg|           }t          j        ||           t          j        ||           d S )Nr(   r)   rD   r   r'   r   r6   rD   )r   r-   r    copyr!   rF   rG   assert_numpy_array_equal)r   r@   value
value_origr0   s        r   $test_setitem_with_array_with_missingrO      s     (???%
0
0
0CHc4[!!EJCAKxbeS)777H#C222z22222r   c                    t          j        t          j        ddd                    }d |d<   |                    |           }t	          |j        |           sJ |                    d          }t          j        ||           ||j        d         z
  }|                    |           }t	          |j        |           sJ |                    |j                  }t          j        ||           d S )N2000   ns)periodsunitr   zdatetime64[ns])	r   Series
date_rangeastyper   r   rF   assert_series_equaliloc)r   sercastedresultser2casted2result2s          r   test_astype_roundtriprb      s    
)BM&"4@@@
A
ACCFZZF&,.....]]+,,F63''' "Dkk%  G'-/////nnTZ((G7D)))))r   c           
      L   | t           j        j        u rd}dt          j                    i}nd}i }t	          j        t          |          5   | t          j        ddgd          fi | d d d            n# 1 swxY w Y   t	          j        t          |          5   | t          j        g           fi | d d d            n# 1 swxY w Y   | t           j        j        u rS | t          j        dt          j	        gt                    fi |  | t          j        dd gt                    fi | nt	          j        t          |          5   | t          j        dt          j	        gt                    fi | d d d            n# 1 swxY w Y   t	          j        t          |          5   | t          j        dd gt                    fi | d d d            n# 1 swxY w Y   t	          j        t          |          5   | t          j        dt           j        gt                    fi | d d d            n# 1 swxY w Y   t	          j        t          |          5   | t          j        dt          j        d	d
          gt                    fi | d d d            n# 1 swxY w Y   t	          j        t          |          5   | t          j        dt          j        d	d
          gt                    fi | d d d            d S # 1 swxY w Y   d S )Nz7StringArray requires a sequence of strings or pandas.NAr   zBUnsupported type '<class 'numpy.ndarray'>' for ArrowExtensionArrayr:   r(   r)   S1r   NaTrS   )r   arraysr+   r   r   r>   
ValueErrorr    r-   r   objectre   
datetime64timedelta64)r   rA   kwargss      r   test_constructor_raisesrl      s   
bi###G2>++,R	z	-	-	- 8 8BHc3Zt,,,777778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 
z	-	-	- $ $BHRLL##F###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ bi### 	BHc26]&111<<V<<<BHc4[///::6::::]:S111 	A 	AC#rvf555@@@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A]:S111 	? 	?C#tF333>>v>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 
z	-	-	- = =BHc26]&111<<V<<<= = = = = = = = = = = = = = = 
z	-	-	- Q QBHc2=556fEEEPPPPPQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q 
z	-	-	- R RBHc2>%667vFFFQQ&QQQR R R R R R R R R R R R R R R R R Rs~    A77A;>A;CC	C	/FFF2%G##G'*G'	/III*8J..J25J28LL Lnar   c                 `   t           j                            t          j        dt           j        g          t          j                              }t           j                            t          j        d| gd          t          j                              }t          j        ||           d S )Nr(   r   rh   )	r   rf   r+   r    r-   r!   r   rF   rG   )rm   r0   r^   s      r   test_constructor_nan_likero      s    y$$RXsBEl%;%;2>CSCS$TTHY""
#r(+++2>3C3C #  F #FH55555r   rK   TFc                 0   t          j        dt           j        gt                    }|                                }t          j        dt
          j        gt                    }|                    |||           }|t          u r:dd l	} ||                    ||
                                d          |          }n.|j        t           j        u r |||          }n |||          }t          j        ||           t          j        ||           d S )Nr(   r   )r   rK   r   Ttypefrom_pandas)r    r-   r   rh   rK   r   r!   r7   r   r   stringr
   rF   rG   rL   )	rK   r   r   nan_arrexpected_inputna_arrr^   par0   s	            r   test_from_sequence_no_mutatery      s   hRV}F333G\\^^NXsBEl&111Fu4@@F
3HHV"))++4H@@
 
 
 
26	!	!3we,,,3vU+++#FH55588888r   c                    t          j        g d|           }|                    d          }t          j        g dd          }t	          j        ||           t          j        dt           j        dg|           }| j        t          j        u r
t          }d}n	t          }d}t          j        ||	          5  |                    d           d d d            d S # 1 swxY w Y   d S )
N)123r   int64r6   r=      r{   r}   z#cannot convert float NaN to integerzJint\(\) argument must be a string, a bytes-like object or a( real)? numberr:   )r   r-   rY   r    rF   rL   r!   r
   r   rg   r?   r   r>   )r   r@   r^   r0   errrA   s         r   test_astype_intr      s*   
(???%
0
0
0CZZ  Fx			111H111
(C$E
2
2
2C~3* 	 
s#	&	&	&  

7                 s   :CC!$C!c                     t          j        dt           j        dg|           }|                    d          }t          j        dt           j        dgd          }t	          j        ||           d S )Nr{   r}   r   Int64r6   r   )r   r-   r!   rY   rF   rG   r   r@   r^   r0   s       r   test_astype_nullable_intr      se    
(C$E
2
2
2CZZ  FxBE1W555H#FH55555r   c                 @   t          j        dt           j        dg|           }|                    |          }t	          |j        t          j                  rt          j        nt           j        }t          j        d|dg|          }t          j	        ||           d S )Nz1.1z3.3r   g?gffffff
@)
r   rW   r!   rY   
isinstancer   r    r   rF   rZ   )r   any_float_dtyper\   r^   itemr0   s         r   test_astype_floatr     s    
)UBE5)
7
7
7CZZ((Fbh77B266RUDy#tS)AAAH68,,,,,r   c                 r    t          j        g d|          }|                    |           }|dk    sJ d S )NrJ   r   skipnaabc)r   rW   sumr   r   r@   r^   s       r   test_reducer   
  s>    
)OOO5
1
1
1CWWFW##FU??????r   c                     t          j        g d|          }|                    |           }| r
|dk    sJ d S t          j        |          sJ d S )N)Nr(   Nr)   rD   Nr   r   r   )r   rW   r   isnar   s       r   test_reduce_missingr     sb    
)555U
C
C
CCWWFW##F wvr   methodminmaxc                     t          j        g d|          } t          ||           |          }|r| dk    rdnd}||k    sJ d S ||j        j        u sJ d S )Nr(   r)   rD   Nr   r   r   r(   rD   )r   rW   getattrr   r
   )r   r   r   r@   r^   r0   s         r   test_min_maxr     s    
))))
7
7
7C!WS&!!000F , E//33s!!!!!!+++++++r   boxc                 R   |j         dk    r\|t          j        u rN|t          j        u rd}nd}t          j                            t          |          }|                    |            |g d|          } t          t          |           |          }| dk    rdnd	}||k    sJ d S )
Nr   z<'<=' not supported between instances of 'str' and 'NoneType'z0'ArrowStringArray' object has no attribute 'max')r>   reasonr   r   r   r(   rD   )
r	   r   r-   r   markxfailr?   applymarkerr   r    )	r   r   r   requestr   r   r@   r^   r0   s	            r   test_min_max_numpyr   $  s     }	!!cRXoo"(??SFFGF{  	& AAD!!!
####5
1
1
1C WR  %%Fooss3HXr   c                    t          j        dt           j        g|           }|                    d          }t          j        ddg|           }t	          j        ||           |                    t          j        d                    }t          j        ddg|           }t	          j        ||           d}t          j	        t          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr(   r   r)   )rM    Invalid value '1' for dtype 'strr:   r6   )r   r-   r!   fillnarF   rG   r    str_r   r>   r?   )r   r@   resr0   rA   s        r   test_fillna_argsr   5  s4    (C<u
-
-
-C
**3*

Cxc
%000H#C222
**273<<*
(
(Cxc
%000H#C222
,C	y	,	,	,  


                 s   C<<D D c                    t          j        d          }dd lm} t	          j        g d|           }|                    |          }|                    t          |          |                                d          }| j        dk    r(|	                    ||
                                          }|                    |          sJ d S )Nr   r   rJ   r   Trq   r   )r   r   pyarrow.computecomputer   r-   listlarge_stringr	   castrt   equals)r   rx   pcdatar@   r0   s         r   test_arrow_arrayr   G  s    		Y	'	'B      8OOO5111D
((4..CxxT

):):xMMH}  778RYY[[11::hr   z0ignore:Passing a BlockManager:DeprecationWarningc                    t          j        d          }t          j        g d|           }t          j        d|i          }|                    |          }| j        dk    r!|                    d          j        dk    sJ n |                    d          j        dk    sJ t          j	        d|          5  |
                                }d d d            n# 1 swxY w Y   | j        t          j        u r|s|d         j        d	k    sJ d S t          |d         j        t          j                  sJ |                    t          j        || j        
                    }|r=|j                            t          j        |t          j        
                    |_        t'          j        ||           |j        d         |d         j        j        u sJ d S )Nr   r(   r)   Nr   r(   r   rt   r   string_storagerh   r   )r=   r(   )r   r   r   r-   r,   tabler	   fieldrr   option_context	to_pandasr
   r    r   r   r   r   rY   columnsrF   assert_frame_equalloc	r   r   using_infer_stringrx   r   r/   r   r^   r0   s	            r   test_arrow_roundtripr   T  s    
	Y	'	'B8$$$E222D	sDk	"	"BHHRLLE}  {{3$00000{{3$6666		+^	<	< # #""# # # # # # # # # # # # # # #~(:c{ H,,,,,,&++R^<<<<<99R^NU^TTTUU 	'/66~???   H 	fh///z&!VC[%6%???????s   9CC!Cc                 |   t          j        d          }|                    d|                    g d|                                          i          }|                                }| r"t          st          j        dg did          }nt          j        dg did          }t          j
        ||           d S )Nr   r(   r   rr   strr   rh   )r   r   r   r-   rt   r   r   r   r,   rF   r   )r   rx   r   r^   r0   s        r   test_arrow_from_stringr   p  s     
	Y	'	'BHHc288$4$4$4299;;8GGHIIE__F I"6 I<&6&6&6 7uEEE<&6&6&6 7xHHH&(+++++r   c                    t          j        d          }t          j        g |           }t          j        d|i          }|                    |          }| j        dk    r!|                    d          j        dk    sJ n |                    d          j        dk    sJ |                    |	                    g |
                                          g|j                  }t          j        d	|          5  |                                }d d d            n# 1 swxY w Y   | j        t          j        u r#t#                      s|d         j        d
k    sJ d S t'          |d         j        t          j                  sJ |                    t          j        || j                            }|r=|j                            t          j        |t          j                            |_        t/          j        ||           d S )Nr   r   r(   r   rt   r   r   )schemar   rh   r   )r   r   r   r-   r,   r   r	   r   rr   chunked_arrayrt   r   r   r   r
   r    r   r   r   r   r   rY   r   rF   r   r   s	            r    test_arrow_load_from_zero_chunksr     s    
	Y	'	'B8Be$$$D	sDk	"	"BHHRLLE}  {{3$00000{{3$6666HHb&&r		&<<=elHSSE		+^	<	< # #""# # # # # # # # # # # # # # # ~(:(<(<c{ H,,,,,,&++R^<<<<<99R^NU^TTTUU 	'/66~???   H 	fh/////s   ;DD #D c                    | j         t          j        u rd}n| j        dk    rd}nd}t	          j        dddt          j        g|           }|                    d	          }t	          j        g d
|g d         |d          }t          j
        ||           |                    d	          }t	          j        ddg|d d         |d          }t          j
        ||           d S )Nr~   r   int64[pyarrow]r   r(   r)   r   F)dropna)r=   r6   r6   )r   r6   r   countindexr   nameTr=   r6   )r
   r    r   r	   r   r-   r!   value_countsrW   rF   rZ   )r   	exp_dtyper@   r^   r0   s        r   test_value_counts_nar     s    ~			)	#	#$			
(Cc25)
7
7
7CU++Fy#iii.	PWXXXH68,,,T**Fy!Qs2A2wigNNNH68,,,,,r   c                 N   | j         t          j        u rt          j        }n| j        dk    rd}nd}t          j        dddt
          j        g|           }|                    d          }t          j        d	d
g|d d	         |d          dz  }t          j
        ||           d S )Nr   zdouble[pyarrow]Float64r(   r)   r   T)	normalizer=   r6   
proportionr   r   )r
   r    r   float64r	   r   rW   r!   r   rF   rZ   r   r   r\   r^   r0   s        r    test_value_counts_with_normalizer     s    ~J			)	#	#%			
)S#sBE*%
8
8
8C--Fy!Qs2A2wilSSSVWWH68,,,,,r   c                    | j         t          j        u rd}n| j        dk    rd}nd}t	          j        g d|           }|                    d          }t	          j        g d	|d d
         |d          }t          j        ||           d S )Nr~   r   r   r   )r(   r)   rD   r)   r   F)sort)r6   r=   r6   r   r   r   )	r
   r    r   r	   r   rW   r   rF   rZ   r   s        r   test_value_counts_sort_falser     s    ~			)	#	#$			
)(((
6
6
6C5))Fy#bqb'QQQH68,,,,,r   c                 
   | j         dk    rt          j        d| j                     t          j        g d|           }d|j        cxk     r3|                                cxk    r|                    d          k     sn J d S )Nr   znot applicable for rJ   r   r   T)deep)r	   r   skipr   rW   nbytesmemory_usage)r   seriess     r   test_memory_usager     s     }	!!9%-99:::Ye444Fv}VVVV 3 3 5 5VVVV8K8KQU8K8V8VVVVVVVVVr   float_dtypec                     t          j        dg|           }|                    |          }t          j        dg|          }t          j        ||           d S )Ng?r   z0.1)r   rW   rY   rF   rZ   )r   r   r\   r^   r0   s        r   test_astype_from_float_dtyper     sZ     )SE
-
-
-CZZFy%...H68,,,,,r   c                     t          j        dt           j        dg|           }t          j        |          }t          j        d| j        dgt
                    }t          j        ||           d S )Nr(   r)   r   )r   r-   r!   r    r
   rh   rF   rL   r   s       r   "test_to_numpy_returns_pdna_defaultr     sb    
(C$E
2
2
2CXc]]Fxenc2&AAAH11111r   c                     |}t          j        dt           j        dg|           }|                    |          }t	          j        d|dgt
                    }t          j        ||           d S )Nr(   r)   r   r   )r   r-   r!   to_numpyr    rh   rF   rL   )r   nulls_fixturer
   r@   r^   r0   s         r   test_to_numpy_na_valuer     sk    H
(C$E
2
2
2C\\8\,,Fxh,F;;;H11111r   c                     t          j        dt           j        dg|           }d|_        |                                }| j        dk    r|j        j        rJ d S |j        j        sJ d S )Nr(   r)   r   Tr   )r   r-   r!   	_readonlyr   r	   flags	writeable)r   r@   r^   s      r   test_to_numpy_readonlyr     sn    
(C$E
2
2
2CCM\\^^F}  <))))))|%%%%%%r   c                    t          j        g d|           }|                    ddg          }t          j        g d          }t          j        ||           |                    dt           j        g          }t          j        g d          }t          j        ||           |                    g           }t          j        g d          }t          j        ||           |                    d|g          }t          j        g d          }t          j        ||           |                    |g          }t          j        g d          }t          j        ||           d S )Nr   r   r(   rD   TFFTFT)FFF)r   rW   isinrF   rZ   r!   )r   fixed_now_tssr^   r0   s        r   	test_isinr     sT   
	"""%000AVVS#JFy---..H68,,,VVS"%L!!Fy,,,--H68,,,VVBZZFy...//H68,,,VVS,'((Fy---..H68,,,VV\N##Fy...//H68,,,,,r   c                    t          j        g d|           }|                    t          j        ddg|                    }t          j        g d          }t	          j        ||           |                    t          j        dd g|                    }t          j        g d          }t	          j        ||           d S )Nr   r   r(   rD   r   r   )r   rW   r   r-   rF   rZ   )r   r   r   r^   r0   s        r   test_isin_string_arrayr     s    
	"""%000AVVBHc3Zv66677Fy---..H68,,,VVBHc4[77788Fy,,,--H68,,,,,r   c           	      F   t          j        d          }t          j        g d|           }|                    t          j        ddgt          j        |                                                              }t          j        g d          }t          j	        ||           |                    t          j        dd gt          j        |                                                              }t          j        g d          }t          j	        ||           d S )Nr   r   r   r(   rD   r   r   )
r   r   r   rW   r   r-   
ArrowDtypert   rF   rZ   )r   rx   r   r^   r0   s        r   test_isin_arrow_string_arrayr     s    		Y	'	'B
	"""%000AVVBHc3Zr}RYY[[/I/IJJJKKFy---..H68,,,VVBHc4[biikk0J0JKKKLLFy,,,--H68,,,,,r   c                 H   t          j        g d|           }t          j        g d          }d ||<   |j        d         |j        j        u sJ t          j        g d|           }d}t          j        t          |          5  d||<   d d d            d S # 1 swxY w Y   d S )NrJ   r   )FTFr6   r   r:   )	r   rW   r    r-   r   r
   r   r>   r?   )r   r\   maskrA   s       r   (test_setitem_scalar_with_mask_validationr  %  s     )OOO5
1
1
1C8((())DCI9Q<39----- )OOO5
1
1
1C
,C	y	,	,	,  D	                 s   BBBc                     g d}t          j        |t           j                  }t          j        ||           }t          j        ||           }t	          j        ||           d S NrJ   r   )r    r-   r   r   rF   rG   r   valsr@   r^   r0   s        r   test_from_numpy_strr  6  sb    ??D
(4rw
'
'
'CXc'''FxE***H#FH55555r   c                     g d}t          j        ||           }|                                }|}t          j        ||           d S r  )r   r-   tolistrF   assert_equalr  s        r   test_tolistr
  >  sI    ??D
(4u
%
%
%CZZ\\FHOFH%%%%%r   c                      t          j        g dd          } t          j        t          d          5  |                     d           d d d            d S # 1 swxY w Y   d S )NrJ   rt   r   z)Cannot change data-type for string array.r:   i8)r   r-   r   r>   r?   view)r@   s    r   !test_string_array_view_type_errorr  F  s    
(???(
3
3
3C	y(S	T	T	T                   s   AAAc                 ,    |g d|           }t          j        d dd          } ||          }|t          j        u rt          j        nt           j        } |g dt
                    }t          j        ||           t          j        d dd          } ||          } |g d|           }| j        dk    rB|t          j        u rt          j        g dt
                    }nt          j        g d          }t          j        ||           d S )	N)r(   bbcccr   c                      t          |           S )N)lenxs    r   <lambda>z(test_numpy_array_ufunc.<locals>.<lambda>Q  s    CFF r   r6   r   c                     | dz  S )Nr=    r  s    r   r  z(test_numpy_array_ufunc.<locals>.<lambda>Y  s
    Q r   )aabbbbccccccr   )	r    
frompyfuncr   rW   r-   rh   rF   r	  r	   )r   r   r@   str_len_ufuncr^   expected_clsr0   str_multiply_ufuncs           r   test_numpy_array_ufuncr   L  s0   
#   
.
.
.C M"2"2Aq99M]3F #ry 0 0299bhL|IIIV444HOFH%%% 1==$$Fs+++5999H}	!!"(??x 8 8 8GGGHH y!9!9!9::HOFH%%%%%r   )G__doc__numpyr    r   pandas._configr   pandas.compat.pyarrowr   pandas.core.dtypes.commonr   pandasr   pandas._testing_testingrF   pandas.core.arrays.string_arrowr   fixturer   r   r   r%   r2   r4   r8   rB   rH   rO   rb   rl   r   parametrizer   r   r"   r!   ro   ry   r   r   r   r   r   r   rW   r-   r   r   r   filterwarningsr   r   r   r   r   r   r   float16float32r   r   r   r   r   r   r   r  r  r
  r  r   r  r   r   <module>r/     s   
      - - - - - - 6 6 6 6 6 6 4 4 4 4 4 4               
 > > > > > >
 ( ( (
  *( ( (:	N 	N 	N$ $ $	" 	" 	"3 3 3
3 
3 
3* * *& R  R  RF 

5(9(955<<ruUVV6 6 WV6 $//9 9 0/9,  (6 6 6- - -     E5>22, , 32, E5>22BH 566  76 32  $
  
  
  NOO@ @ PO@6 NOO, , PO, NOO0 0 PO08- - -"
- 
- 
-
- 
- 
-W W W RZ(LMM- - NM-2 2 22 2 2& & &- - -0	- 	- 	-
- 
- 
-  "6 6 6& & &   BH 566& & 76& & &r   