Ë
    ¤ehØ.  ã                   ó~   — d Z ddlZddlZddlmZ ddlmZmZ ddl	Z
ddlmZ ddlmZ  G d„ d«      Z G d„ d	e«      Zy)
z
Tests for 2D compatibility.
é    N)Úis_matching_na)Úis_bool_dtypeÚis_integer_dtype)ÚNUMPY_INT_TO_DTYPEc                   óâ  — e Zd Z ej                  d¬«      d„ «       Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zej"                  j%                  dddg«      d„ «       Zej"                  j%                  dg d¢«      d„ «       Zej"                  j%                  dg d¢«      ej"                  j%                  dddg«      d„ «       «       Zej"                  j%                  dg d¢«      d„ «       Zy)ÚDim2CompatTestsT)Úautousec                 ó¶   — |j                   sM|j                  }|j                  }|j                  j	                  d«      rt        j                  |› d�«       y y y )Nr   z does not support 2D.)Ú_supports_2dÚnodeÚ_objÚ__qualname__Ú
startswithÚpytestÚskip)ÚselfÚdtypeÚrequestr   Ú	test_funcs        ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/extension/base/dim2.pyÚskip_if_doesnt_support_2dz)Dim2CompatTests.skip_if_doesnt_support_2d   sS   € à×!Ò!Ø—<‘<ˆDð Ÿ	™	ˆIØ×%Ñ%×0Ñ0Ð1BÔCä—‘˜u˜gÐ%:Ð;Õ<ð Dð "ó    c                 óº   — |j                  d«      j                  dd«      }|j                  }|d   |d   k7  sJ ‚|j                  j                  |d d d…   k(  sJ ‚y )Né   éÿÿÿÿr   )ÚrepeatÚreshapeÚshapeÚT)r   ÚdataÚarr2dr   s       r   Útest_transposezDim2CompatTests.test_transpose"   sY   € Ø—‘˜A“×&Ñ& r¨1Ó-ˆØ—‘ˆØ�Q‰x˜5 ™9Ò$Ð$Ð$à�w‰w�}‰} ¡d¨ d¡Ò+Ð+Ñ+r   c                 óè   — |j                  d«      j                  dd«      }t        j                  |«      }t        j                  |d d …df   |d d …df   dœ«      }t	        j
                  ||«       y )Nr   r   r   é   )r   r$   )r   r   ÚpdÚ	DataFrameÚtmÚassert_frame_equal)r   r    r!   ÚdfÚexpecteds        r   Útest_frame_from_2d_arrayz(Dim2CompatTests.test_frame_from_2d_array)   s]   € Ø—‘˜A“×&Ñ& r¨1Ó-ˆä�\‰\˜%Ó ˆÜ—<‘< Eª!¨Q¨$¡K°Eº!¸Q¸$±KÑ @ÓAˆÜ
×Ñ˜b (Õ+r   c                 ó®   — |j                  d«      j                  dd«      }|j                  dd«      }|j                  }t	        j
                  ||«       y )Nr   r   r   r$   )r   r   Úswapaxesr   r'   Úassert_extension_array_equal©r   r    r!   Úresultr*   s        r   Útest_swapaxeszDim2CompatTests.test_swapaxes0   sE   € Ø—‘˜A“×&Ñ& r¨1Ó-ˆà—‘  1Ó%ˆØ—7‘7ˆÜ
×'Ñ'¨°Õ9r   c                 óŒ  — |j                  d«      j                  dd«      }|j                  dd¬«      }|j                  d«      j                  d«      j                  dd«      }t        j                  ||«       |j                  dd¬«      }|j                  d«      j                  dd«      }t        j                  ||«       y )Né   r   r$   r   ©Úaxisr   )r   r   Údeleter'   r.   r/   s        r   Útest_delete_2dzDim2CompatTests.test_delete_2d7   s£   € Ø—‘˜A“×&Ñ& r¨1Ó-ˆð —‘˜a a�Ó(ˆØ—;‘;˜q“>×(Ñ(¨Ó+×3Ñ3°B¸Ó:ˆÜ
×'Ñ'¨°Ô9ð —‘˜a a�Ó(ˆØ—;‘;˜q“>×)Ñ)¨"¨aÓ0ˆÜ
×'Ñ'¨°Õ9r   c                 óÄ   — |j                  dd«      }|j                  g d¢d¬«      }|j                  g d¢«      j                  dd«      }t        j                  ||«       y )Nr   r$   )r   r   r   r   r4   )r   Útaker'   r.   r/   s        r   Útest_take_2dzDim2CompatTests.test_take_2dD   sO   € Ø—‘˜R Ó#ˆà—‘šJ¨Q�Ó/ˆà—9‘9šZÓ(×0Ñ0°°QÓ7ˆÜ
×'Ñ'¨°Õ9r   c                 ó   — t        |j                  dd«      «      }|j                  dt        |«      j                  › �«      dk(  sJ ‚t        |j                  dd«      «      }|j                  dt        |«      j                  › �«      dk(  sJ ‚y )Nr$   r   ú<)Úreprr   ÚcountÚtypeÚ__name__)r   r    Úress      r   Útest_repr_2dzDim2CompatTests.test_repr_2dL   s~   € ä�4—<‘<  2Ó&Ó'ˆØ�y‰y˜1œT $›Z×0Ñ0Ð1Ð2Ó3°qÒ8Ð8Ð8ä�4—<‘<  AÓ&Ó'ˆØ�y‰y˜1œT $›Z×0Ñ0Ð1Ð2Ó3°qÒ8Ð8Ñ8r   c                 óL  — |j                  dd«      }|j                  |j                  dfk(  sJ ‚t        |«      t        |«      k(  sJ ‚|j                  d«      }|j                  |j                  dfk(  sJ ‚t        |«      t        |«      k(  sJ ‚t	        j
                  t        «      5  |j                  |j                  df«       d d d «       t	        j
                  t        «      5  |j                  |j                  d«       d d d «       y # 1 sw Y   ŒHxY w# 1 sw Y   y xY w)Nr   r$   )r   r$   r   )r   r   ÚsizeÚlenr   ÚraisesÚ
ValueError)r   r    r!   s      r   Útest_reshapezDim2CompatTests.test_reshapeT   sí   € Ø—‘˜R Ó#ˆØ�{‰{˜tŸy™y¨!˜nÒ,Ð,Ð,Ü�5‹zœS ›YÒ&Ð&Ð&à—‘˜WÓ%ˆØ�{‰{˜tŸy™y¨!˜nÒ,Ð,Ð,Ü�5‹zœS ›YÒ&Ð&Ð&ä�]‰]œ:Ó&ñ 	)Ø�L‰L˜$Ÿ)™) Q˜Ô(÷	)ä�]‰]œ:Ó&ñ 	'Ø�L‰L˜Ÿ™ AÔ&÷	'ð 	'÷	)ð 	)ú÷	'ð 	'ús   Â)DÃ(DÄDÄD#c                 óZ  — |j                  dd«      }|d   }t        j                  ||«       t        j                  t
        «      5  |d    d d d «       t        j                  t
        «      5  |d    d d d «       |d d  }t        j                  ||«       |d d …d d …f   }t        j                  ||«       |d d …df   }|dg   }t        j                  ||«       |d d …t        j                  f   }t        j                  ||j                  «       y # 1 sw Y   ŒÉxY w# 1 sw Y   Œ®xY w)Nr$   r   r   éþÿÿÿ)	r   r'   r.   r   rF   Ú
IndexErrorÚnpÚnewaxisr   r/   s        r   Útest_getitem_2dzDim2CompatTests.test_getitem_2db   s  € Ø—‘˜Q Ó#ˆà�q‘ˆÜ
×'Ñ'¨°Ô5ä�]‰]œ:Ó&ñ 	Ø�!ŠH÷	ô �]‰]œ:Ó&ñ 	Ø�"ŠI÷	ð ‘q�ˆÜ
×'Ñ'¨°Ô6à’qš!�t‘ˆÜ
×'Ñ'¨°Ô6à’q˜!�t‘ˆØ˜˜‘9ˆÜ
×'Ñ'¨°Ô9ð ’aœŸ™�mÑ$ˆÜ
×'Ñ'¨°·±Õ8÷%	ð 	ú÷	ð 	ús   ÁDÁ.D!ÄDÄ!D*c                 óX  — |j                  dd«      }t        t        |«      «      }t        |«      |j                  d   k(  sJ ‚|D ]b  }t        |t        |«      «      sJ ‚|j                  |j                  k(  sJ ‚|j                  dk(  sJ ‚t        |«      |j                  d   k(  rŒbJ ‚ y )Nr$   r   r   )	r   ÚlistÚiterrE   r   Ú
isinstancer?   r   Úndim)r   r    r!   ÚobjsÚobjs        r   Útest_iter_2dzDim2CompatTests.test_iter_2d|   s�   € Ø—‘˜Q Ó#ˆä”D˜“KÓ ˆÜ�4‹y˜EŸK™K¨™NÒ*Ð*Ð*àò 	.ˆCÜ˜c¤4¨£:Ô.Ð.Ð.Ø—9‘9 §
¡
Ò*Ð*Ð*Ø—8‘8˜q’=Ð �=Ü�s“8˜uŸ{™{¨1™~Ó-Ð-Ð-ñ		.r   c                 óÄ   — |j                  dd«      }|j                  «       }|j                  «       g}t        |t        «      sJ ‚t	        d„ |D «       «      sJ ‚||k(  sJ ‚y )Nr$   r   c              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­w)N)rR   rP   )Ú.0Úxs     r   ú	<genexpr>z1Dim2CompatTests.test_tolist_2d.<locals>.<genexpr>�   s   è ø€ Ò7¨1”:˜a¤×&Ñ7ùs   ‚)r   ÚtolistrR   rP   Úallr/   s        r   Útest_tolist_2dzDim2CompatTests.test_tolist_2dˆ   s\   € Ø—‘˜Q Ó#ˆà—‘“ˆØ—K‘K“M�?ˆä˜&¤$Ô'Ð'Ð'ÜÑ7°Ô7Ô7Ð7Ð7à˜Ò!Ð!Ñ!r   c                 óˆ  — t        |«      j                  ||g«      j                  dd«      }|j                  «       }|j                  ||gd¬«      }|j                  |gdz  «      j                  dd«      }t	        j
                  ||«       |j                  ||gd¬«      }|j                  t        |«      dfk(  sJ ‚t	        j
                  |d d …d d…f   |«       t	        j
                  |d d …dd …f   |«       d}t        j                  t        |¬«      5  |j                  ||gd¬«       d d d «       y # 1 sw Y   y xY w)	Nr   r   r   r4   é   r$   z0axis 2 is out of bounds for array of dimension 2©Úmatch)r?   Ú_concat_same_typer   Úcopyr'   r.   r   rE   r   rF   rG   )r   r    ÚleftÚrightr0   r*   Úmsgs          r   Útest_concat_2dzDim2CompatTests.test_concat_2d“   s-  € Ü�D‹z×+Ñ+¨T°4¨LÓ9×AÑAÀ"ÀaÓHˆØ—	‘	“ˆð ×'Ñ'¨¨u¨¸AÐ'Ó>ˆØ×)Ñ)¨4¨&°1©*Ó5×=Ñ=¸bÀ!ÓDˆÜ
×'Ñ'¨°Ô9ð ×'Ñ'¨¨u¨¸AÐ'Ó>ˆØ�|‰|¤ D£	¨1˜~Ò-Ð-Ð-Ü
×'Ñ'¨ªq°"°1°"¨u©°tÔ<Ü
×'Ñ'¨ªq°!±"¨u©°uÔ=ð AˆÜ�]‰]œ:¨SÔ1ñ 	:Ø×"Ñ" D¨% =°qÐ"Ô9÷	:÷ 	:ñ 	:ús   ÄD8Ä8EÚmethodÚbackfillÚpadc                 óâ  — |j                  d«      j                  dd«      }|d   j                  «       j                  «       sJ ‚|d   j                  «       j	                  «       rJ ‚|j                  |d ¬«      }|j                  |¬«      j                  d«      j                  dd«      }t        j                  ||«       |d d d…   }|d   j                  «       j	                  «       rJ ‚|d   j                  «       j                  «       sJ ‚|j                  |d ¬«      }|d d d…   j                  |¬«      j                  d«      j                  dd«      }t        j                  ||«       y )Nr   r   r$   )ri   Úlimit)ri   r   )r   r   Úisnar]   ÚanyÚ_pad_or_backfillr'   r.   )	r   Údata_missingri   Úarrr0   r*   Úarr2Úresult2Ú	expected2s	            r   Útest_fillna_2d_methodz%Dim2CompatTests.test_fillna_2d_method§   sT  € ð ×!Ñ! !Ó$×,Ñ,¨Q°Ó2ˆØ�1‰v�{‰{‹}× Ñ Ô"Ð"Ð"Ø�q‘6—;‘;“=×$Ñ$Ô&Ð&Ð&à×%Ñ%¨V¸4Ð%Ó@ˆà×0Ñ0¸Ð0Ó?×FÑFÀqÓI×QÑQÐRSÐUVÓWˆÜ
×'Ñ'¨°Ô9ð ‘4�R�4‰yˆØ˜‘7—<‘<“>×%Ñ%Ô'Ð'Ð'Ø�A‰w�|‰|‹~×!Ñ!Ô#Ð#Ð#à×'Ñ'¨v¸TÐ'ÓBˆð ™˜2˜Ñ×/Ñ/°vÐ/Ó>×EÑEÀaÓH×PÑPÐQRÐTUÓVð 	ô 	×'Ñ'¨°Õ;r   )ÚmeanÚmedianÚvarÚstdÚsumÚprodc                 óh  — |j                  dd«      }d }d }	  t        ||«      «       } t        ||«      d ¬«      }|€|�t        |«      t        |«      k(  sJ ‚y t	        «      s||k(  sJ ‚y y # t        $ r9}|}	  t        ||«      d ¬«      }n# t        $ r}	|	}Y d }	~	nd }	~	ww xY wY d }~Œpd }~ww xY w)Nr$   r   r4   )r   ÚgetattrÚ	Exceptionr?   r   )
r   r    ri   r!   Úerr_expectedÚ
err_resultr*   r0   ÚerrÚerr2s
             r   Útest_reductions_2d_axis_nonez,Dim2CompatTests.test_reductions_2d_axis_none¿   sÎ   € à—‘˜Q Ó#ˆàˆØˆ
ð	7Ø,”w˜t VÓ,Ó.ˆHð ,”W˜U FÓ+°Ô6ˆFàÐ! \Ð%=Ü˜
Ó#¤t¨LÓ'9Ò9Ð9Ð9Øä˜f hÔ/°6¸XÒ3EÐEÐEÐ3EÐ/øô ò 	"àˆLð"Ø/œ ¨Ó/°TÔ:‘øÜò "Ø!•
ûð"ÿûð	"úsA   ˜A/ Á/	B1Á8B,Á;BÂB,Â	B$ÂBÂB,ÂB$Â$B,Â,B1Ú	min_countr   r$   c                 ó”  — |dk(  r|dvrt        j                  d|› �«       |j                  dd«      }i }|dv rd|d<   n	|dv r||d	<   	  t        ||«      dd
di|¤Ž}d„ }	|dv r„|}
|j                  j                  dv r4 |	|j                  «      }|j                  |«      }
||
j                  k(  sJ ‚|dk(  r|dk(  rdnd}|
j                  |«      }
t        j                  ||
«       y |dk(  r|}
t        j                  ||
«       y |dv r]t        |«      st        |«      r|j                  d«      }|dk(  rt        j                  ||«       y t        j                  |||z
  «       y y # t        $ rU}	  t        ||«      «        t        d«      ‚# t        $ r'}t        |«      t        |«      k(  sJ ‚Y d }~Y d }~y d }~ww xY wd }~ww xY w)Nr$   )r{   r|   zmin_count not relevant for r   )rz   ry   r   Úddof)r|   r{   r…   r5   ú'Both reductions should raise or neitherc                 ó¸   — | j                   dk(  r| S | j                  dv r t        t        j                  t
        «         S t        t        j                  d«         S )Né   ÚibÚuint)ÚitemsizeÚkindr   rL   r   Úint)r   s    r   Úget_reduction_result_dtypezLDim2CompatTests.test_reductions_2d_axis0.<locals>.get_reduction_result_dtypeò   sJ   € ð �~‰~ Ò"Ø�Ø—‘˜tÑ#Ü)¬"¯(©(´3«-Ñ8Ð8ô *¬"¯(©(°6Ó*:Ñ;Ð;r   Úiubr|   rx   )rw   rz   ry   ÚFloat64rw   © )r   r   r   r~   r   ÚAssertionErrorr?   r   rŽ   ÚastypeÚfillnar'   r.   r   r   )r   r    ri   r…   r!   Úkwargsr0   r‚   rƒ   r�   r*   r   Ú
fill_values                r   Útest_reductions_2d_axis0z(Dim2CompatTests.test_reductions_2d_axis0Ø   sÜ  € ð ˜Š>˜f¨OÑ;Ü�K‰KÐ5°f°XÐ>Ô?à—‘˜Q Ó#ˆàˆØ�^Ñ#àˆF�6ŠNØ�Ñ&Ø"+ˆF�;Ñð		PØ+”W˜U FÓ+Ñ=°Ð=°fÑ=ˆFò		<ð �_Ñ$àˆHØ�z‰z�‰ %Ñ'Ù2°4·:±:Ó>�ØŸ;™; uÓ-�Ø §¡Ò.Ð.Ð.à˜AŠ~Ø"(¨FÒ"2™Q¸�
Ø#Ÿ?™?¨:Ó6�ä×+Ñ+¨F°HÕ=Ø�xÒàˆHÜ×+Ñ+¨F°HÕ=ØÐ-Ñ-Ü Ô%¬°tÔ)<Ø—{‘{ 9Ó-�Ø˜ÒÜ×/Ñ/°¸Õ=ä×/Ñ/°¸¸t¹ÕDð .øôK ò 	PðPØ%”˜˜fÓ%Ô'ô
 %Ð%NÓOÐOøô	 ò Ü˜C“y¤D¨£JÒ.Ð.Ð.ß�ûðþð	Pús<   Á
E) Å)	GÅ3FÆGÆ	F?ÆF:Æ1GÆ:F?Æ?GÇGc                 óˆ  — |j                  dd«      }	  t        ||«      d¬«      }|j
                  dk(  sJ ‚ t        ||«      «       }|d   }t        ||«      s||k(  sJ ‚y y # t        $ rU}	  t        ||«      «        t        d«      ‚# t        $ r'}t	        |«      t	        |«      k(  sJ ‚Y d }~Y d }~y d }~ww xY wd }~ww xY w)Nr$   r   r4   rˆ   )r$   r   )r   r~   r   r”   r?   r   r   )	r   r    ri   r!   r0   r‚   rƒ   Úexpected_scalarrA   s	            r   Útest_reductions_2d_axis1z(Dim2CompatTests.test_reductions_2d_axis1  sÙ   € à—‘˜Q Ó#ˆð		PØ+”W˜U FÓ+°Ô3ˆFð �|‰|˜tÒ#Ð#Ð#Ø/œ' $¨Ó/Ó1ˆØ�Q‰iˆÜ˜c ?Ô3°s¸oÒ7MÐMÐMÐ7MÐ3øô ò 	PðPØ%”˜˜fÓ%Ô'ô
 %Ð%NÓOÐOøô	 ò Ü˜C“y¤D¨£JÒ.Ð.Ð.ß�ûðþð	Pús;   ”A# Á#	CÁ-B	Á>B<Â		B9ÂB4Â+B<Â4B9Â9B<Â<CN)r@   Ú
__module__r   r   Úfixturer   r"   r+   r1   r7   r:   rB   rH   rN   rV   r^   rh   ÚmarkÚparametrizerv   r„   r™   rœ   r“   r   r   r   r      s  „ ð €V‡^�^˜DÔ!ñ=ó "ð=ò,ò,ò:ò:ò:ò9ò'ò9ò4
.ò	"ò:ð( ‡[�[×Ñ˜X¨
°EÐ':Ó;ñ<ó <ð<ð. ‡[�[×Ñ˜XÒ'VÓWñFó XðFð0 ‡[�[×Ñ˜XÒ'VÓWØ‡[�[×Ñ˜[¨1¨a¨&Ó1ñ:Eó 2ó Xð:Eðx ‡[�[×Ñ˜XÒ'VÓWñNó XñNr   r   c                   ó   — e Zd Zd„ Zy)ÚNDArrayBacked2DTestsc                 óf  — |j                  d«      j                  dd«      }|j                  j                  d   sJ ‚|j	                  «       }|j                  j                  d   sJ ‚|d d d…d d d…f   j	                  «       }|j                  j                  d   sJ ‚|j	                  d«      }|j                  j                  d   rJ ‚|j                  j                  d   sJ ‚|j	                  d«      }|j                  j                  d   sJ ‚|j
                  j	                  d«      }|j                  j                  d   rJ ‚|j                  j                  d   sJ ‚d}t        j                  t        |¬«      5  |j	                  d	«       d d d «       |d d d…   }|j                  j                  d   rJ ‚|j                  j                  d   rJ ‚|j	                  «       j                  j                  d   sJ ‚|j	                  «       j                  j                  d   rJ ‚|j	                  d
«      j                  j                  d   sJ ‚|j	                  d
«      j                  j                  d   rJ ‚|j	                  d«      j                  j                  d   rJ ‚|j	                  d«      j                  j                  d   sJ ‚|j	                  d«      j                  j                  d   sJ ‚|j	                  d«      j                  j                  d   rJ ‚y # 1 sw Y   �Œ—xY w)Nr   r   ÚC_CONTIGUOUSÚFÚF_CONTIGUOUSÚKz6order must be one of 'C', 'F', 'A', or 'K' \(got 'Q'\)ra   ÚQÚC)	r   r   Ú_ndarrayÚflagsrd   r   r   rF   rG   )r   r    r!   rA   rg   Úarr_ncs         r   Útest_copy_orderz$NDArrayBacked2DTests.test_copy_order/  s»  € à—‘˜A“×&Ñ& r¨1Ó-ˆØ�~‰~×#Ñ# NÒ3Ð3Ð3à�j‰j‹lˆØ�|‰|×!Ñ! .Ò1Ð1Ð1à‘C�a�C™˜1˜�H‰o×"Ñ"Ó$ˆØ�|‰|×!Ñ! .Ò1Ð1Ð1à�j‰j˜‹oˆØ—<‘<×%Ñ% nÒ5Ð5Ð5Ø�|‰|×!Ñ! .Ò1Ð1Ð1à�j‰j˜‹oˆØ�|‰|×!Ñ! .Ò1Ð1Ð1à�g‰g�l‰l˜3ÓˆØ—<‘<×%Ñ% nÒ5Ð5Ð5Ø�|‰|×!Ñ! .Ò1Ð1Ð1ð HˆÜ�]‰]œ:¨SÔ1ñ 	Ø�J‰J�sŒO÷	ð ‘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÷%	ñ 	ús   Å?L&Ì&L0N)r@   r�   r   r­   r“   r   r   r¢   r¢   ,  s   „ ó*Cr   r¢   )Ú__doc__ÚnumpyrL   r   Úpandas._libs.missingr   Úpandas.core.dtypes.commonr   r   Úpandasr%   Úpandas._testingÚ_testingr'   Úpandas.core.arrays.integerr   r   r¢   r“   r   r   ú<module>r¶      sB   ðñó Û å /÷ó
 Ý Ý 9÷VNñ VNôr-C˜?õ -Cr   