
    Eg]              	          d Z ddlZddlZddl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mZ 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d Zej                             d          d             Z!ej                             d          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$ Z0d% Z1ej        (                    d&d d!g          ej                             d'          d(                         Z2ej        (                    d&d d!g          ej                             d'          d)                         Z3ej        (                    d*d+d,g          ej        (                    d&d d!g          d-                         Z4ej        (                    d*d+d,g          ej        (                    d.e
j5        e
j6        g          d/                         Z7d0 Z8d1 Z9ej        :                    d2          d3             Z;ej        :                    d2          d4             Z<d5 Z=d6 Z>ej        (                    d7g d8 ej6        g d9          fg d: ej6        g d;          fg          d<             Z?d= Z@ej        (                    d>ejA        ejB        ej*        g          d?             ZCd@ ZDdA ZEdB ZFdC ZGdD ZHdE ZIdS )Fz
This module tests the functionality of StringArray and ArrowStringArray.
Tests for the str accessors are in pandas/tests/strings/test_string_array.py
    N)pa_version_under12p0)is_dtype_equal)ArrowStringArrayArrowStringArrayNumpySemanticsc                 H    | j         dk    rt          j        S t          j        S )Npyarrow_numpy)storagenpnanpdNAdtypes    \/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/arrays/string_/test_string.pyna_valr      s    }''vu    c                 ,    t          j        |           S )z=Fixture giving StringDtype from parametrized 'string_storage')r	   )r   StringDtype)string_storages    r   r   r      s     >.1111r   c                 *    |                                  S )z3Fixture giving array type from parametrized 'dtype')construct_array_typer   s    r   clsr   #   s     %%'''r   c                    t          j        dt          j        dt           j        dg|           i          }| j        dk    rd}nd}t          |          |k    sJ | j        dk    rd}nd	}t          |j                  |k    sJ | j        d
k    r	d}d| d}n| j        dk    r	d}d| d}nd}d| d}t          |j        j                  |k    sJ d S )NAabr   r   z     A
0    a
1  NaN
2    bz      A
0     a
1  <NA>
2     bz10      a
1    NaN
2      b
Name: A, dtype: stringz40       a
1    <NA>
2       b
Name: A, dtype: stringpyarrowr   <z+>
['a', <NA>, 'b']
Length: 3, dtype: stringr   z*>
['a', nan, 'b']
Length: 3, dtype: stringStringArray)r   	DataFramearrayr   r	   reprr   )r   dfexpectedarr_names       r   	test_reprr&   )   s   	sBHc25#%6eDDDE	F	FB}''3788x}''IL::!!!!}	!!%NxNNN	/	)	)3MxMMM NxNNN
x''''''r   c                     |                      g d|          }|d         J |d         t          |j                  u sJ d S )N)r   Nr   r      )_from_sequencer   r   )r   r   r   s      r   test_none_to_nanr*   C   sT    +++599AQ4Q46!'??""""""r   c                    |                      ddg|          }| t          j        j        u rd}nd}t	          j        t          |          5  d|d<   d d d            n# 1 swxY w Y   | t          j        j        u rd	}n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   z4Cannot set non-string value '10' into a StringArray.Scalar must be NA or strmatch
   r   zMust provide strings.r(      )	r)   r   arraysr   pytestraises	TypeErrorr
   r!   )r   r   arrmsgs       r   test_setitem_validatesr7   I   s_   


c3Zu

5
5C
bi###D(	y	,	,	,  A               bi###%(	y	,	,	, " "1a&!!AAA" " " " " " " " " " " " " " " " " "s$   AA#&A#CC
C
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   r5   r$   s      r   test_setitem_with_scalar_stringr>   [   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   r9   r   r   r   r(   r9   )r   r!   r
   copyr   r<   r=   assert_numpy_array_equal)r   r5   value
value_origr$   s        r   $test_setitem_with_array_with_missingrE   d   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<   |                    |           }t	          |j        |           sJ |                    d          }t          j        ||           ||j        d         z
  }|                    |           }t	          |j        |           sJ |                    |j                  }t          j        ||           d S )N2000   )periodsr   zdatetime64[ns])	r   Series
date_rangeastyper   r   r<   assert_series_equaliloc)r   sercastedresultser2casted2result2s          r   test_astype_roundtriprV   q   s    
)BM&"555
6
6CCFZZF&,.....]]+,,F63''' "Dkk%  G'-/////nnTZ((G7D)))))r   c                 *   t          j        g d|           }t          j        g d|           }||z   }t          j        g d|           }t          j        ||           |                    |          }t          j        ||           |                    |          }t          j        g d|           }t          j        ||           |                    |d          }t          j        g d|           }t          j        ||           d S )	N)r   r   r9   NNr   )xyNzN)axbyNNN)xaybNNN-)
fill_value)r[   r\   zc-z-zN)r   rK   r<   rN   addradd)r   r   r   rR   r$   s        r   test_addrc      s   
	---U;;;A
	---U;;;AUFy777uEEEH68,,,UU1XXF68,,,VVAYYFy777uEEEH68,,,UU1U%%Fy777uEEEH68,,,,,r   c                    | j         |v r8d}t          j                            d |          }|                    |           t          j        g d|           }t          j        g dgt                    }t          j	        t          d          5  ||z    d d d            n# 1 swxY w Y   t          j        |          }t          j	        t          d          5  ||z    d d d            d S # 1 swxY w Y   d S )Nz*Failed: DID NOT RAISE <class 'ValueError'>r3   reasonr@   r   z3 != 1r-   )r	   r2   markxfailapplymarkerr   r!   r
   objectr3   
ValueErrorrK   )r   requestarrow_string_storagerf   rg   r   r   ss           r   test_add_2dro      sz   },,,={  V <<D!!!
...A
///"&111A	z	2	2	2  	A               		!A	z	2	2	2  	A                 s$   B%%B),B)C22C69C6c                    t          j        g d|           }g d}||z   }t          j        g d|           }t          j        ||           ||z   }t          j        g d|           }t          j        ||           d S )N)r   r   NNr   )rX   NrY   N)r[   NNN)r]   NNNr;   )r   r   otherrR   r$   s        r   test_add_sequencerr      s    
'''u555A"""EYFx000>>>H#FH555QYFx000>>>H#FH55555r   c                     t          j        g d|           }|dz  }t          j        g d|           }t          j        ||           d|z  }t          j        ||           d S )Nr   r   Nr   r0   )aabbNr;   )r   r   rR   r$   s       r   test_mulrw      sv    
!!!///AUFx***%888H#FH555UF#FH55555r   zGH-28527rf   c                    t          j        g d|           }t          j        g dgt                    }|                    |          t
          u sJ ||z   }t          j        g dg                              |           }t          j        ||           ||z   }t          j        g dg                              |           }t          j        ||           d S )N)r   r   r9   r:   r   )trY   vw)atr\   cvdw)tar^   vcwd)	r   r!   r    rj   __add__NotImplementedrM   r<   assert_frame_equalr   r5   r#   rR   r$   s        r   test_add_stringsr      s    
('''u
5
5
5C	+++,F	;	;	;B;;r??n,,,,2XF|555677>>uEEH&(+++#XF|555677>>uEEH&(+++++r   c                    t          j        ddt          j        t          j        g|           }t          j        dt          j        dt          j        gg          }|                    |          t          u sJ ||z   }t          j        dt          j        t          j        t          j        gg                              |           }t          j	        ||           ||z   }t          j        dt          j        t          j        t          j        gg                              |           }t          j	        ||           d S )Nr   r   r   rX   rY   r[   r]   )
r   r!   r
   r   r    r   r   rM   r<   r   r   s        r   test_add_framer      s    
(Cbfbf-U
;
;
;C	RVS"&12	3	3B;;r??n,,,,2XF|dBFBFBF;<==DDUKKH&(+++#XF|dBFBFBF;<==DDUKKH&(+++++r   c                 @   d| j          dt          j        g d|          }d t          |                    }|j        dk    rpt          j        fd|D                       }| t          j        k    rd|d<   nd	|d<   t          j	        ||
                    t
          j                             d S |j        d
k    rdnd}t          j        fd|D             t                    }t          j        ||          }t          j        ||           d S )N__r   Nr9   r   r   r   c                 B    g | ]} t          |                    S  getattr.0itemop_namerq   s     r   
<listcomp>z2test_comparison_methods_scalar.<locals>.<listcomp>   .    IIIt3WT733E::IIIr   Tr(   Fr   boolean[pyarrow]booleanc                 B    g | ]} t          |                    S r   r   r   s     r   r   z2test_comparison_methods_scalar.<locals>.<listcomp>   r   r   )__name__r   r!   r   r	   r
   operatorner<   rB   rM   bool_rj   r=   )comparison_opr   r   rR   r$   expected_dtyper   rq   s         @@r   test_comparison_methods_scalarr      s=   -=)---G
!!!///AE WQ  ''F}''8IIIIIqIIIJJHK''HQKKHQK
#FHOOBH,E,EFFFFF/4}	/I/I++y8IIIIIqIIIQWXXX8HN;;;
'99999r   c                    d| j          d}t          j        g d|          } t          ||          t          j                  }|j        dk    rTt          j        | k    rt          j        g d          }nt          j        g d          }t          j
        ||           d S |j        dk    rdnd	}t          j        g d
|          }t          j        ||           t          j        ||           d S )Nr   r   r   r   TTTFFFr   r   r   NNN)r   r   r!   r   r   r	   r   r   r
   r<   rB   r=   )r   r   r   r   rR   r$   r   s          r   $test_comparison_methods_scalar_pd_nar      s
   -=)---G
!!!///A WQ  ''F}'';-''x 2 2 233HHx 5 5 566H
#FH55555/4}	/I/I++y8...nEEE
'999
'99999r   c                 B   d| j          d}t          j        g d|          }d}|dvrNt          j        t
          d          5   t          ||          |           d d d            n# 1 swxY w Y   d S  t          ||          |          }|j        dk    r:g d	g d
d|         }t          j        |          }t          j
        ||           d S g dg dd|         }|j        dk    rdnd}t          j        ||          }t          j        ||           d S )Nr   r   r   *   )__eq____ne__z(Invalid comparison|not supported betweenr-   r   r   r   )FNF)TNTr   r   r   )r   r   r!   r2   r3   r4   r   r	   r
   r<   rB   r=   )	r   r   r   r   rq   rR   expected_datar$   r   s	            r   )test_comparison_methods_scalar_not_stringr     s   -=)---G
!!!///AE***]9,VWWW 	' 	'GAw&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	 WQ  ''F}''+++(((
 
  8M**
#FH55555#7#7#7CUCUCUVV
 05}	/I/I++y8M@@@
'99999s   A++A/2A/c                 *   d| j          d}t          j        g d|          }g d} t          ||          |          }|j        dk    rt
          j        | k    rt          j        g d          }n>t          j        g d          } t          |d         |          |d                   |d<   t          j	        ||            t          ||          t          j
                  }t
          j        | k    rt          j        g d	          }nt          j        g d          }t          j	        ||           d S |j        d
k    rdnd}t          j        t          |          d d          } t          |d         |          |d                   |d<   t          j        ||          }t          j        ||            t          ||          t          j
                  }t          j        g d|          }t          j        ||           d S )Nr   r   r   )NNr9   r   )TTFr   rJ   r   r   r   r   rj   )r`   r   r   )r   r   r!   r   r	   r   r   r
   r<   rB   r   fulllenr=   )r   r   r   r   rq   rR   r$   r   s           r   test_comparison_methods_arrayr   !  s   -=)---G
!!!///AE WQ  ''F}'';-''x 3 3 344HHx 5 5 566H6759g66qu==HRL
#FH555$G$$RU++;-''x 2 2 233HHx 5 5 566H
#FH55555 05}	/I/I++y73q66d(CCC2wuRy'221R5998HN;;;
'999$G$$RU++8...nEEE
'99999r   c           
      B   | t           j        j        u rd}nd}t          j        t
          |          5   | t          j        ddgd                     d d d            n# 1 swxY w Y   t          j        t
          |          5   | t          j        g                      d d d            n# 1 swxY w Y   | t           j        j        u rW | t          j        dt          j        gt                                | t          j        dd gt                               nt          j        t
          |          5   | t          j        dt          j        gt                               d d d            n# 1 swxY w Y   t          j        t
          |          5   | t          j        dd gt                               d d d            n# 1 swxY w Y   t          j        t
          |          5   | t          j        dt           j
        gt                               d d d            n# 1 swxY w Y   t          j        t
          |          5   | t          j        dt          j        dd	          gt                               d d d            n# 1 swxY w Y   t          j        t
          |          5   | t          j        dt          j        dd	          gt                               d d d            d S # 1 swxY w Y   d S )
Nz7StringArray requires a sequence of strings or pandas.NAzBUnsupported type '<class 'numpy.ndarray'>' for ArrowExtensionArrayr-   r   r   S1r   NaTns)r   r1   r   r2   r3   rk   r
   r!   r   rj   r   
datetime64timedelta64)r   r6   s     r   test_constructor_raisesr   B  s   
bi###GR	z	-	-	- . .BHc3Zt,,,---. . . . . . . . . . . . . . . 
z	-	-	-  BHRLL               bi### 	BHc26]&111222BHc4[///0000]:S111 	7 	7C#rvf555666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7]:S111 	5 	5C#tF333444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 
z	-	-	- 3 3BHc26]&1112223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 
z	-	-	- G GBHc2=556fEEEFFFG G G G G G G G G G G G G G G 
z	-	-	- H HBHc2>%667vFFFGGGH H H H H H H H H H H H H H H H H Hs}   "A""A&)A&B22B69B61E??FF%'GGG>1H;;H?H?!:J''J+.J+:LLLnar   c                    t           j                            t          j        dt           j        g                    }t          j        t           j                            t          j        d| gd                    |           d S )Nr   rj   r   )r   r1   r   r
   r!   r   r<   r=   )r   r$   s     r   test_constructor_nan_liker   c  sn    y$$RXsBEl%;%;<<H#
	bhRyAAABBH    r   rA   TFc                    t          j        dt           j        gt                    }|                                }t          j        dt
          j        gt                    }|                    |||           }|t          t          fv r8dd l
} ||                    ||                                d                    }n ||          }t          j        ||           t          j        ||           d S )Nr   r   )r   rA   r   Ttypefrom_pandas)r
   r!   r   rj   rA   r   r   r)   r   r   r   stringr<   r=   rB   )	rA   r   r   nan_arrexpected_inputna_arrrR   par$   s	            r   test_from_sequence_no_mutater   k  s    hRV}F333G\\^^NXsBEl&111Fu4@@F
!?@@@3rxxRYY[[dxKKLL3v;;#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        dk    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)r(   r0      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!   rM   r
   r<   rB   r   r	   rk   r4   r2   r3   )r   r5   rR   r$   errr6   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   2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   Int64r(   r   )r   r!   r   rM   r<   r=   r   r5   rR   r$   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        dt          j        dg|          }t          j        ||           d S )Nz1.1z3.3r   g?gffffff
@)r   rK   r   rM   r
   r   r<   rN   )r   any_float_dtyperP   rR   r$   s        r   test_astype_floatr     sf    
)UBE5)
7
7
7CZZ((Fy#rvs+?CCCH68,,,,,r   skipnazNot implemented StringArray.sumc                 r    t          j        g d|          }|                    |           }|dk    sJ d S )Nr@   r   r   abc)r   rK   sumr   r   r5   rR   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   r9   Nr   r   r   )r   rK   r   isnar   s       r   test_reduce_missingr     se     )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 |t          |j                  u sJ d S )Nr   r   r9   Nr   r   r   r   r9   )r   rK   r   r   r   )r   r   r   r5   rR   r$   s         r   test_min_maxr     s     ))))
7
7
7C!WS&!!000F + E//33s!!!!!!	********r   boxc                 N   |j         |v 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 )	Nz<'<=' not supported between instances of 'str' and 'NoneType'z0'ArrowStringArray' object has no attribute 'max're   r   r   r   r   r9   )
r	   r   r!   r2   rg   rh   r4   ri   r   r
   )
r   r   r   rl   rm   rf   rg   r5   rR   r$   s
             r   test_min_max_numpyr     s     },,,"(??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        ||           | j        |v rd}nd}t          j
        t          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )	Nr   r   r   )rC   z"Invalid value '1' for dtype stringz3Cannot set non-string value '1' into a StringArray.r-   r(   )r   r!   r   fillnar<   r=   r
   str_r	   r2   r3   r4   )r   rm   r5   resr$   r6   s         r   test_fillna_argsr     sI    (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},,,2C	y	,	,	,  


                 s   $DDDc                    t          j        d          }dd lm} t	          j        g d|           }|                    |          }|                    t          |          |                                d          }| j        dv rt          r|
                    |          }| j        dk    r(|                    ||                                          }|                    |          sJ d S )	Nr   r   r@   r   Tr   )r   r   python)r2   importorskippyarrow.computecomputer   r!   listlarge_stringr	   r   chunked_arraycastr   equals)r   r   pcdatar5   r$   s         r   test_arrow_arrayr     s    		Y	'	'B      8OOO5111D
((4..CxxT

):):xMMH}4449M4##H--}  778RYY[[11::hr   z0ignore:Passing a BlockManager:DeprecationWarningc                 @   t          j        d          }|r9|dk    r3|                    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   t          |d         j        t
          j                  sJ |                    d| d          }	t%          j        ||	           |j        d         t+          |d         j                  u sJ d S )Nr   r   1infer_string takes precedence over string storagerx   rt   r   r   r   r   r   r   string[])r0   r   )r2   r   ri   rg   rh   r   r!   r    tabler	   fieldr   option_context	to_pandas
isinstancer   r   rM   r<   r   locr   
r   string_storage2rl   using_infer_stringr   r   r#   r   rR   r$   s
             r   test_arrow_roundtripr    s    
	Y	'	'B 
o@@KJ   	
 	
 	
 8$$$E222D	sDk	"	"BHHRLLE}  {{3$00000{{3$6666		+_	=	= # #""# # # # # # # # # # # # # # #fSk'88888yy5?55566H&(+++:fs(9!:!:::::::s   4DDDc                 r   t          j        d          }|r9|dk    r3|                    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   t#          |d         j        t
          j                  sJ |                    d| d          }	t+          j        ||	           d S )Nr   r   r   rx   r   r   r   r   r   )r   )schemar   r   r   )r2   r   ri   rg   rh   r   r!   r    r   r	   r   r   r   r   r  r   r   r   r   r   rM   r<   r   r  s
             r    test_arrow_load_from_zero_chunksr    s   
 
	Y	'	'B 
o@@KJ   	
 	
 	
 8Be$$$D	sDk	"	"BHHRLLE}  {{3$00000{{3$6666HHb&&r		&<<=elHSSE		+_	=	= # #""# # # # # # # # # # # # # # #fSk'88888yy5?55566H&(+++++s   6EEEc                    t          | dd          dk    rd}nt          | dd          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   zint64[pyarrow]r   r   r   r   r   r   F)dropna)r0   r(   r(   )r   r(   r   countindexr   nameTr0   r(   )r   r   r!   r   value_countsrK   r<   rN   )r   	exp_dtyper5   rR   r$   s        r   test_value_counts_nar  0  s   ui$$	11$				2	&	&/	9	9			
(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                 f   t          | dd          dk    rd}n$t          | dd          dk    rt          j        }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	   r
  r   zdouble[pyarrow]r   Float64r   r   r   T)	normalizer0   r(   
proportionr  r   )	r   r
   float64r   rK   r   r  r<   rN   )r   r  rP   rR   r$   s        r    test_value_counts_with_normalizer  A  s    ui$$	11%				2	&	&/	9	9J			
)S#sBE*%
8
8
8C--Fy!Qs2A2wilSSSVWWH68,,,,,r   zvalues, expectedr@   r   rt   )FFTc                    t          j        | |          } d}t          j        t          |          5  t          j        dd          5  |                                 }t          j        ||           t          j        |                                           }t          j        |          }t          j	        ||           t          j
        |                                           }t          j
        |          }t          j        ||           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   z"use_inf_as_na option is deprecatedr-   zmode.use_inf_as_naT)r   r!   r<   assert_produces_warningFutureWarningr   r   rB   rK   rN   r    r   )valuesr$   r   r6   rR   s        r   test_use_inf_as_nar  N  s    XfE***F
.C		#M	=	=	= 4 43T:: 
	4 
	4[[]]F'999Yv&&++--Fy**H"68444\&))..00F|H--H!&(333
	4 
	4 
	4 
	4 
	4 
	4 
	4 
	4 
	4 
	4 
	4 
	4 
	4 
	4 
	44 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s6   D6
CDD6D"	"D6%D"	&D66D:=D:c                    | j         |v 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 )Nznot applicable for r@   r   r   T)deep)r	   r2   skipr   rK   nbytesmemory_usage)r   rm   seriess      r   test_memory_usager$  g  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   rK   rM   r<   rN   )r%  r   rP   rR   r$   s        r   test_astype_from_float_dtyper'  r  sZ     )SE
-
-
-CZZFy%...H68,,,,,r   c                     t          j        dt           j        dg|           }t          j        |          }t          j        dt	          |           dgt
                    }t          j        ||           d S )Nr   r   r   )r   r!   r   r
   r   rj   r<   rB   r   s       r   "test_to_numpy_returns_pdna_defaultr)  {  sf    
(C$E
2
2
2CXc]]FxfUmmS1@@@H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   )na_value)r   r!   r   to_numpyr
   rj   r<   rB   )r   nulls_fixturer+  r5   rR   r$   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                 V   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        ||           d S )Nrt   r   r   r9   )TFF)TFTr   )r   rK   isinr<   rN   r   )r   fixed_now_tsrn   rR   r$   s        r   	test_isinr2    s   
	"""%000AVVS#JFy---..H68,,,VVS"%L!!Fy,,,--H68,,,VVBZZFy...//H68,,,VVS,'((Fy---..H68,,,,,r   c                    t          j        g d|           }t          j        g d          }d ||<   |j        d         t	          |j                  u sJ t          j        g d|           }t          |j                  t           j        j        u rd}nd}t          j
        t          |          5  d||<   d d d            d S # 1 swxY w Y   d S )Nr@   r   )FTFr(   zCannot set non-string valuer,   r-   )r   rK   r
   r!   r   r   r   r1   r   r2   r3   r4   )r   rP   maskr6   s       r   (test_setitem_scalar_with_mask_validationr5    s    )OOO5
1
1
1C8((())DCI9Q<6#),,,,,, )OOO5
1
1
1CCI")///+(	y	,	,	,  D	                 s   4CCCc                     g d}t          j        |t           j                  }t          j        ||           }t          j        ||           }t	          j        ||           d S Nr@   r   )r
   r!   r   r   r<   r=   r   valsr5   rR   r$   s        r   test_from_numpy_strr:    sb    ??D
(4rw
'
'
'CXc'''FxE***H#FH55555r   c                     g d}t          j        ||           }|                                }|}t          j        ||           d S r7  )r   r!   tolistr<   assert_equalr8  s        r   test_tolistr>    sI    ??D
(4u
%
%
%CZZ\\FHOFH%%%%%r   )J__doc__r   numpyr
   r2   pandas.compat.pyarrowr   pandas.core.dtypes.commonr   pandasr   pandas._testing_testingr<   pandas.core.arrays.string_arrowr   r   r   fixturer   r   r&   r*   r7   r>   rE   rV   rc   ro   rr   rw   rg   rh   r   r   r   r   r   r   r   parametrizer   r  floatr   r   r   r   r   r   r   r   r   rK   r!   r   r   r   filterwarningsr  r  r  r  r  r$  float16float32r'  r)  r.  r2  r5  r:  r>  r   r   r   <module>rM     s          6 6 6 6 6 6 4 4 4 4 4 4                    2 2 2
 ( ( (
( ( (4# # #" " "$3 3 3
3 
3 
3* * *&- - -(   
6 
6 
66 6 6 *%%, , &%, *%%, , &%,: : :&: : :$: : :<: : :BH H HB 

5(9(955<<ruUVV  WV $//9 9 0/9$  (6 6 6- - - D%=11;<<  =< 21 D%=11;<<  =< 21 E5>22D%=11+ + 21 32+ E5>22BH 566  76 32  *      NOO; ; PO;6 NOO, , PO,:- - -"
- 
- 
- 	("(#8#8#899:			828$8$8$899: 4 4 4$W W W RZ(LMM- - NM-2 2 22 2 2- - -(  (6 6 6& & & & &r   