ó
    ®œ‘h$3  ã                   óÒ  • S SK Jr  S SKrS SKrS SKJrJr  S SKr	S SKJ
r
JrJrJrJr  S SKJr  S SKJrJrJr  S r\R.                  " / SQS9S	 5       r\R.                  S
 5       r\R4                  R7                  S5      S 5       r\R4                  R7                  S5      S 5       r\R4                  R=                  S/ SQ5      S 5       r\R.                  S 5       r \R.                  S 5       r!\R4                  RD                  \R4                  RB                  \R4                  R7                  S5      \R4                  R7                  S5       " S S5      5       5       5       5       r#g)é    )ÚdedentN)ÚPyperclipExceptionÚPyperclipWindowsException)ÚNAÚ	DataFrameÚSeriesÚ
get_optionÚread_clipboard)ÚCheckedCallÚ_stringifyTextÚinit_qt_clipboardc                 ó2   • 0 nUS:w  a  XS'   U S:w  a  XS'   U$ )NÚdefaultÚexcelÚsep© )r   r   Úkwargss      ÚbC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\pandas/tests/io/test_clipboard.pyÚbuild_kwargsr      s*   € Ø€FØ�	ÓØˆw‰Ø
ˆiÓØˆu‰Ø€Mó    )
ÚdelimsÚutf8Úutf16ÚstringÚlongÚnonasciiÚcolwidthÚmixedÚfloatÚint)Úparamsc           	      ó@  • U R                   nUS:X  a  [        SS/SS/S.5      $ US:X  a  [        SS	/S
S/S.5      $ US:X  a  [        SS/SS/S.5      $ US:X  aT  [        [        R                  " [	        S5       Vs/ s H  nSU 3PM
     sn5      R                  SS5      [        S5      S9$ US:X  aO  [        S5      n[        [        R                  R                  S5      R                  SSUS-   S4S9[        S5      S9$ US:X  a*  [        SR                  5       SR                  5       S .5      $ US!:X  ab  [        S"5      S-   n[        [        R                  " [	        S5       Vs/ s H  nS#U-  PM
     sn5      R                  SS5      [        S5      S9$ US$:X  ab  [        [        R                  " S%S&5      S'-   [        R                  " SS(5      R                  [        R                  5      [        S)5      S*.5      $ US+:X  a?  [        [        R                  R                  S5      R                  S,5      [        S5      S9$ US-:X  aA  [        [        R                  R                  S5      R                  SSS,5      [        S5      S9$ [        es  snf s  snf ).Nr   z"a,	"b|czd	ef`zhi'jzk''lm)ÚaÚbr   u   Âµasdu   Î©Å“âˆ‘`u   Ã¸Ï€âˆ†ËšÂ¬u   Å“âˆ‘`Â®r   u   ðŸ‘�ðŸ‘�ÚabcÚdefr   é   zi-é   é   )Úcolumnsr   zdisplay.max_rowsé   r   é
   é   )Úsizer   z
in Englishu   en espaÃ±ol)ÚenÚesr   zdisplay.max_colwidthÚxr   ç      ð?g      @g{®Gáz„?é   Úabcde)r#   r$   Úcr   )r(   r)   r    )Úparamr   ÚnpÚarrayÚrangeÚreshapeÚlistr	   ÚrandomÚdefault_rngÚintegersÚsplitÚarangeÚastypeÚint64Ú
ValueError)ÚrequestÚ	data_typeÚiÚmax_rowsÚ_cwÚ_s         r   ÚdfrJ   %   s|  € ð —‘€Ià�HÓÜ ¨XÐ6¸fÀgÐ=NÑOÓPÐPØ	�fÓ	Ü ¨Ð4¸MÈ:Ð;VÑWÓXÐXØ	�gÓ	ÜØ)Ð+AÐBÈ%ÐQVÈÑXó
ð 	
ð 
�hÓ	ÜÜ�HŠH¬¨b¬	Ó2ª	 1˜˜1˜#“h©	Ñ2Ó3×;Ñ;¸A¸qÓAÌ4ÐPUË;ñ
ð 	
ð 
�fÓ	ÜÐ0Ó1ˆÜÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸8Àa¹<ÈÐ:KÐ-ÐLÜ˜“Kñ
ð 	
ð 
�jÓ	 Ü × 2Ñ 2Ó 4¸M×<OÑ<OÓ<QÑRÓSÐSØ	�jÓ	 ÜÐ/Ó0°1Ñ4ˆÜÜ�HŠH¬¨r¬Ó3ª A�c˜C”i©Ñ3Ó4×<Ñ<¸QÀÓBÌDÐQVËKñ
ð 	
ð 
�gÓ	Üä—Y’Y˜s CÓ(¨4Ñ/Ü—Y’Y˜q !“_×+Ñ+¬B¯H©HÓ5Ü˜'“]ñó
ð 	
ð 
�gÓ	ÜœŸ™×.Ñ.¨qÓ1×8Ñ8¸Ó@Ì$ÈuË+ÑVÐVØ	�eÓ	ÜÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°°VÓ<ÄdÈ5Ãkñ
ð 	
ô Ðùò= 3ùò 4s   Á=JÅ*Jc              #   ó�   #   • S nU R                  5        nUR                  SUSS9  Sv •  SSS5        g! , (       d  f       g= f7f)z4
Mocks WinError to help with testing the clipboard.
c                  ó   • g)NzWindow Errorr   r   r   r   Ú_mock_win_errorÚ$mock_ctypes.<locals>._mock_win_errorg   s   € Ør   zctypes.WinErrorF)ÚraisingN)ÚcontextÚsetattr)ÚmonkeypatchrM   Úms      r   Úmock_ctypesrT   a   s;   é € òð 
×	Ñ	Ô	 !Ø	�	‰	Ð# _¸eˆ	ÑDÛ÷ 
×	Ö	üs   ‚A–5¬	Aµ
A¿ArT   c                 óÖ   • S nU R                  SS 5        SUR                   S3n[        R                  " [        US9   [        U5      " 5         SSS5        g! , (       d  f       g= f)zy
Give CheckCall a function that returns a falsey value and
mock get_errno so it returns false so an exception is raised.
c                  ó   • g©NFr   r   r   r   Ú_return_falseÚ6test_checked_call_with_bad_call.<locals>._return_falsew   s   € Ør   úpandas.io.clipboard.get_errnoc                  ó   • g©NTr   r   r   r   Ú<lambda>Ú1test_checked_call_with_bad_call.<locals>.<lambda>z   s   € Àr   zError calling z \(Window Error\)©ÚmatchN)rQ   Ú__name__ÚpytestÚraisesr   r   )rR   rX   Úmsgs      r   Útest_checked_call_with_bad_callre   p   sV   € òð ×ÑÐ7¹ÔFØ˜=×1Ñ1Ð2Ð2EÐ
F€Cä	�ŠÔ0¸Ó	<Ü�MÔ"Ô$÷ 
=×	<Ö	<ús   Á AÁ
A(c                 ó^   • S nU R                  SS 5        [        U5      nU" 5       SL d   eg)z¶
Give CheckCall a function that returns a truthy value and
mock get_errno so it returns true so an exception is not raised.
The function should return the results from _return_true.
c                  ó   • gr\   r   r   r   r   Ú_return_trueÚ7test_checked_call_with_valid_call.<locals>._return_true‰   s   € Ør   rZ   c                  ó   • grW   r   r   r   r   r]   Ú3test_checked_call_with_valid_call.<locals>.<lambda>Œ   s   € Àr   TN)rQ   r   )rR   rh   Úchecked_calls      r   Ú!test_checked_call_with_valid_callrm   �   s6   € òð ×ÑÐ7¹ÔGô ˜|Ó,€LÙ‹>˜TÒ!Ð!Ñ!r   Útext)ÚString_testTr-   r2   y              ð?c                 ó6  • [         [        [        [        4n[	        X5      (       a  [        U 5      nU[        U 5      :X  d   eg S[        U 5      R                   3n[        R                  " [        US9   [        U 5        S S S 5        g ! , (       d  f       g = f)NzJonly str, int, float, and bool values can be copied to the clipboard, not r_   )Ústrr    r   ÚboolÚ
isinstancer   Útypera   rb   rc   r   )rn   Úvalid_typesÚresultrd   s       r   Útest_stringify_textrw   “   s~   € ô œœU¤DÐ)€Kä�$×$Ñ$Ü Ó%ˆØœ˜T›Ó"Ð"Ñ"ð3Ü37¸³:×3FÑ3FÐ2GðIð 	ô �]Š]Ô-°SÓ9Ü˜4Ô ÷ :×9Ö9ús   Á5B
Â

Bc              #   ó,  #   • [        5       u  pU R                  5        nUR                  [        R                  R
                  SU5        UR                  [        R                  R
                  SU5        S v •  S S S 5        g ! , (       d  f       g = f7f)NÚclipboard_setÚclipboard_get)r   rP   rQ   ÚpdÚioÚ	clipboard)rR   Úqt_cutÚqt_pasterS   s       r   Úset_pyqt_clipboardr€   ¬   s\   é € ä(Ó*Ñ€FØ	×	Ñ	Ô	 !Ø	�	‰	”"—%‘%—/‘/ ?°FÔ;Ø	�	‰	”"—%‘%—/‘/ ?°HÔ=Û÷ 
×	Ö	üs   ‚BŸABÁ:	BÂ
BÂBc              #   óT   #   • U R                  5       nUv •  UR                  5         g 7f)N)r}   Úclear)ÚqappÚclips     r   r}   r}   µ   s   é € à�>‰>Ó€DØ
‚JØ‡J�J…Lùs   ‚&(r€   r}   c                   óâ  • \ rS rSr\R
                  R                  S/ SQ5      \R
                  R                  S/ SQ5      S 5       5       rS rS r	S	 r
\R
                  R                  S/ S
Q5      \R
                  R                  S/ SQ5      S 5       5       r\R
                  R                  SSS/5      S 5       rS rS r\R
                  R                  SSR                  / SQ5      / SQ/ SQ/ SQ/4SR                  / SQ5      / SQ/ SQ/4/5      S 5       rS r\R
                  R                  S/ SQ5      S 5       r\R
                  R                  SS S!/5      S" 5       rS# rS$ rS%rg)&ÚTestClipboardé¼   r   )NÚ	Ú,Ú|Úencoding)NzUTF-8zutf-8r   c                 óx   • UR                  S X#S9  [        U=(       d    SSUS9n[        R                  " X5        g )N)r   r   r‹   rˆ   r   )r   Ú	index_colr‹   )Úto_clipboardr
   ÚtmÚassert_frame_equal)ÚselfrJ   r   r‹   rv   s        r   Útest_round_trip_frame_sepÚ'TestClipboard.test_round_trip_frame_sepÃ   s4   € ð 	�‰˜d¨ˆÑ?Ü C§K¨4¸1ÀxÑPˆÜ
×Ò˜bÕ)r   c                 ó¸   • UR                  SS S9  [        5       nUR                  5       UR                  5       :X  d   eUR                  UR                  :X  d   eg )NF©r   r   )rŽ   r
   Ú	to_stringÚshape)r‘   rJ   rv   s      r   Útest_round_trip_frame_stringÚ*TestClipboard.test_round_trip_frame_stringË   sM   € Ø
�‰˜e¨ˆÑ.ÜÓ!ˆØ�|‰|‹~ ×!1Ñ!1Ó!3Ó3Ð3Ð3Ø�x‰x˜6Ÿ<™<Ó'Ð'Ñ'r   c                 óŒ   • [         R                  " [        SSS9   UR                  SSS9  S S S 5        g ! , (       d  f       g = f)NzAto_clipboard in excel mode requires a single character separator.F)r`   Úcheck_stacklevelTz\tr•   )r�   Úassert_produces_warningÚUserWarningrŽ   ©r‘   rJ   s     r   Útest_excel_sep_warningÚ$TestClipboard.test_excel_sep_warningÓ   s;   € Ü×'Ò'ÜØUØ"ó
ð
 �O‰O $¨EˆOÑ2÷
÷ 
ö 
ús	   ›5µ
Ac                 ó‚   • [         R                  " 5          UR                  SSS9  S S S 5        g ! , (       d  f       g = f)NFrˆ   r•   )r�   rœ   rŽ   rž   s     r   Útest_copy_delim_warningÚ%TestClipboard.test_copy_delim_warningÜ   s*   € Ü×'Ò'Õ)Ø�O‰O %¨TˆOÑ2÷ *×)Ö)ús   –0°
>)rˆ   Nr   r   )TNr   c                 ó„   • [        X5      nUR                  " S0 UD6  UR                  5       UR                  SS9:X  d   eg )Nrˆ   ©r   r   )r   rŽ   rn   Úto_csv)r‘   r   r   rJ   r}   r   s         r   Ú test_clipboard_copy_tabs_defaultÚ.TestClipboard.test_clipboard_copy_tabs_defaultâ   s=   € ô ˜cÓ)ˆØ
�ŠÑ!˜&Ò!Ø�~‰~Ó 2§9¡9° 9Ð#6Ó6Ð6Ñ6r   Nr   c                 óÒ   • [        US5      nUR                  " S0 UD6  [        SS9nUR                  5       UR                  5       :X  d   eUR                  UR                  :X  d   eg )NFz\s+r¥   r   )r   rŽ   r
   r–   r—   )r‘   r   rJ   r   rv   s        r   Útest_clipboard_copy_stringsÚ)TestClipboard.test_clipboard_copy_stringsê   sZ   € ä˜c 5Ó)ˆØ
�ŠÑ!˜&Ò!Ü FÑ+ˆØ×ÑÓ! R§\¡\£^Ó3Ð3Ð3Ø�x‰x˜6Ÿ<™<Ó'Ð'Ñ'r   c                 ó   • SS0n[        SR                  5       5      nUR                  U5        [        S0 UD6nUR                  S   S:X  d   e[        SR                  5       5      nUR                  U5        [        S0 UD6n[        SR                  5       5      nUR                  U5        [        S0 UD6n[
        R                  " XV5        g )	NÚengineÚpythonz^
            John James	Charlie Mingus
            1	2
            4	Harry Carney
            )r-   r-   zHarry Carneyz@
            a	 b
            1  2
            3  4
            z@
            a  b
            1  2
            3  4
            r   )r   ÚstripÚsetTextr
   Úilocr�   r�   )r‘   r}   Úclip_kwargsrn   rJ   ÚresÚexps          r   Útest_read_clipboard_infer_excelÚ-TestClipboard.test_read_clipboard_infer_excelò   sÓ   € à Ð*ˆäð÷ ‘“ó
ˆð 	×Ñ˜$ÔÜÑ*˜kÑ*ˆð �w‰w�t‰} Ó.Ð.Ð.ô ð÷ ‘“ó
ˆð 	×Ñ˜$ÔÜÑ+˜{Ñ+ˆäð÷ ‘“ó
ˆð 	×Ñ˜$ÔÜÑ+˜{Ñ+ˆä
×Ò˜cÕ'r   c                 óŠ   • SnUR                  U5        [        5       n[        / SQ/ SQS.S9n[        R                  " X45        g )Nzcol1	col2
1	red
	blue
2	green©r-   Nr+   ©ÚredÚblueÚgreen©Úcol1Úcol2)Údata©r°   r
   r   r�   r�   )r‘   r}   rn   rJ   Údf_expecteds        r   Útest_infer_excel_with_nullsÚ)TestClipboard.test_infer_excel_with_nulls  s@   € à5ˆà×Ñ˜$ÔÜÓˆÜÚ&Ò0HÑIñ
ˆô
 	×Ò˜bÕ.r   Ú
multiindexÚ
)z			col1	col2zA	0	True	1	redzA	1	True		bluezB	0	False	2	green)ÚArÇ   ÚB)r   r-   r   )TTF)z		col1	col2z	A	0	1	redz	A	1		bluezB	0	2	greenc                 ó”   • UR                  US   5        [        5       n[        / SQ/ SQS.US   S9n[        R                  " X45        g )Nr   r¸   r¹   r½   r-   )rÀ   ÚindexrÁ   )r‘   r}   rÅ   rJ   rÂ   s        r   Ú test_infer_excel_with_multiindexÚ.TestClipboard.test_infer_excel_with_multiindex'  sH   € ð2 	×Ñ˜* Q™-Ô(ÜÓˆÜÚ&Ò0HÑIØ˜Q‘-ñ
ˆô 	×Ò˜bÕ.r   c                 ó  • Sn[         R                  " [        US9   UR                  SS9  S S S 5        [         R                  " [        US9   [        SS9  S S S 5        g ! , (       d  f       N:= f! , (       d  f       g = f)Nz&clipboard only supports utf-8 encodingr_   Úascii)r‹   )rb   rc   rC   rŽ   ÚNotImplementedErrorr
   ©r‘   rJ   rd   s      r   Útest_invalid_encodingÚ#TestClipboard.test_invalid_encodingJ  sW   € Ø6ˆä�]Š]œ:¨SÓ1Ø�O‰O WˆOÑ-÷ 2ä�]Š]Ô.°cÓ:Ü GÒ,÷ ;Ð:÷ 2Õ1úç:Õ:ús   œA Á
A1Á 
A.Á1
A?rÀ   )u   ðŸ‘�...u   Î©Å“âˆ‘`...zabcd...c                 ó€   • [        SU/05      nUR                  5         [        5       n[        R                  " X#5        g )NrÀ   )r   rŽ   r
   r�   r�   )r‘   rÀ   rJ   rv   s       r   Útest_raw_roundtripÚ TestClipboard.test_raw_roundtripR  s5   € ô ˜  Ð'Ó(ˆØ
�‰ÔÜÓ!ˆÜ
×Ò˜bÕ)r   r­   r5   r®   c                 óH  • US:X  al  [         R                  " S5      nUS:X  a+  US:X  a%  [        R                  " UR	                  5       5      nO;[        R                  " UR                  5       5      nO[        R                  " U5      nSnUR                  U5        [        R                  " SU5         [        SX4S9n	S S S 5        [        [        SS/US	9[        S
S/SS	9[        SS/SS	9[        SS /US	9[        S[        /SS	9[        S[        /SS	9[        [        [        /SS	9[        SS/SS	9[        S[        /SS	9S.	5      n
US:X  a^  SSKJn  [        U
R                   Vs0 s H  nXË" WR!                  X¬   SS95      _M     sn5      n
U" WR!                  S S /5      5      U
S'   U(       aA  U
R                  R#                  [        R                  " U[$        R&                  S95      U
l        [(        R*                  " W	U
5        g ! , (       d  f       GNV= fs  snf )NÚpyarrowr5   z@a,b,c,d,e,f,g,h,i
x,1,4.0,x,2,4.0,,True,False
y,2,5.0,,,,,False,zmode.string_storager‰   )r   Údtype_backendr­   r1   Úy)Údtyper-   r+   ÚInt64g      @g      @ÚFloat64TFÚboolean)	r#   r$   r5   ÚdÚeÚfÚgÚhrF   r   )ÚArrowExtensionArray)Úfrom_pandasrá   )Úna_value)rb   Úimportorskipr{   Ú
ArrowDtypeÚlarge_stringr   ÚStringDtyper°   Úoption_contextr
   r   r   r   Úpandas.arraysrã   r*   r8   rA   r7   Únanr�   r�   )r‘   r}   Ústring_storagerØ   r­   Úusing_infer_stringÚpaÚstring_dtypern   rv   Úexpectedrã   Úcols                r   Ú!test_read_clipboard_dtype_backendÚ/TestClipboard.test_read_clipboard_dtype_backendZ  së  € ð
 ˜IÓ%Ü×$Ò$ YÓ/ˆBØ˜‹} °9Ó!<ä!Ÿ}š}¨R¯_©_Ó->Ó?‘ä!Ÿ}š}¨R¯Y©Y«[Ó9‘äŸ>š>¨.Ó9ˆLðˆð 	×Ñ˜$Ôä×ÒÐ4°nÕEÜ#¨¸=ÑXˆF÷ Fô ä˜S #˜J¨lÑ;Ü˜Q ˜F¨'Ñ2Ü˜S #˜J¨iÑ8Ü˜S $˜K¨|Ñ<Ü˜Q¤˜G¨7Ñ3Ü˜S¤"˜I¨YÑ7ÜœR¤˜H¨GÑ4Ü˜T 5˜M°Ñ;Ü˜U¤B˜K¨yÑ9ñ
ó
ˆð ˜IÓ%Ý9ä ð  (×/Ò/óâ/˜ð Ð,¨R¯X©X°h±mÐQU¨XÐ-VÓWÒWÙ/ñóˆHñ 0°·±¸$À¸Ó0FÓGˆH�S‰MæØ'×/Ñ/×6Ñ6Ü—’˜~¼¿¹Ñ?ó ˆHÔô 	×Ò˜f hÕ/÷A FÖEüò(s   Â3HÅ("HÈ
Hc                 ó€   • Sn[         R                  " [        US9   [        SS9  S S S 5        g ! , (       d  f       g = f)NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r_   Únumpy)rØ   )rb   rc   rC   r
   )r‘   rd   s     r   Útest_invalid_dtype_backendÚ(TestClipboard.test_invalid_dtype_backend�  s0   € ð%ð 	ô �]Š]œ:¨SÓ1Ü¨Ò1÷ 2×1Ö1ús   œ
/¯
=c                 ó°   • [        S/ SQ05      nSn[        R                  " [        US9   UR	                  SS 5        S S S 5        g ! , (       d  f       g = f)Nr#   )r-   r+   r)   zTStarting with pandas version 3.0 all arguments of to_clipboard will be keyword-only.r_   T)r   r�   rœ   ÚFutureWarningrŽ   rÐ   s      r   Ú&test_to_clipboard_pos_args_deprecationÚ4TestClipboard.test_to_clipboard_pos_args_deprecation˜  sH   € ä˜šYÐ'Ó(ˆð%ð 	ô ×'Ò'¬¸SÓAØ�O‰O˜D $Ô'÷ B×AÖAús   «AÁ
Ar   )ra   Ú
__module__Ú__qualname__Ú__firstlineno__rb   ÚmarkÚparametrizer’   r˜   rŸ   r¢   r§   rª   rµ   rÃ   ÚjoinrË   rÑ   rÔ   ró   r÷   rû   Ú__static_attributes__r   r   r   r†   r†   ¼   s—  † ð ‡[�[×Ñ˜UÒ$:Ó;Ø‡[�[×Ñ˜ZÒ)IÓJñ*ó Kó <ð*ò(ò3ò3ð ‡[�[×Ñ˜UÒ$;Ó<Ø‡[�[×Ñ˜WÒ&=Ó>ñ7ó ?ó =ð7ð ‡[�[×Ñ˜U T¨9Ð$5Ó6ñ(ó 7ð(ò&(òP/ð ‡[�[×ÑØð —	‘	òóò !¢)Ò-@ÐAð
ð —	‘	ÚXóò !¢)Ð,ð	ð	
óñ,/ó-ð,/ò-ð ‡[�[×Ñ˜VÒ%PÓQñ*ó Rð*ð ‡[�[×Ñ˜X¨¨X Ó7ñ30ó 8ð30òj2õ(r   r†   )$Útextwrapr   rö   r7   rb   Úpandas.errorsr   r   Úpandasr{   r   r   r   r	   r
   Úpandas._testingÚ_testingr�   Úpandas.io.clipboardr   r   r   r   ÚfixturerJ   rT   r   Úusefixturesre   rm   r  rw   r€   r}   Ú
single_cpur†   r   r   r   Ú<module>r     sy  ðÝ ã Û ÷ó
 ÷õ õ ÷ñ òð ‡‚òññ+óð+ð\ ‡�ñó ðð ‡�×Ñ˜Ó'ñ%ó (ð%ð  ‡�×Ñ˜Ó'ñ"ó (ð"ð" ‡�×ÑØ
òó	ñ!ó	ð!ð ‡�ñó ðð ‡�ñó ðð ‡�×ÑØ‡�×ÑØ‡�×ÑÐ-Ó.Ø‡�×Ñ˜Ó%÷`(ð `(ó &ó /ó ó ñ`(r   