
    Be+                     |   d dl Z d dlZ ej        d          Zd dlmZmZ d dlmZ d dl	m
Z
 d dlmZmZ d dlmZmZ  G d d	e j                  Z G d
 de j                  Z G d de j                  Z G d de j                  Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d  Z&dS )!    N	holoviews)ColumnRow)	HoloViews)ParamMethod)Pipeline
find_route)ButtonSelectc                      e Zd Z ej        dd          Z ej        dd          Z ej        d          Z ej	        d          Z
 ej        ej                  d             Z ej        d	d
          d             Zd ZdS )Stage1   )r   
   defaultboundsFr   N)cc                      | j         | j        z  S N)abselfs    9lib/python3.11/site-packages/panel/tests/test_pipeline.pyoutputzStage1.output   s    v    r   r   c                 N    | j         d| j        d|                                 S )Nz * z = )r   r   r   r   s    r   viewzStage1.view   s%    !%??r   c                 6    t          | j        | j                  S r   r   paramr   r   s    r   panelzStage1.panel       4:ty)))r   )__name__
__module____qualname__r"   Numberr   r   BooleanreadyStringnextr   dependsr   r#    r   r   r   r      s        Qw///AQw///AEM%(((E5<%%%DU\EL!!!  "! U]3@ @ @* * * * *r   r   c                       e Zd Z ej        ddd          Z ej        dd          Z ej        dd	          d
             Zd Z	dS )Stage2r   r   Nr   
precedencer   皙?)r      r   r   expc                 @    d| j         | j        | j         | j        z  fz  S )Nz
%s^%s=%.3f)r   r7   r   s    r   r   zStage2.view)   s!    tvtx1ABBBr   c                 6    t          | j        | j                  S r   r!   r   s    r   r#   zStage2.panel-   r$   r   N)
r%   r&   r'   r"   r(   r   r7   r-   r   r#   r.   r   r   r0   r0   #   s|        Q2i@@@A
%,s6
2
2
2CU]3C C C* * * * *r   r0   c                       e Zd Z ej        ddd          Z ej        d          Z ej        dd          d	             Z	d
 Z
dS )Stage2br   r1   r2   r3   r5   r   r   rootc                 B    d| j         | j        | j         | j         z  fz  S )Nz%s^-%s=%.3f)r   r<   r   s    r   r   zStage2b.view7   s#    	46TYJ3GHHHr   c                 6    t          | j        | j                  S r   r!   r   s    r   r#   zStage2b.panel;   r$   r   N)r%   r&   r'   r"   r(   r   	Parameterr<   r-   r   r#   r.   r   r   r;   r;   1   sz        Q2i@@@A5?3'''DU]3I I  I* * * * *r   r;   c                       e Zd Zd ZdS )
DummyStagec                     dS )Nfoor.   r   s    r   r#   zDummyStage.panelA   s    ur   N)r%   r&   r'   r#   r.   r   r   rA   rA   ?   s#            r   rA   c                      dddddd} t          | dd          g d	k    sJ t          | d
d          J t          | dd          ddgk    sJ d S )N)BC)D)EFG)H)I)ArF   rG   rI   rJ   rM   rL   )rF   rG   rJ   rL   rE   rG   rK   rI   )r	   )graphs    r   test_find_routerO   E   sy    6fSYZZEeS#&&*>*>*>>>>>eS#&&...eS#&&3*444444r   c                     t          dt          fdt          fg          } | j        }t	          |t
                    sJ t	          |d         t                    sJ |d         j        \  \  }}}\  }}t	          |t                    sJ t	          |t                    sJ t	          |t                    sJ t	          |t                    sJ |j
        }|                    d          }t	          |t          j                  sJ t          |          dk    sJ |                    d          }	t	          |	t          j                  sJ t!          |	d                   ddgk    sJ |d         d         }
t	          |
t                    sJ t	          |
d         t"                    sJ |
d         
                                dk    sJ | j                            d           |d         d         }
t	          |
t                    sJ t	          |
d         t"                    sJ |
d         
                                dk    sJ | j                            d	           |d         d         }
t	          |
t                    sJ t	          |
d         t"                    sJ |
d         
                                dk    sJ d S 
NStage 1Stage 2r      Stagez
5 * 5 = 25r,   z25^0.1=1.380previousr   r   r0   layout
isinstancer   r   objectsr
   r   objectgethvGraphlenLabelslistr   r"   triggerpipelinerX   titleerrorprogressprev_buttonnext_buttonhv_objrN   labelsstages              r   test_pipeline_from_classesrm   M   s   )V,y&.ABCCH_Fff%%%%%fQi%%%%%;A!9;L8NUEH8{KeS!!!!!k6*****k6*****h	*****_FJJqMMEeRX&&&&&u::????ZZ]]Ffbi(((((w  Y	$:::::1IaLEeS!!!!!eAh,,,,,8??,,,,N6"""1IaLEeS!!!!!eAh,,,,,8??....N:&&&1IaLEeS!!!!!eAh,,,,,8??,,,,,,r   c                     t          dt                      fdt                      fg          } | j        }t	          |t
                    sJ t	          |d         t                    sJ |d         j        \  \  }}}\  }}t	          |t                    sJ t	          |t                    sJ t	          |t                    sJ t	          |t                    sJ |j
        }|                    d          }t	          |t          j                  sJ t          |          dk    sJ |                    d          }	t	          |	t          j                  sJ t!          |	d                   ddgk    sJ |d         d         }
t	          |
t                    sJ t	          |
d         t"                    sJ |
d         
                                dk    sJ | j                            d           |d         d         }
t	          |
t                    sJ t	          |
d         t"                    sJ |
d         
                                dk    sJ | j                            d	           |d         d         }
t	          |
t                    sJ t	          |
d         t"                    sJ |
d         
                                dk    sJ d S rQ   rW   rc   s              r   test_pipeline_from_instancesro   u   s   )VXX.FHH0EFGGH_Fff%%%%%fQi%%%%%;A!9;L8NUEH8{KeS!!!!!k6*****k6*****h	*****_FJJqMMEeRX&&&&&u::????ZZ]]Ffbi(((((w  Y	$:::::1IaLEeS!!!!!eAh,,,,,8??,,,,N6"""1IaLEeS!!!!!eAh,,,,,8??....N:&&&1IaLEeS!!!!!eAh,,,,,8??,,,,,,r   c                     t                      } |                     dt                     |                     dt                     | j        }t          |t                    sJ t          |d         t                    sJ |d         j        \  \  }}}\  }}t          |t                    sJ t          |t                    sJ t          |t                    sJ t          |t                    sJ |j        }|                    d          }t          |t          j                  sJ t          |          dk    sJ |                    d          }	t          |	t          j                  sJ t#          |	d                   ddgk    sJ |d         d         }
t          |
t                    sJ t          |
d         t$                    sJ |
d                                         dk    sJ | j                            d           |d         d         }
t          |
t                    sJ t          |
d         t$                    sJ |
d                                         dk    sJ | j                            d	           |d         d         }
t          |
t                    sJ t          |
d         t$                    sJ |
d                                         dk    sJ d S rQ   )r   	add_stager   r0   rX   rY   r   r   rZ   r
   r   r[   r\   r]   r^   r_   r`   ra   r   r"   rb   rc   s              r   test_pipeline_from_add_stagesrr      s   zzHy&)))y&)))_Fff%%%%%fQi%%%%%;A!9;L8NUEH8{KeS!!!!!k6*****k6*****h	*****_FJJqMMEeRX&&&&&u::????ZZ]]Ffbi(((((w  Y	$:::::1IaLEeS!!!!!eAh,,,,,8??,,,,N6"""1IaLEeS!!!!!eAh,,,,,8??....N:&&&1IaLEeS!!!!!eAh,,,,,8??,,,,,,r   c                      t                      } |                     dt                     |                     dt                     t	          j        t                    5  |                     ddi           d d d            d S # 1 swxY w Y   d S )NrR   rS   rS   Stage 2b)r   rq   r   r0   pytestraises
ValueErrordefine_graphrd   s    r   'test_pipeline_define_graph_missing_noder{      s    zzHy&)))y&)))	z	"	" D Dy*ABCCCD D D D D D D D D D D D D D D D D Ds   BB
Bc                     t                      } |                     dt                     |                     dt                     |                     dt                     |                     ddi           | j        dk    sJ t          | j        t                    sJ | j        \  \  }}\  }}t          |t                    sJ |j        sJ t          |t                    sJ |j        sJ t          |t                    sJ |j        rJ |j        ddgk    sJ |j        dk    sJ t          |t                    sJ |j        rJ |                                  t          | j        t                    sJ |                                  d|_        |                                  t          | j        t                    sJ d S )NrS   ru   rR   rt   )r   rq   r0   r;   r   ry   _stagerY   buttonsr   r   disabledr
   optionsvalue_next_state	_previous)rd   pselectpbuttonnselectnbuttons        r   test_pipeline_define_graphr      s   zzHy&)))z7+++y&)))9&=>????i''''h&,,,,,-5-=*Wg*'gv&&&&&gv&&&&&gv&&&&&?y*55555=I%%%%gv&&&&&NNhov.....GMNNhow///////r   c                  
   t                      } |                     dt                     |                     dt                     |                     dt                     |                     dt                                 |                     ddd           |                     dg           | j        dk    sJ |                     dg           | j        dk    sJ |                     d	g           | j        dk    sJ d S )
NrS   ru   rR   Finalrt   )rR   ru      r   r6   )	r   rq   r0   r;   r   rA   ry   
_set_stager}   rz   s    r   test_pipeline_set_stager      s   zzHy&)))z7+++y&)))w
---&=7SSTTT?i''''?i''''?g%%%%%%r   c                  h   t                      } |                     dt                     |                     dt                     |                     dt	          d          d           |                     ddi           | j        j        dk    sJ d| j        _	        | j        j        dk    sJ d S )NrS   ru   rR   )r,   r,   )next_parameterrt   )
r   rq   r0   r;   r   ry   next_selectorr   r   r,   rz   s    r   -test_pipeline_define_next_parameter_respectedr     s    zzHy&)))z7+++y&j"9"9"9&QQQ9&=>???!':5555$HO!'9444444r   c                     t                      } t          d          }|                     dt                     |                     d|           |                     dt                     |                     ddi           d| j        _        |                                  t          | j
        d         t                    sJ d|_        |                                  t          | j
                  dk    sJ d S )	Nrf   )r<   rS   ru   rR   rt   r   r   )r   r;   rq   r0   r   ry   r   r   r   rY   rf   r
   r<   r_   )rd   stage2bs     r   test_pipeline_error_conditionr     s    zzH7###Gy&)))z7+++y&)))9&=>???#-H NNhnQ'00000GLNNx~!######r   c                  L   t                      } |                     dt                     |                     dt                     |                     dt                     |                     dt
                     |                     dddd           | j        dgk    sJ d| j        _	        | 
                                 | j        ddgk    sJ | 
                                 | j        g dk    sJ |                                  | j        dk    sJ | j        ddgk    sJ d S )NrR   rS   ru   Stage 3rt   )rR   rS   ru   )rR   ru   r   )r   rq   r   r0   r;   rA   ry   _router   r   r   r   r}   rz   s    r   +test_pipeline_previous_follows_initial_pathr   0  sE   zzHy&)))y&)))z7+++y*---*     ?yk))))#-H NN?y*55555NN?@@@@@@@?j((((?y*5555555r   c                      t          d          } |                     dt                     |                     dt                     | j        j        sJ d| j        _        | j        j        rJ d S )Nr*   )ready_parameterrR   rS   T)r   rq   r   r0   ri   r   r   r*   rz   s    r   test_pipeline_ready_respectedr   N  sr    000Hy&)))y&)))(((( HO#,,,,,,r   c                      t          dd          } |                     dt                     |                     dt                     | j        j        sJ d| j        _        t          | j        t                    sJ d S )Nr*   Tr   auto_advancerR   rS   )	r   rq   r   r0   ri   r   r   r*   rY   rz   s    r   $test_pipeline_auto_advance_respectedr   Z  sz    dCCCHy&)))y&)))(((( HOhov.......r   c                     t          dd          } |                     dt                     |                     dt                     |                     dt                     |                     ddi           | j        j                            d          j	        d	         \  }}}|d
k    sJ |dk    sJ |dk    sJ | 
                                 | j        j                            d          j	        d	         \  }}}|dk    sJ |dk    sJ |d
k    sJ |                                  | j        j                            d          j	        d	         \  }}}|d
k    sJ |dk    sJ |dk    sJ d S )Nr*   Tr   rR   rS   ru   rt   r   Stateactiveinactiver,   )r   rq   r   r0   r;   ry   networkr[   r\   nodesr   r   )rd   s1s2s2bs       r   $test_pipeline_network_diagram_statesr   f  s   dCCCHy&)))y&)))z7+++9&=>???$+//228AMRS>>>>&====NN$+//228AMRS(????$+//228AMRS>>>>&======r   c                      t                      } t          j        t                    5  |                     dd           d d d            d S # 1 swxY w Y   d S )NrR   rT   )r   rv   rw   rx   rq   rz   s    r   +test_pipeline_add_stage_validate_wrong_typer     s    zzH	z	"	" ) )9a((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s   AAAc                      t                      } |                     dt                     t          j        t
                    5  |                     dt                     d d d            d S # 1 swxY w Y   d S NrR   )r   rq   r   rv   rw   rx   rz   s    r   *test_pipeline_add_stage_validate_add_twicer     s    zzHy&)))	z	"	" . .9f---. . . . . . . . . . . . . . . . . .s   A,,A03A0c                  ~    t                      } |                     dt                     | d         t          k    sJ d S r   )r   rq   r   rz   s    r   test_pipeline_getitemr     s=    zzHy&)))I&((((((r   c                      t                      } |                     dt                     |                     dt                     t	          |           dk    sJ d S )NrR   rS   z=Pipeline:
    [0] Stage 1: Stage1()
    [1] Stage 2: Stage2())r   rq   r   r0   reprrz   s    r   test_pipeline_reprr     sU    zzHy&)))y&)))>>^^^^^^^r   )'r"   rv   importorskipr]   panel.layoutr   r   
panel.paner   panel.paramr   panel.pipeliner   r	   panel.widgetsr
   r   Parameterizedr   r0   r;   rA   rO   rm   ro   rr   r{   r   r   r   r   r   r   r   r   r   r   r   r   r.   r   r   <module>r      s^    V%% $ $ $ $ $ $ $ $             # # # # # # / / / / / / / / ( ( ( ( ( ( ( (* * * * *U  * * *,* * * * *U  * * ** * * * *e! * * *    $   5 5 5%- %- %-P%- %- %-P(- (- (-VD D D"0 "0 "0J& & &,5 5 5$ $ $*6 6 6<	- 	- 	-	/ 	/ 	/  >) ) ). . .) ) )_ _ _ _ _r   