
    4ik7              
          S SK J r   S SKrS SKrS SKrS SKJs  Jr  S SK	J
r
JrJrJrJrJrJr  \R$                  S 5       r\R(                  R+                  SS\\/5      S 5       r\R(                  R+                  SS\R.                  " S	\R0                  " S
5      S9/5      S 5       rS r\R(                  R+                  SS\R.                  " S	\R0                  " S
5      S9/5      \R(                  R+                  SSS/5      \R(                  R+                  SSS/5      \R(                  R+                  SSS/5      S 5       5       5       5       r\R(                  R+                  S/ SQ/ SQ/ SQ// SQS9\R(                  R+                  S\\\S // SQS9S 5       5       rS rS  rS! r S" r!S# r"S$ r#S% r$\R(                  R+                  S&\%\\RL                  \\/5      S' 5       r'S( r(g))    )datetimeN)	DataFrameIndex
MultiIndexSeries_testingconcatoption_contextc                     U $ )N )index_or_seriess    _/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pandas/tests/strings/test_cat.pyindex_or_series2r      s        otherc                     U nSS/nU(       a	  U" U5      nOUnU" USS9R                   R                  USS9nUR                  S:X  d   eg )Nabname)r   ,sep)strcatr   )r   r   boxvaluesresults        r   test_str_cat_namer      sW     C3ZFff%))--e-=F;;&   r   infer_stringFTpyarrow)marksc           	      4   [        SU5         U nU" SSSSS[        R                  /5      nUR                  R	                  5       nSnXE:X  d   eUR                  R	                  SS9nSnXE:X  d   eUR                  R	                  S	S
S9nSnXE:X  d   e[        R
                  " S[        R                  SSS[        R                  /[        S9nU" / SQ5      nUR                  R	                  USS9n[        R                  " XE5        UR                  R	                  [        U5      SS9n[        R                  " XE5        Sn[        / SQ5      n[        R                  " [        US9   UR                  R	                  UR                  5        S S S 5        [        R                  " [        US9   UR                  R	                  [        U5      5        S S S 5        S S S 5        g ! , (       d  f       N]= f! , (       d  f       N(= f! , (       d  f       g = f)Nfuture.infer_stringr   r   caabbc-na_repzaabbc-_NA)r   r(   a_a_b_b_c_NAdfoodtype)aaza-bbbdcfooz--<If `others` contains arrays or lists \(or other list-likes.*123match)r
   npnanr   r   arrayobjecttmassert_equallistr   pytestraises
ValueErrorr   )	r   r   r   sr   expectedtrgxzs	            r   test_str_catrJ   &   s    
-|	< c3S"&&12 !!!#&!!!s40!!!!HHc2663UBFF;6J=> 1S)
) 473/
) N?#]]:S1EEIIahh 2 ]]:S1EEIId1g 2K 
=	<D 21 21K 
=	<s<   EH	*&G'!H	1%G8H	'
G5	1H	8
H	H		
Hc                 X   U nU" / SQ5      nSn[         R                  " [        US9   UR                  R	                  S5        S S S 5        [         R                  " [        US9   UR                  R	                  S5        S S S 5        g ! , (       d  f       NL= f! , (       d  f       g = f)Nr   r   r$   r,   z'Did you mean to supply a `sep` keyword?r9   |z    )rB   rC   rD   r   r   )r   r   rE   messages       r   #test_str_cat_raises_intuitive_errorrO   S   so    
C !A7G	z	1			# 
2	z	1			& 
2	1 
2	1	1	1s   B
%B

B
B)r    dtype_targetr>   categorydtype_callerc           	      N   U n[        SU5         [        / SQUS9nU[        :X  a  UO[        XfUR                  S9n[        / SQUS9n[        / SQUS:X  a  [        OS S9nU[        :X  a  UO[        U[        XaS9UR                  S9nUR
                  R                  UR                  US9n	[        R                  " X5        [        UR                  [        XaS9S	9nUR
                  R                  XsS9n	[        R                  " X5        UR
                  R                  UR                  US9n	[        R                  " X5        [        UR                  UR                  S	9n[        / S
QUS:X  a  [        OS S9nUS:X  a  [        OUR                  R                  R                  n
U[        :X  a  UO)[        U[        UR
                  S S U
S9UR                  S9nUR
                  R                  XsS9n	[        R                  " X5        S S S 5        g ! , (       d  f       g = f)Nr#   )r   r   r   r   r.   indexr/   )r   r   r   r$   )abr0   r1   acr>   r   rV   )r0   r0   r1   r1   r0      )r
   r   r   r/   r>   r   r   r   r?   r@   
categories)r   rS   rQ   r   r   r   rE   rG   rF   r   r/   s              r   test_str_cat_categoricalr\   ^   s    C	-|	<&l;A6!AGG#D&l;$lh6NFTX

 e| a <HNN 	 188-
) 1885#?@1&
) 188-
) 188188,*(H4&$
 '(28J8J8P8P e| HLL!,E:nn 	 1&
)_ 
=	<	<s   G>H
H$datarZ         )g?g?g333333?)rZ   r_   r   )integersfloatsmixed)idsr   c                 4    [         R                  " U [        S9$ )Nr.   )r;   r=   r>   )xs    r   <lambda>rg      s    BHHQf$=r   )r   r   rA   znp.arrayc                     [        / SQ5      nU " U5      nSn[        R                  " [        US9   UR                  R                  USSS9  S S S 5        g ! , (       d  f       g = f)Nr   r   r$   z;Concatenation requires list-likes containing only strings.*r9   outerr&   joinr(   )r   rB   rC   	TypeErrorr   r   )r   r]   rE   rG   msgs        r   test_str_cat_wrong_dtype_raisesro      sL     	AD	A
GC	y	,			!'#	. 
-	,	,s   A
A$c           	      
   U n[        / SQ5      nU[         :X  a  UO[        X"S9n[        / SQUR                  S9n[        U[        X"S9/SS9n[        / SQ5      nU[         :X  a  UO[        UR                  UR                  S9nUR                  R                  U5      n[        R                  " Xe5        UR                  R                  UR                  5      n[        R                  " Xe5        UR                  R                  X2/5      n[        R                  " Xe5        UR                  R                  X2R                  /5      n[        R                  " Xe5        / SQUl        U" / SQ5      nU[         :X  a  UO[        UR                  UR                  S9nUR                  R                  X2/5      n[        R                  " Xe5        UR                  R                  X2R                  /5      n[        R                  " Xe5        / SQUl        U" / S	Q5      nU[         :X  a  UO[        UR                  UR                  S9nUR                  R                  U5      n[        R                  " Xe5        S
n[        / SQ5      n[        X/SS9n	[        R                  " [        US9   UR                  R                  U	R                  5        S S S 5        [        R                  " [        US9   UR                  R                  UR                  UR                  /5        S S S 5        [        R                  " [        US9   UR                  R                  UR                  U/5        S S S 5        Sn[        S[        R                  SS /5      n
[        R                  " [        US9   UR                  R                  U
S/5        S S S 5        [        R                  " [        US9   UR                  R                  X/5        S S S 5        [        R                  " [        US9   UR                  R                  XR                  /5        S S S 5        [        R                  " [        US9   UR                  R                  XU//5        S S S 5        [        R                  " [        US9   UR                  R                  [        U
5      5        S S S 5        [        R                  " [        US9   UR                  R                  U
[        U
5      /5        S S S 5        [        R                  " [        US9   UR                  R                  S5        S S S 5        [        R                  " [        US9   UR                  R                  [!        UR                  [#        U5      /5      5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN~= f! , (       d  f       GN2= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNn= f! , (       d  f       GN8= f! , (       d  f       GN= f! , (       d  f       g = f)NrL   rY   ABCDrZ   axis)aAabBbcCcdDd)r   r$   r,   r   )aDabAbcBcdCd)aDdbAacBbdCcr4   r5   r9   z*others must be Series, Index, DataFrame,.*r   r$   u)r   r   r   r	   r   r   r?   r@   rV   rB   rC   rD   r;   r<   rm   setiterrA   )r   r   rE   rG   r,   rF   r   rH   rI   er   s              r   test_str_cat_mixed_inputsr      sD   
C"#AE\va1A#1884A6!%&Q/A12H%<xVHOO188-TH UUYYq\FOOF% UUYYqxx FOOF% UUYYvFOOF% UUYY88}%FOOF% #AG/0H%<xVHOO188-THUUYYvFOOF% UUYY88}%FOOF% #AG/0H%<xVHOO188-THUUYYq\FOOF% JCAvAA 
z	-			!(( 
. 
z	-			188QXX&' 
. 
z	-			188Q-  
. 7CRVVS$'(A 
y	,			1c( 
- 
y	,			1& 
- 
y	,			1hh-  
- 
y	,			1!f+ 
-
 
y	,			#a& 
-
 
y	,			1c!f+ 
- 
y	,			! 
- 
y	,			$$q'*+, 
-	,_ 
.	- 
.	- 
.	- 
-	, 
-	, 
-	, 
-	,
 
-	,
 
-	, 
-	, 
-	,s   +&W 22W(W$-W6,X*'X2X,2%X>8'Y Y"=:Y4 
W
W!$
W36
X
X
X),
X;>
Y
Y"
Y14
Zc                 L   U n[        / SQ/ SQS9n[        / SQ/ SQS9nUR                  XAS9u  pVUR                  R                  USS9nU[        :X  a!  [	        U5      n[	        U5      n[	        U5      nUR                  R                  XASS9n[
        R                  " X5        g )	NrL   rY   )ru   rr   Ers   r,   r   r   r   rl   r&   r'   rk   )r   alignr   r   r   r?   r@   )	r   	join_typer   rE   rG   satarF   r   s	            r   test_str_cat_align_indexedr     s    
C#+?@A#+?@AWWQW'FBvvzz"Sz)H
e|!H2Y?UUYYqY5FOOF%r   c                    [        / SQ5      n[        / SQ/ SQS9n[        X"/SS9n[        / SQ5      nUR                  UR                  R	                  UR                  U S9   nUR
                  R                  X"/U S	S
9n[        R                  " Xe5        UR
                  R                  X0S	S
9n[        R                  " Xe5        [        R                  " / SQ5      n[        / SQ5      nU S:X  a%  UR                  R                  UR                  5      OhU S:X  a%  UR                  R                  UR                  5      O=UR                  R                  UR                  R                  UR                  5      5      nUR                  UR                  R	                  XS9   nUR
                  R                  X'/U S	S
9n[        R                  " Xe5        [        R                   " ["        SS9   UR
                  R                  U[%        U5      /U S9  S S S 5        Sn	[        / SQ5      R&                  n
[        R                   " [(        U	S9   UR
                  R                  XS9  S S S 5        [        R                   " [(        U	S9   UR
                  R                  X*/U S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N]= f! , (       d  f       g = f)NrL   r   r`   r      rZ   rY   rZ   rv   )aaabbbzc--dddz-ee)howr&   rk   rq   )aaAbbBzc-CddD-e-innerrj   zothers must be Series,.*r9   r   r4   r5   )r   r	   locrV   rl   r   r   r?   assert_series_equalr;   r=   intersectionunionappend
differencerB   rC   rm   rA   r   rD   )r   rE   rG   r,   expected_outerrF   r   r   rhs_idxrH   rI   s              r   test_str_cat_align_mixed_inputsr   *  s1   #$A#<8AvAA?@N!!!'',,qwwI,"FGH UUYYvIcY:F6, UUYYqY5F6, 	%&A?@N  	
QWW%  WW]]177#WW^^AGG..qww78  !!!'',,w,"FGHUUYYvIcY:F6,	y(B	C			1d1g,Y	/ 
D
 JC&&A 
z	-			!	$ 
. 
z	-			1&y	) 
.	- 
D	C 
.	- 
.	-s$   1&J1KK1
J?
K
K!c                 D   [        SSS5      [        SSS5      /n[        SS/US   US   /S9n[        SS	/US   US   /S9nUR                  R                  X0S
9nU S;   a  [        SS/US   US   /S9nO[        SS/US   US   /S9n[        R
                  " XE5        g )Ni  rZ   r_   r   r   r   rY   r$   r,   r   >   rj   rightbcad)r   r   r   r   r?   r   )r   r   rE   othersr   rF   s         r   $test_str_cat_datetime_index_unsortedr   [  s    tQ"HT1a$89FSz&)VAY!78AS#Jvay&)&<=FUUYYvY.F&&4,vay&).DE4,vay&).DE6,r   c                    U nUn[        / SQ5      nU[         :X  a  UO[        XDS9nU" [        R                  /S-  [        S9nU[         :X  a  UO[        XTS9nU[        :X  a2  [        [        R                  /S-  UR
                  UR                  S9nO [        [        R                  /S-  [        S9nUR                  R                  USS9n[        R                  " Xv5        U[        :X  a\  [        [        R                  /S-  [        UR
                  S9nUR                  R                  USS9n[        R                  " Xv5        g g )	NrL   rY   r   r.   rU   leftr   )r/   rV   )r   r   r;   r<   r>   rV   r/   r   r   r?   r@   r   )r   r   r   r   rE   rG   rF   r   s           r   test_str_cat_all_nar   h  s   
CE 	"#AE\va1Arvvhl&)Ae^!3A f}266(Q,aggQWWE "&&AV4UUYYqvY&FOOF% 266(Q,fAGGD16*
v0 r   c                     [        / SQ5      n [        / SQ/ SQS9n[        / SQ5      nU R                  R                  [        XR                  /5      SSS9n[
        R                  " X25        [        S	S
/SS/S9nU R                  R                  UR                  S/   UR                  S/   /SSS9n[
        R                  " X25        g )NrL   r   r   rY   )r   r   zc-cr   r   rj   r&   rk   zaa-zd-dr   r`   r   )r   r   r   r   r   r?   r   r   )rE   rG   rF   r   s       r   test_str_cat_special_casesr     s    #$A#<8A 9:HUUYYtQM*YEF6, uenQF3HUUYYqc
AEE1#J/gcYJF6,r   c                     [        [        R                  " SS// SQ/SS/S9S9n U R                  5       n X R                  S:     n U R
                  R                  S	5      nU R                  R                  S	5      nUR                  R                  US
S9nUR                  S   S:X  d   eUR                  R                  X"/S
S9nUR                  S   S:X  d   eg )Ni  i  r^   yearmonth)namesrY   rZ   r    r   z2011 2z2011 2 2)
r   r   from_productreset_indexr   r   astyper   r   r   )dfstr_year	str_monthstr_bothstr_multiples        r   test_cat_on_filtered_indexr     s    	%%D\9%fg->

B 
	B	HHqL	Bww~~e$H&I||	s3H<<?h&&&<<##Y$:#DLA*,,,r   klassc                     [        / SQ5      nUR                  R                  U " / SQ5      5      n[        / SQ5      n[        R                  " X#5        g )Nri   )rf   yrI   )axbycz)r   r   r   r?   r   )r   rE   r   rF   s       r   test_cat_different_classesr     s>     	AUUYYu_-.F()H6,r   c                      [        / SQ5      n [        R                  " S5      n[        R                  " [
        US9   U R                  R                  U R                  S9  S S S 5        g ! , (       d  f       g = f)N)AbCdeFGHIjkLLLmzothers must be Series, Index, DataFrame, np.ndarray or list-like (either containing only strings or containing only objects of type Series/Index/np.ndarray[1-dim])r9   )r   )r   reescaperB   rC   rm   r   r   )psrN   s     r   test_cat_on_series_dot_strr     sR    	3	4Bii	G 
y	0


"&&
! 
1	0	0s   $A**
A8))r   r   numpyr;   rB   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   r?   r	   r
   fixturer   markparametrizer   param
skip_if_norJ   rO   r\   rA   ro   r   r   r   r   r   r   r   tupler=   r   r   r   r   r   <module>r      s    	   ) )     4"78	! 9	! UFLLR]]95MNO''T UFLLR]]95MNO T
+(J)?@(J)?@4* A A ,4*n 
-'   	UD=>/  
//c-L&&.*b
-18--* 5$&%"HI- J-"r   