ó
    [hc,  ã                   ó  • S SK r S SKrS SKrS SKrS SKJr  S SKJr  S SK	J
r
  S SKJr  \" SS/SS9SS	 j5       r\/rS
/rS r\R"                  R%                  S\\S9S 5       r\R"                  R%                  S\\S9S 5       r\R"                  R%                  S\\S9S 5       r\R"                  R%                  S\\S9S 5       r\R"                  R%                  S\\S9S 5       rS rS rS rS rS r " S S5      rg)é    N©Ú_preprocess_data)ÚAxes)Úsubprocess_run_for_testing)Úcheck_figures_equalÚxÚy©Úreplace_namesÚlabel_namerc           
      óH   • S[        U5       S[        U5       SU SU SU 3
$ ©Nzx: z, y: z, ls: z, w: z	, label: ©Úlist©Úaxr   r	   ÚlsÚlabelÚws         Út/home/gothic/public_html/Fooocus/fooocus_env/lib64/python3.13/site-packages/matplotlib/tests/test_preprocess_data.pyÚ	plot_funcr      s/   € à”�a“�	˜œt A›w˜i v¨b¨T°°q°c¸À5À'ÐJÐJó    r   c                  ó˜  • S n S nS nS n[        SS/S9" U 5        [        SS/S9" U5        [        SS/S9" U5        [        R                  " [        5         [        / SQS9" U5        S	S	S	5        [        / S	S
9" U 5        [        / S	S
9" U5        [        / S	S
9" U5        [        / S	S
9" U5        [        R                  " [        5         [        SS9" U 5        S	S	S	5        [        R                  " [        5         [        SS9" U5        S	S	S	5        g	! , (       d  f       N³= f! , (       d  f       NR= f! , (       d  f       g	= f)z.Test decorator invocations -> no replacements.c                 ó   • g ©N© )r   r   r	   s      r   ÚfuncÚ%test_compiletime_checks.<locals>.func   s   € ˜r   c                 ó   • g r   r   )r   r   r	   Úargss       r   Ú	func_argsÚ*test_compiletime_checks.<locals>.func_args    s   €  Dr   c                 ó   • g r   r   )r   r   r	   Úkwargss       r   Úfunc_kwargsÚ,test_compiletime_checks.<locals>.func_kwargs!   s   € ¨r   c                  ó   • g r   r   )r    r$   s     r   Úfunc_no_ax_argsÚ0test_compiletime_checks.<locals>.func_no_ax_args"   s   € ¨$r   r   r	   ©r   )r   r	   ÚzNr
   r+   ©r   )r   ÚpytestÚraisesÚAssertionError)r   r!   r%   r(   s       r   Útest_compiletime_checksr0      s  € ò Ú(Ú-Ú.ô  C¨ :Ò.¨tÔ4Ü C¨ :Ò.¨{Ô;ä C¨ :Ò.¨yÔ9ô 
�Š”~Õ	&ä¢Ò7¸	ÔB÷ 
'ô
  2°4Ò8¸Ô>Ü 2°4Ò8¸ÔCÜ 2°4Ò8¸ÔEÜ 2°4Ò8¸ÔIô 
�Š”~Õ	&Ü SÒ)¨$Ô/÷ 
'ô 
�Š”~Õ	&Ü SÒ)¨)Ô4÷ 
'Ð	&÷ 
'Õ	&ú÷ 
'Õ	&ú÷ 
'Õ	&ús$   ÁDÃD*Ä D;Ä
D'Ä*
D8Ä;
E	r   )Úidsc                 ó¸   • U " SSS5      S:X  d   eU " SSSS9S:X  d   eU " SSSSS9S:X  d   eU " SSSS	S9S
:X  d   eU " SSSSS9S:X  d   eU " SSSS	S9S
:X  d   eg)z%Test without data -> no replacements.Nr   r	   z.x: ['x'], y: ['y'], ls: x, w: xyz, label: None)r   r	   Ú )r   z*x: ['x'], y: ['y'], ls: x, w: xyz, label: Útextz.x: ['x'], y: ['y'], ls: x, w: xyz, label: text)r   r	   r   r   )r   s    r   Útest_function_call_without_datar5   =   sÀ   € ñ ��s˜CÓ Ø<ó=ð >ð =á�˜ Ñ$Ø<ó=ð >ð =á��s˜C rÑ*Ø8ó9ð :ð 9á��s˜C vÑ.Ø<ó=ð >ð =á�˜ ¨2Ñ.Ø8ó9ð :ð 9á�˜ ¨6Ñ2Ø<ó=ð >ñ =r   c                 óf   • SSS.nU " SUR                  5       UR                  5       5      S:X  d   eg)z8Tests with dict input, unpacking via preprocess_pipelineé   é   )ÚaÚbNz4x: ['a', 'b'], y: [1, 2], ls: x, w: xyz, label: None)ÚkeysÚvalues©r   Údatas     r   Ú"test_function_call_with_dict_inputr?   N   s;   € ð ˜Ñ€DÙ��t—y‘y“{ D§K¡K£MÓ2ØBóCð Dñ Cr   c                 óÔ   • SS/SS/SS.nU " SSS	US
9S:X  d   eU " SSS	US9S:X  d   eU " SSS	SUS9S:X  d   eU " SSS	SUS9S:X  d   eU " SSS	SUS9S:X  d   eU " SSS	SUS9S:X  d   eg)zCTest with dict data -> label comes from the value of 'x' parameter.r7   r8   é   é	   ÚNOT©r9   r:   r   Nr9   r:   ©r>   ú-x: [1, 2], y: [8, 9], ls: x, w: xyz, label: b©r   r	   r>   r3   ©r   r>   ú,x: [1, 2], y: [8, 9], ls: x, w: xyz, label: r4   ú0x: [1, 2], y: [8, 9], ls: x, w: xyz, label: text©r   r	   r   r>   r   r=   s     r   Ú!test_function_call_with_dict_datarL   V   sâ   € ð �Q�˜q !˜f¨5Ñ1€DÙ��s˜C dÑ+Ø;ó<ð =ð <á�˜ ¨$Ñ/Ø;ó<ð =ð <á��s˜C r°Ñ5Ø:ó;ð <ð ;á��s˜C v°DÑ9Ø>ó?ð @ð ?á�˜ ¨2°DÑ9Ø:ó;ð <ð ;á�˜ ¨6¸Ñ=Ø>ó?ð @ñ ?r   c                 óÎ   • SS/SS.nU " SSSUS9S	:X  d   eU " SSSUS
9S	:X  d   eU " SSSSUS9S:X  d   eU " SSSSUS9S:X  d   eU " SSSSUS9S:X  d   eU " SSSSUS9S:X  d   eg)zETest the case that one var is not in data -> half replaces, half keptr7   r8   rC   )r9   r   Nr9   r:   rE   z,x: [1, 2], y: ['b'], ls: x, w: xyz, label: brG   r3   rH   z+x: [1, 2], y: ['b'], ls: x, w: xyz, label: r4   z/x: [1, 2], y: ['b'], ls: x, w: xyz, label: textrK   r   r=   s     r   Ú-test_function_call_with_dict_data_not_in_datarN   h   sÚ   € ð �Q�˜eÑ$€DÙ��s˜C dÑ+Ø:ó;ð <ð ;á�˜ ¨$Ñ/Ø:ó;ð <ð ;á��s˜C r°Ñ5Ø9ó:ð ;ð :á��s˜C v°DÑ9Ø=ó>ð ?ð >á�˜ ¨2°DÑ9Ø9ó:ð ;ð :á�˜ ¨6¸Ñ=Ø=ó>ð ?ñ >r   c                 óz  • UR                  [        R                  " SS/[        R                  S9[        R                  " SS/[        R                  S9SS/S.5      nU " SS	S
US9S:X  d   eU " SS	S
US9S:X  d   eU " SS	S
SUS9S:X  d   eU " SS	S
SUS9S:X  d   eU " SS	S
SUS9S:X  d   eU " SS	S
SUS9S:X  d   eg)zDTest with pandas dataframe -> label comes from ``data["col"].name``.r7   r8   )ÚdtyperA   rB   rC   rD   Nr9   r:   rE   rF   rG   r3   rH   rI   r4   rJ   rK   )Ú	DataFrameÚnpÚarrayÚint32)r   Úpdr>   s      r   Ú#test_function_call_with_pandas_datarV   z   s  € ð �<‰<œbŸhšh¨¨1 v´R·X±XÑ>Ü Ÿhšh¨¨1 v´R·X±XÑ>Ø$ e˜nñ.ó /€Dñ ��s˜C dÑ+Ø;ó<ð =ð <á�˜ ¨$Ñ/Ø;ó<ð =ð <á��s˜C r°Ñ5Ø:ó;ð <ð ;á��s˜C v°DÑ9Ø>ó?ð @ð ?á�˜ ¨2°DÑ9Ø:ó;ð <ð ;á�˜ ¨6¸Ñ=Ø>ó?ð @ñ ?r   c            	      ó  • SS/SS/SS.n [        SS9SS j5       nU" S
SSS	U S9S:X  d   eU" S
SSS	U S9S:X  d   eU" S
SSS	SU S9S:X  d   eU" S
SSS	SU S9S:X  d   eU" S
SSS	SU S9S:X  d   eU" S
SSS	SU S9S:X  d   eg
)zETest without a "replace_names" argument, all vars should be replaced.r7   r8   rA   rB   Úxyz)r9   r:   r   r	   r,   r   Nc           
      óH   • S[        U5       S[        U5       SU SU SU 3
$ r   r   r   s         r   Úfunc_replace_allÚ8test_function_call_replace_all.<locals>.func_replace_all“   ó/   € à”T˜!“W�I˜U¤4¨£7 )¨6°"°°U¸1¸#¸YÀuÀgÐNÐNr   r9   r:   )r   r>   rF   )r   r	   r   r>   r3   )r   r   r>   rI   r4   rJ   )r   r	   r   r   r>   )r   NrC   r   )r>   rZ   s     r   Útest_function_call_replace_allr]   �   s  € à�Q�˜q !˜f¨5Ñ1€Dä #Ñ&óOó 'ðOñ ˜T 3¨¨s¸Ñ>Ø;ó<ð =ð <á˜T S¨C°3¸TÑBØ;ó<ð =ð <á˜T 3¨¨s¸"À4ÑHØ:ó;ð <ð ;ñ 	˜˜s C¨3°fÀ4ÑHØ:ó	;ð<ð	;ñ 	˜ ¨¨s¸"À4ÑHØ6ó	7ð8ð	7ñ 	˜ ¨¨s¸&ÀtÑLØ:ó	;ð<ñ	;r   c                  ó¼   • [        SS/SS9SS j5       n SS/SS	/S
S.nU " SSSUS9S:X  d   eU " SSSUS9S:X  d   eU " SSSSUS9S:X  d   eU " SSSSUS9S:X  d   eg)z<Test with "label_namer=None" -> no label replacement at all.r   r	   Nr
   c           
      óH   • S[        U5       S[        U5       SU SU SU 3
$ r   r   r   s         r   Úfunc_no_labelÚ1test_no_label_replacements.<locals>.func_no_label«   r\   r   r7   r8   rA   rB   rC   rD   r9   r:   rE   z0x: [1, 2], y: [8, 9], ls: x, w: xyz, label: NonerG   r3   rH   rI   r4   rJ   ©r   NrX   r   )r`   r>   s     r   Útest_no_label_replacementsrc   ¨   sÁ   € ô  S¨# J¸DÑAóOó BðOð �Q�˜q !˜f¨5Ñ1€DÙ˜$  S¨tÑ4Ø>ó?ð @ð ?á˜$ #¨°4Ñ8Ø>ó?ð @ð ?á˜$  S°¸Ñ>Ø:ó;ð <ð ;á˜$  S°¸TÑBØ>ó?ð @ñ ?r   c            
      ó¾   • [        SS/SS9SS j5       n SS/SS/S	S
.n[        R                  " [        5         U " S SSSSUS9  S S S 5        g ! , (       d  f       g = f)Nr   r	   r
   r7   c                 ó   • g r   r   )r   r   r	   r+   s       r   r   Ú/test_more_args_than_pos_parameter.<locals>.func»   s   € àr   r8   rA   rB   rC   rD   r9   r:   r+   rE   )r7   )r   r-   r.   Ú	TypeErrorr=   s     r   Ú!test_more_args_than_pos_parameterrh   º   s`   € Ü S¨# J¸CÑ@óó Aðð �Q�˜q !˜f¨5Ñ1€DÜ	�Š”yÕ	!ÙˆT�3˜˜S #¨DÒ1÷ 
"×	!Ö	!ús   ¹AÁ
Ac                  ó  • [        5       S 5       n [        R                  " SU R                  5      (       d   e[        R                  " SU R                  5      (       a   e[        / S9SS j5       n [        R                  " SU R                  5      (       a   e[        R                  " SU R                  5      (       a   e[        S/S9SS j5       n [        R                  " SU R                  5      (       a   e[        R                  " SU R                  5      (       a   e[        S	S
/S9SS j5       n [        R                  " SU R                  5      (       a   e[        R                  " SU R                  5      (       a   eg )Nc                 ó   • g©zX
Parameters
----------
data : indexable object, optional
    DATA_PARAMETER_PLACEHOLDER
Nr   )r   r    r$   s      r   ÚfuncyÚ&test_docstring_addition.<locals>.funcyÅ   ó   � r   z#all parameters also accept a stringzthe following parametersr*   c                 ó   • grk   r   ©r   r   r	   r+   Úbars        r   rl   rm   Ñ   rn   r   rq   c                 ó   • grk   r   rp   s        r   rl   rm   Ý   rn   r   z&the following parameters .*: \*bar\*\.r   Útc                 ó   • grk   r   )r   r   r	   r+   rs   s        r   rl   rm   ê   rn   r   z+the following parameters .*: \*x\*, \*t\*\.r   )r   ÚreÚsearchÚ__doc__)rl   s    r   Útest_docstring_additionrx   Ä   sc  € ÜÓñó ðô �9Š9Ð;¸U¿]¹]×KÑKÐKÐKÜ�yŠyÐ4°e·m±m×DÑDÐDÐDä BÑ'óó (ðô �yŠyÐ?ÀÇÁ×OÑOÐOÐOÜ�yŠyÐ4°e·m±m×DÑDÐDÐDä U GÑ,óó -ðô �yŠyÐ?ÀÇÁ×OÑOÐOÐOÜ�yŠyÐBØŸ™÷(ñ (ð (ð (ô  S¨# JÑ/óó 0ðô �yŠyÐ?ÀÇÁ×OÑOÐOÐOÜ�yŠyÐGØŸ™÷(ñ (ð (ð (ð (r   c                  óh   • Sn [         R                  SU /n[        USSS9nSUR                  ;  d   eg)zw
Test that the docstring contains the correct *data* parameter stub
for all methods that we run _preprocess_data() on.
zYimport logging; logging.basicConfig(level=logging.DEBUG); import matplotlib.pyplot as pltz-cT)r4   Úcapture_outputzdata parameter docstring errorN)ÚsysÚ
executabler   Ústderr)ÚprogramÚcmdÚcompleted_procs      r   Útest_data_parameter_replacementr�   ø   sE   € ð	*ð ô
 �>‰>˜4 Ð
)€CÜ/Ø�$ tñ€Nð ,°>×3HÑ3HÓHÐHÑHr   c                   ó
  • \ rS rSr\R
                  \R                  \R                  /r\	R                  R                  S\5      \" S/S9S 5       5       r\	R                  R                  S\5      \" S/S9S 5       5       rSrg)	ÚTestPlotTypesi	  ÚplotterÚpng)Ú
extensionsc                 óÒ   • / SQn/ SQn[        [        XE5      5      nU" UR                  5       UR                  5       UR	                  5       5        U" UR                  5       XE5        g )N©r7   r8   é   ©é   é   é   )ÚdictÚzipÚsubplotsr;   r<   )Úselfr„   Úfig_testÚfig_refr   r	   Úddicts          r   Útest_dict_unpackÚTestPlotTypes.test_dict_unpack  sR   € ò ˆÚˆÜ”S˜“Y“ˆá�×!Ñ!Ó#Ø—
‘
“˜eŸl™l›nô	.á�× Ñ Ó" AÕ)r   c                 ót   • / SQn/ SQnU" UR                  5       SSXES.S9  U" UR                  5       XE5        g )Nrˆ   rŠ   ÚxvalÚyval)r˜   r™   rE   )r�   )r‘   r„   r’   r“   r   r	   s         r   Útest_data_kwargÚTestPlotTypes.test_data_kwarg  s>   € ò ˆÚˆá�×!Ñ!Ó# V¨VØÑ+ò	-á�× Ñ Ó" AÕ)r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Úscatterrq   ÚplotÚplottersr-   ÚmarkÚparametrizer   r•   rš   Ú__static_attributes__r   r   r   rƒ   rƒ   	  s€   † à—‘˜dŸh™h¨¯	©	Ð2€Hà‡[�[×Ñ˜Y¨Ó1Ù U GÑ,ñ*ó -ó 2ð*ð ‡[�[×Ñ˜Y¨Ó1Ù U GÑ,ñ*ó -ó 2ó*r   rƒ   rb   )ru   r{   ÚnumpyrR   r-   Ú
matplotlibr   Úmatplotlib.axesr   Úmatplotlib.testingr   Úmatplotlib.testing.decoratorsr   r   Ú	all_funcsÚall_func_idsr0   r£   r¤   r5   r?   rL   rN   rV   r]   rc   rh   rx   r�   rƒ   r   r   r   Ú<module>r­      sR  ðÛ 	Û 
ã Û å 'Ý  Ý 9Ý =ñ   c 
¸Ñ<óKó =ðKð ˆK€	Øˆ}€ò5ðB ‡�×Ñ˜ °ÐÐ=ñ>ó >ð>ð  ‡�×Ñ˜ °ÐÐ=ñDó >ðDð ‡�×Ñ˜ °ÐÐ=ñ@ó >ð@ð" ‡�×Ñ˜ °ÐÐ=ñ?ó >ð?ð" ‡�×Ñ˜ °ÐÐ=ñ@ó >ð@ò(<ò2@ò$2ò1(òhI÷"*ò *r   