Ë
    ¨ehc,  ã                   ó&  — d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ  eddgd¬«      dd	„«       ZegZd
gZd„ Zej"                  j%                  dee¬«      d„ «       Zej"                  j%                  dee¬«      d„ «       Zej"                  j%                  dee¬«      d„ «       Zej"                  j%                  dee¬«      d„ «       Zej"                  j%                  dee¬«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Z G d„ d«      Zy)é    N©Ú_preprocess_data)ÚAxes)Úsubprocess_run_for_testing)Úcheck_figures_equalÚxÚy©Úreplace_namesÚlabel_namerc           
      óH   — dt        |«      › dt        |«      › d|› d|› d|› �
S ©Nzx: z, y: z, ls: z, w: z	, label: ©Úlist©Úaxr   r	   ÚlsÚlabelÚws         úc/var/www/skyplay_api_hub/venv/lib/python3.12/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                  ó°  — d„ } d„ }d„ }d„ } t        ddg¬«      | «        t        ddg¬«      |«        t        ddg¬«      |«       t        j                  t        «      5   t        g d¢¬«      |«       d	d	d	«        t        g d	¬
«      | «        t        g d	¬
«      |«        t        g d	¬
«      |«        t        g d	¬
«      |«       t        j                  t        «      5   t        d¬«      | «       d	d	d	«       t        j                  t        «      5   t        d¬«      |«       d	d	d	«       y	# 1 sw Y   Œ¾xY w# 1 sw Y   ŒJxY w# 1 sw Y   y	xY w)z.Test decorator invocations -> no replacements.c                  ó   — y ©N© )r   r   r	   s      r   Úfuncz%test_compiletime_checks.<locals>.func   ó   � r   c                  ó   — y r   r   )r   r   r	   Úargss       r   Ú	func_argsz*test_compiletime_checks.<locals>.func_args    r   r   c                  ó   — y r   r   )r   r   r	   Úkwargss       r   Úfunc_kwargsz,test_compiletime_checks.<locals>.func_kwargs!   r   r   c                   ó   — y r   r   )r    r#   s     r   Úfunc_no_ax_argsz0test_compiletime_checks.<locals>.func_no_ax_args"   r   r   r   r	   ©r   )r   r	   ÚzNr
   r(   ©r   )r   ÚpytestÚraisesÚAssertionError)r   r!   r$   r&   s       r   Útest_compiletime_checksr-      s:  € ò Ú(Ú-Ú.ð /Ô C¨ :Ô.¨tÔ4Ø.Ô C¨ :Ô.¨{Ô;à.Ô C¨ :Ô.¨yÔ9ô 
�‰”~Ó	&ñ Cà7Ô¢Ô7¸	ÔB÷Cð
 9Ô 2°4Ô8¸Ô>Ø8Ô 2°4Ô8¸ÔCØ8Ô 2°4Ô8¸ÔEØ8Ô 2°4Ô8¸ÔIô 
�‰”~Ó	&ñ 0Ø)Ô SÔ)¨$Ô/÷0ô 
�‰”~Ó	&ñ 5Ø)Ô SÔ)¨)Ô4÷5ð 5÷Cð Cú÷0ð 0ú÷5ð 5ús$   Á"D4Ã$E ÄEÄ4D=Å E	ÅEr   )Úidsc                 óÊ   —  | ddd«      dk(  sJ ‚ | ddd¬«      dk(  sJ ‚ | dddd¬«      dk(  sJ ‚ | dddd	¬«      d
k(  sJ ‚ | dddd¬«      dk(  sJ ‚ | dddd	¬«      d
k(  sJ ‚y)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_datar2   =   sÀ   € ñ ��s˜CÓ Ø<ò=ð >ð =á�˜ Ô$Ø<ò=ð >ð =á��s˜C rÔ*Ø8ò9ð :ð 9á��s˜C vÔ.Ø<ò=ð >ð =á�˜ ¨2Ô.Ø8ò9ð :ð 9á�˜ ¨6Ô2Ø<ò=ð >ñ =r   c                 ód   — dddœ} | d|j                  «       |j                  «       «      dk(  sJ ‚y)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                 óì   — ddgddgddœ} | ddd	|¬
«      dk(  sJ ‚ | ddd	|¬«      dk(  sJ ‚ | ddd	d|¬«      dk(  sJ ‚ | ddd	d|¬«      dk(  sJ ‚ | ddd	d|¬«      dk(  sJ ‚ | ddd	d|¬«      dk(  sJ ‚y)zCTest with dict data -> label comes from the value of 'x' parameter.r4   r5   é   é	   ÚNOT©r6   r7   r   Nr6   r7   ©r;   ú-x: [1, 2], y: [8, 9], ls: x, w: xyz, label: b©r   r	   r;   r0   ©r   r;   ú,x: [1, 2], y: [8, 9], ls: x, w: xyz, label: r1   ú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_datarI   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                 óæ   — ddgddœ} | ddd|¬«      d	k(  sJ ‚ | ddd|¬
«      d	k(  sJ ‚ | dddd|¬«      dk(  sJ ‚ | dddd|¬«      dk(  sJ ‚ | dddd|¬«      dk(  sJ ‚ | dddd|¬«      dk(  sJ ‚y)zETest the case that one var is not in data -> half replaces, half keptr4   r5   r@   )r6   r   Nr6   r7   rB   z,x: [1, 2], y: ['b'], ls: x, w: xyz, label: brD   r0   rE   z+x: [1, 2], y: ['b'], ls: x, w: xyz, label: r1   z/x: [1, 2], y: ['b'], ls: x, w: xyz, label: textrH   r   r:   s     r   Ú-test_function_call_with_dict_data_not_in_datarK   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                 óš  — |j                  t        j                  ddgt        j                  ¬«      t        j                  ddgt        j                  ¬«      ddgdœ«      } | dd	d
|¬«      dk(  sJ ‚ | dd	d
|¬«      dk(  sJ ‚ | dd	d
d|¬«      dk(  sJ ‚ | dd	d
d|¬«      dk(  sJ ‚ | dd	d
d|¬«      dk(  sJ ‚ | dd	d
d|¬«      dk(  sJ ‚y)zDTest with pandas dataframe -> label comes from ``data["col"].name``.r4   r5   )Údtyper>   r?   r@   rA   Nr6   r7   rB   rC   rD   r0   rE   rF   r1   rG   rH   )Ú	DataFrameÚnpÚarrayÚint32)r   Úpdr;   s      r   Ú#test_function_call_with_pandas_datarS   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                  ó  — ddgddgddœ} t        d¬«      dd„«       } |d
ddd	| ¬«      dk(  sJ ‚ |d
ddd	| ¬«      dk(  sJ ‚ |d
ddd	d| ¬«      dk(  sJ ‚ |d
ddd	d| ¬«      dk(  sJ ‚ |d
ddd	d| ¬«      dk(  sJ ‚ |d
ddd	d| ¬«      dk(  sJ ‚y
)zETest without a "replace_names" argument, all vars should be replaced.r4   r5   r>   r?   Úxyz)r6   r7   r   r	   r)   r   Nc           
      óH   — dt        |«      › dt        |«      › d|› d|› d|› �
S r   r   r   s         r   Úfunc_replace_allz8test_function_call_replace_all.<locals>.func_replace_all“   ó/   € à”T˜!“W�I˜U¤4¨£7 )¨6°"°°U¸1¸#¸YÀuÀgÐNÐNr   r6   r7   )r   r;   rC   )r   r	   r   r;   r0   )r   r   r;   rF   r1   rG   )r   r	   r   r   r;   )r   Nr@   r   )r;   rW   s     r   Útest_function_call_replace_allrY   �   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                  óÐ   — t        ddgd¬«      dd„«       } ddgdd	gd
dœ} | ddd|¬«      dk(  sJ ‚ | ddd|¬«      dk(  sJ ‚ | dddd|¬«      dk(  sJ ‚ | dddd|¬«      dk(  sJ ‚y)z<Test with "label_namer=None" -> no label replacement at all.r   r	   Nr
   c           
      óH   — dt        |«      › dt        |«      › d|› d|› d|› �
S r   r   r   s         r   Úfunc_no_labelz1test_no_label_replacements.<locals>.func_no_label«   rX   r   r4   r5   r>   r?   r@   rA   r6   r7   rB   z0x: [1, 2], y: [8, 9], ls: x, w: xyz, label: NonerD   r0   rE   rF   r1   rG   ©r   NrU   r   )r\   r;   s     r   Útest_no_label_replacementsr^   ¨   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            	      ó¼   — t        ddgd¬«      dd„«       } ddgddgd	d
œ}t        j                  t        «      5   | d dddd|¬«       d d d «       y # 1 sw Y   y xY w)Nr   r	   r
   r4   c                  ó   — y r   r   )r   r   r	   r(   s       r   r   z/test_more_args_than_pos_parameter.<locals>.func»   s   € àr   r5   r>   r?   r@   rA   r6   r7   r(   rB   )r4   )r   r*   r+   Ú	TypeErrorr:   s     r   Ú!test_more_args_than_pos_parameterrb   º   si   € Ü S¨# J¸CÔ@òó Aðð �Q�˜q !˜f¨5Ñ1€DÜ	�‰”yÓ	!ñ 2ÙˆT�3˜˜S #¨DÕ1÷2÷ 2ñ 2ús   ºAÁAc                  ó¼  — t        «       d„ «       } t        j                  d| j                  «      sJ ‚t        j                  d| j                  «      rJ ‚t        g ¬«      dd„«       } t        j                  d| j                  «      rJ ‚t        j                  d| j                  «      rJ ‚t        dg¬«      dd„«       } t        j                  d| j                  «      rJ ‚t        j                  d| j                  «      rJ ‚t        d	d
g¬«      dd„«       } t        j                  d| j                  «      rJ ‚t        j                  d| j                  «      rJ ‚y )Nc                  ó   — y©z€
        Parameters
        ----------
        data : indexable object, optional
            DATA_PARAMETER_PLACEHOLDER
        Nr   )r   r    r#   s      r   Úfuncyz&test_docstring_addition.<locals>.funcyÅ   r   r   z#all parameters also accept a stringzthe following parametersr'   c                  ó   — yre   r   ©r   r   r	   r(   Úbars        r   rf   z&test_docstring_addition.<locals>.funcyÑ   r   r   ri   c                  ó   — yre   r   rh   s        r   rf   z&test_docstring_addition.<locals>.funcyÝ   r   r   z&the following parameters .*: \*bar\*\.r   Útc                  ó   — yre   r   )r   r   r	   r(   rk   s        r   rf   z&test_docstring_addition.<locals>.funcyê   r   r   z+the following parameters .*: \*x\*, \*t\*\.r   )r   ÚreÚsearchÚ__doc__)rf   s    r   Útest_docstring_additionrp   Ä   sG  € ÜÓñó ðô �9‰9Ð;¸U¿]¹]ÔKÐKÐKÜ�y‰yÐ4°e·m±mÔDÐDÐDä BÔ'òó (ðô �y‰yÐ?ÀÇÁÔOÐOÐOÜ�y‰yÐ4°e·m±mÔDÐDÐDä U GÔ,òó -ðô �y‰yÐ?ÀÇÁÔOÐOÐOÜ�y‰yÐBØŸ™ô(ð (ð (ô  S¨# JÔ/òó 0ðô �y‰yÐ?ÀÇÁÔOÐOÐOÜ�y‰yÐGØŸ™ô(ð (ð (ð (r   c                  ój   — d} t         j                  d| g}t        |dd¬«      }d|j                  vsJ ‚y)zƒ
    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)r1   Úcapture_outputzdata parameter docstring errorN)ÚsysÚ
executabler   Ústderr)ÚprogramÚcmdÚcompleted_procs      r   Útest_data_parameter_replacementry   ø   sE   € ð	*ð ô
 �>‰>˜4 Ð
)€CÜ/Ø�$ tô€Nð ,°>×3HÑ3HÑHÐHÑHr   c                   ó  — e Zd Zej                  ej
                  ej                  gZej                  j                  de«       edg¬«      d„ «       «       Zej                  j                  de«       edg¬«      d„ «       «       Zy)ÚTestPlotTypesÚplotterÚpng)Ú
extensionsc                 óÖ   — g d¢}g d¢}t        t        ||«      «      } ||j                  «       |j                  «       |j	                  «       «        ||j                  «       ||«       y )N©r4   r5   é   ©é   é   é   )ÚdictÚzipÚsubplotsr8   r9   )Úselfr|   Úfig_testÚfig_refr   r	   Úddicts          r   Útest_dict_unpackzTestPlotTypes.test_dict_unpack  sV   € ò ˆÚˆÜ”S˜˜A“Y“ˆá�×!Ñ!Ó#Ø—
‘
“˜eŸl™l›nô	.á�× Ñ Ó" A qÕ)r   c                 ó~   — g d¢}g d¢} ||j                  «       dd||dœ¬«        ||j                  «       ||«       y )Nr€   r‚   ÚxvalÚyval)r�   r�   rB   )rˆ   )r‰   r|   rŠ   r‹   r   r	   s         r   Útest_data_kwargzTestPlotTypes.test_data_kwarg  sB   € ò ˆÚˆá�×!Ñ!Ó# V¨VØ¨Ñ+õ	-á�× Ñ Ó" A qÕ)r   N)Ú__name__Ú
__module__Ú__qualname__r   Úscatterri   ÚplotÚplottersr*   ÚmarkÚparametrizer   r�   r‘   r   r   r   r{   r{   	  s€   „ à—‘˜dŸh™h¨¯	©	Ð2€Hà‡[�[×Ñ˜Y¨Ó1Ù U GÔ,ñ*ó -ó 2ð*ð ‡[�[×Ñ˜Y¨Ó1Ù U GÔ,ñ*ó -ó 2ñ*r   r{   r]   )rm   rs   ÚnumpyrO   r*   Ú
matplotlibr   Úmatplotlib.axesr   Úmatplotlib.testingr   Úmatplotlib.testing.decoratorsr   r   Ú	all_funcsÚall_func_idsr-   r˜   r™   r2   r<   rI   rK   rS   rY   r^   rb   rp   ry   r{   r   r   r   ú<module>r¡      sR  ðÛ 	Û 
ã Û å 'Ý  Ý 9Ý =ñ   c 
¸Ô<òKó =ðKð ˆK€	Øˆ}€ò5ðB ‡�×Ñ˜ °ÐÓ=ñ>ó >ð>ð  ‡�×Ñ˜ °ÐÓ=ñDó >ðDð ‡�×Ñ˜ °ÐÓ=ñ@ó >ð@ð" ‡�×Ñ˜ °ÐÓ=ñ?ó >ð?ð" ‡�×Ñ˜ °ÐÓ=ñ@ó >ð@ò(<ò2@ò$2ò1(òhI÷"*ò *r   