
    4i0                     ~    S r SSKrSSKrSSKJr  SSKJrJr  SSK	r
SSKJr  SSKJr   " S S5      r " S S	\5      rg)
z
Tests for 2D compatibility.
    N)is_matching_na)is_bool_dtypeis_integer_dtype)NUMPY_INT_TO_DTYPEc                      \ rS rSr\R
                  " SS9S 5       rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS r\R&                  R)                  SSS/5      S 5       r\R&                  R)                  S/ SQ5      S 5       r\R&                  R)                  S/ SQ5      \R&                  R)                  SSS/5      S 5       5       r\R&                  R)                  S/ SQ5      S 5       rSrg)Dim2CompatTests   T)autousec                     UR                   (       dS  UR                  nUR                  nUR                  R	                  S5      (       a  [
        R                  " U S35        g g g )Nr   z does not support 2D.)_supports_2dnode_obj__qualname__
startswithpytestskip)selfdtyperequestr   	test_funcs        b/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pandas/tests/extension/base/dim2.pyskip_if_doesnt_support_2d)Dim2CompatTests.skip_if_doesnt_support_2d   sV    !!<<D 		I%%001BCCug%:;< D "    c                 (   UR                  S5      R                  SS5      nS Hk  nS US   4 H]  nUR                  X4S9nUR                  X4S9n[        R                  " US S 2S4   U5        [        R                  " US S 2S4   U5        M_     Mm     g )N   )   r   )
fill_valuer   )repeatreshapeshifttmassert_extension_array_equal)r   dataarr2dnr    resultexpected_cols          r   test_shift_2dDim2CompatTests.test_shift_2d#   s    A&&r1-A#T!Wo
Q>#zz!zC//q!tlK//q!tlK	 . r   c                     UR                  S5      R                  SS5      nUR                  nUS   US   :w  d   eUR                  R                  US S S2   :X  d   eg )Nr   r   r   )r!   r"   shapeT)r   r&   r'   r.   s       r   test_transposeDim2CompatTests.test_transpose-   sY    A&&r1-Qx59$$$ww}}dd+++r   c                     UR                  S5      R                  SS5      n[        R                  " U5      n[        R                  " US S 2S4   US S 2S4   S.5      n[        R
                  " X45        g )Nr   r   r   r   )r   r   )r!   r"   pd	DataFramer$   assert_frame_equal)r   r&   r'   dfexpecteds        r   test_frame_from_2d_array(Dim2CompatTests.test_frame_from_2d_array4   s[    A&&r1-\\% <<E!Q$KE!Q$K @A
b+r   c                     UR                  S5      R                  SS5      nUR                  SS5      nUR                  n[        R
                  " X45        g )Nr   r   r   r   )r!   r"   swapaxesr/   r$   r%   r   r&   r'   r)   r7   s        r   test_swapaxesDim2CompatTests.test_swapaxes;   sC    A&&r1-1%77
''9r   c                    UR                  S5      R                  SS5      nUR                  SSS9nUR                  S5      R                  S5      R                  SS5      n[        R                  " X45        UR                  SSS9nUR                  S5      R                  SS5      n[        R                  " X45        g )N   r   r   r   axisr   )r!   r"   deleter$   r%   r<   s        r   test_delete_2dDim2CompatTests.test_delete_2dB   s    A&&r1- aa(;;q>((+33B:
''9 aa(;;q>))"a0
''9r   c                     UR                  SS5      nUR                  / SQSS9nUR                  / SQ5      R                  SS5      n[        R                  " X45        g )Nr   r   )r   r   r   r   rA   )r"   taker$   r%   r<   s        r   test_take_2dDim2CompatTests.test_take_2dO   sM    R#JQ/99Z(00Q7
''9r   c                 $   [        UR                  SS5      5      nUR                  S[        U5      R                   35      S:X  d   e[        UR                  SS5      5      nUR                  S[        U5      R                   35      S:X  d   eg )Nr   r   <)reprr"   counttype__name__)r   r&   ress      r   test_repr_2dDim2CompatTests.test_repr_2dW   s~    4<<2&'yy1T$Z00123q8884<<A&'yy1T$Z00123q888r   c                 l   UR                  SS5      nUR                  UR                  S4:X  d   e[        U5      [        U5      :X  d   eUR                  S5      nUR                  UR                  S4:X  d   e[        U5      [        U5      :X  d   e[        R
                  " [        5         UR                  UR                  S45        S S S 5        [        R
                  " [        5         UR                  UR                  S5        S S S 5        g ! , (       d  f       NN= f! , (       d  f       g = f)Nr   r   )r   r   r   )r"   r.   sizelenr$   external_error_raised
ValueError)r   r&   r'   s      r   test_reshapeDim2CompatTests.test_reshape_   s    R#{{tyy!n,,,5zSY&&&W%{{tyy!n,,,5zSY&&&%%j1LL$))Q( 2%%j1LLA& 21 2111s   .D.D%
D"%
D3c                 r   UR                  SS5      nUS   n[        R                  " X15        [        R                  " [
        5         US     S S S 5        [        R                  " [
        5         US     S S S 5        US S  n[        R                  " X25        US S 2S S 24   n[        R                  " X25        US S 2S4   nUS/   n[        R                  " X45        US S 2[        R                  4   n[        R                  " X2R                  5        g ! , (       d  f       N= f! , (       d  f       N= f)Nr   r   r   r   )	r"   r$   r%   r   raises
IndexErrornpnewaxisr/   r<   s        r   test_getitem_2dDim2CompatTests.test_getitem_2dm   s    Q#q
''5]]:&!H ' ]]:&"I ' q
''6q!t
''6q!t9
''9 am$
''8% '& '&s   D0D(
D%(
D6c                 n   UR                  SS5      n[        [        U5      5      n[        U5      UR                  S   :X  d   eU Hk  n[        U[        U5      5      (       d   eUR                  UR                  :X  d   eUR                  S:X  d   e[        U5      UR                  S   :X  a  Mk   e   g )Nr   r   r   )	r"   listiterrU   r.   
isinstancerN   r   ndim)r   r&   r'   objsobjs        r   test_iter_2dDim2CompatTests.test_iter_2d   s    Q#DK 4yEKKN***Cc4:....99

***88q= =s8u{{1~---	 r   c                     UR                  SS5      nUR                  5       nUR                  5       /n[        U[        5      (       d   e[	        S U 5       5      (       d   eX4:X  d   eg )Nr   r   c              3   B   #    U  H  n[        U[        5      v   M     g 7f)N)rd   rb   ).0xs     r   	<genexpr>1Dim2CompatTests.test_tolist_2d.<locals>.<genexpr>   s     71:a&&s   )r"   tolistrd   rb   allr<   s        r   test_tolist_2dDim2CompatTests.test_tolist_2d   s`    Q#KKM?&$''''777777!!!r   c                 z   [        U5      R                  X/5      R                  SS5      nUR                  5       nUR                  X#/SS9nUR                  U/S-  5      R                  SS5      n[        R
                  " XE5        UR                  X#/SS9nUR                  [        U5      S4:X  d   e[        R
                  " US S 2S S24   U5        [        R
                  " US S 2SS 24   U5        Sn[        R                  " [        US9   UR                  X#/SS9  S S S 5        g ! , (       d  f       g = f)	Nr   r   r   rA      r   z0axis 2 is out of bounds for array of dimension 2match)rN   _concat_same_typer"   copyr$   r%   r.   rU   r   r[   rW   )r   r&   leftrightr)   r7   msgs          r   test_concat_2dDim2CompatTests.test_concat_2d   s   Dz++TL9AA"aH		 ''A'>))4&1*5==b!D
''9 ''A'>||D	1~---
''q"1"ut<
''q!"uu= A]]:S1""D=q"9 211s   D,,
D:methodbackfillpadc                    UR                  S5      R                  SS5      nUS   R                  5       R                  5       (       d   eUS   R                  5       R	                  5       (       a   eUR                  US S9nUR                  US9R                  S5      R                  SS5      n[        R                  " XE5        US S S2   nUS   R                  5       R	                  5       (       a   eUS   R                  5       R                  5       (       d   eUR                  US S9nUS S S2   R                  US9R                  S5      R                  SS5      n[        R                  " Xx5        g )Nr   r   r   )r   limit)r   r   )r!   r"   isnarq   any_pad_or_backfillr$   r%   )	r   data_missingr   arrr)   r7   arr2result2	expected2s	            r   test_fillna_2d_method%Dim2CompatTests.test_fillna_2d_method   s\    !!!$,,Q21v{{}  """"q6;;=$$&&&&%%V4%@000?FFqIQQRSUVW
''9 4R4y7<<>%%''''Aw||~!!####''vT'B 2//v/>EEaHPPQRTUV 	 	'';r   )meanmedianvarstdsumprodc                 p   UR                  SS5      nS nS n [        X5      " 5       n[        X25      " S S9nUc  Ub  [        U5      [        U5      :X  d   eg [	        WW5      (       d  Xv:X  d   eg g ! [         a9  nUn [        X25      " S S9n S nAN\! [         a  n	U	n S n	A	 S nANqS n	A	ff = fS nAff = f)Nr   r   rA   )r"   getattr	ExceptionrN   r   )
r   r&   r   r'   err_expected
err_resultr7   r)   errerr2s
             r   test_reductions_2d_axis_none,Dim2CompatTests.test_reductions_2d_axis_none   s    Q#
	7t,.H U+6F!\%=
#tL'9999fh//63EEE3E/  	"L" /T: "!

"	"s;   A2 2
B5<B0?B
B-B(B0(B--B00B5	min_countr   r   c                    US:X  a  US;  a  [         R                  " SU 35        UR                  SS5      n0 nUS;   a  SUS'   O
US;   a  X5S	'    [        XB5      " SS
S0UD6nS n	US;   a  Un
UR                  R                  S;   a4  U	" UR                  5      nUR                  U5      n
XR                  :X  d   eUS:X  a  US:X  a  SOSnU
R                  U5      n
[        R                  " Xj5        g US:X  a  Un
[        R                  " Xj5        g US;   ah  [        U5      (       d  [        U5      (       a  UR                  S5      nUS:X  a  [        R                  " Xa5        g [        R                  " XaU-
  5        g g ! [         aV  n [        X5      " 5         [        S5      e! [         a(  n[        U5      [        U5      :X  d   e S nA S nAg S nAff = fS nAff = f)Nr   )r   r   zmin_count not relevant for r   )r   r   r   ddof)r   r   r   rB   'Both reductions should raise or neitherc                     U R                   S:X  a  U $ U R                  S;   a!  [        [        R                  " [
        5         $ [        [        R                  " S5         $ )N   ibuint)itemsizekindr   r]   r   int)r   s    r   get_reduction_result_dtypeLDim2CompatTests.test_reductions_2d_axis0.<locals>.get_reduction_result_dtype   sJ     ~~"t#)"((3-88 *"((6*:;;r   iubr   r   )r   r   r   Float64r    )r   r   r"   r   r   AssertionErrorrN   r   r   astypefillnar$   r%   r   r   )r   r&   r   r   r'   kwargsr)   r   r   r   r7   r   r    s                r   test_reductions_2d_axis0(Dim2CompatTests.test_reductions_2d_axis0   s    >fO;KK5fX>?Q#^#F6N&"+;		PU+==f=F		< _$Hzz%'24::>;;u-...A~"(F"2Q
#??:6++F=xH++F=--%%t)<)<{{9-//=//tD .K  	PP%'
 %%NOO	  CyDJ...	Ps<   F 
G#F)G)
G3GGGGG#c                    UR                  SS5      n [        X25      " SS9nUR
                  S:X  d   e[        X5      " 5       nUS   n[        X5      (       d  X:X  d   eg g ! [         aV  n [        X5      " 5         [        S5      e! [         a(  n[	        U5      [	        U5      :X  d   e S nA S nAg S nAff = fS nAff = f)Nr   r   rA   r   )r   r   )r"   r   r   r   rN   r.   r   )	r   r&   r   r'   r)   r   r   expected_scalarrP   s	            r   test_reductions_2d_axis1(Dim2CompatTests.test_reductions_2d_axis1!  s    Q#		PU+3F ||t###!$/1Qic33s7MMM7M3  	PP%'
 %%NOO	  CyDJ...	Ps;   A# #
C.B	>B>	
B;B6-B>6B;;B>>Cr   N)rO   
__module__r   __firstlineno__r   fixturer   r+   r0   r8   r=   rD   rH   rQ   rX   r_   rh   rr   r}   markparametrizer   r   r   r   __static_attributes__r   r   r   r   r      s    ^^D!= "=L,,:::9'94
.	":( [[X
E':;< <<. [[X'VWF XF0 [[X'VW[[[1a&1:E 2 X:Ex [[X'VWN XNr   r   c                       \ rS rSrS rSrg)NDArrayBacked2DTestsi7  c                     UR                  S5      R                  SS5      nUR                  R                  S   (       d   eUR	                  5       nUR                  R                  S   (       d   eUS S S2S S S24   R	                  5       nUR                  R                  S   (       d   eUR	                  S5      nUR                  R                  S   (       a   eUR                  R                  S   (       d   eUR	                  S5      nUR                  R                  S   (       d   eUR
                  R	                  S5      nUR                  R                  S   (       a   eUR                  R                  S   (       d   eSn[        R                  " [        US9   UR	                  S	5        S S S 5        US S S2   nUR                  R                  S   (       a   eUR                  R                  S   (       a   eUR	                  5       R                  R                  S   (       d   eUR	                  5       R                  R                  S   (       a   eUR	                  S
5      R                  R                  S   (       d   eUR	                  S
5      R                  R                  S   (       a   eUR	                  S5      R                  R                  S   (       a   eUR	                  S5      R                  R                  S   (       d   eUR	                  S5      R                  R                  S   (       d   eUR	                  S5      R                  R                  S   (       a   eg ! , (       d  f       GN= f)Nr   r   C_CONTIGUOUSFF_CONTIGUOUSKz6order must be one of 'C', 'F', 'A', or 'K' \(got 'Q'\)rv   QC)	r!   r"   _ndarrayflagsry   r/   r   r[   rW   )r   r&   r'   rP   r|   arr_ncs         r   test_copy_order$NDArrayBacked2DTests.test_copy_order:  s   A&&r1-~~##N333jjl||!!.111CaC1Ho""$||!!.111jjo<<%%n555||!!.111jjo||!!.111ggll3<<%%n555||!!.111 H]]:S1JJsO 2 ss??((888??((888{{}%%++N;;;;;=))//???{{3((..~>>>;;s#,,22>BBB;;s#,,22>BBB{{3((..~>>>{{3((..~>>>;;s#,,22>BBBB% 21s   %M>>
Nr   N)rO   r   r   r   r   r   r   r   r   r   r   7  s    *Cr   r   )__doc__numpyr]   r   pandas._libs.missingr   pandas.core.dtypes.commonr   r   pandasr3   pandas._testing_testingr$   pandas.core.arrays.integerr   r   r   r   r   r   <module>r      sB      /
   9`N `NF	-C? -Cr   