
    ]e                     J    d Z ddlmZmZ ddlmZ ddZ G d de          ZdS )	z8
Tests for panel widgets and param objects as arguments
    )TestCaseSkipTest)process_xarrayNc                     ddl }|g }t          | |j        j                  r| D ]}t	          |||          }n%t          | |          r|                    |            |S )zJ
    Descend a panel object and find any instances of the given class
    r   N)panel
isinstancelayout	ListPanellook_for_classappend)r   	classnameitemspnps        6lib/python3.11/site-packages/hvplot/tests/testpanel.pyr   r      s     }%,--  	8 	8A"1i77EE	8	E9	%	% UL    c                   &    e Zd Zd Zd Zd Zd ZdS )TestPanelObjectsc                     	 dd l }dd l}n#  t          d          xY wddlm} || _        t          | j        j        d d                   | _        d S )Nr   zpanel not available)flowers)r   hvplot.pandasr   bokeh.sampledata.irisr   listcolumnscols)selfr   hvplotr   s       r   setUpzTestPanelObjects.setUp   st    	2     	20111111111-crc233			s    c                    dd l }|j                            dd| j                  }|j                            dd| j                  }|j                            ddd	dg          }|j                            d
          }|j                            d          }|                    |j        j        |j        j                  d             }| j	        
                    |||j        j        |           d S )Nr   xsepal_lengthnamevalueoptionsysepal_widthkindscatter	bivariatez
By species)r$   z#ff0000)r%   c                     | rdn|S )Nspecies )
by_speciescolors     r   by_species_fnzITestPanelObjects.test_using_explicit_widgets_works.<locals>.by_species_fn/   s     *5995r   )r'   r)   c)r   widgetsSelectr   CheckboxColorPickerdependsparamr%   r   r   )r   r   r!   r'   r)   r/   r0   r1   s           r   !test_using_explicit_widgets_worksz2TestPanelObjects.test_using_explicit_widgets_works&   s    J3ndiPPJ3mTYOOz  fIU^G_ ``Z((l(;;

&&Y&77	J$*EK,=	>	>	6 	6 
?	>	6 	A)9UCCCCCr   c                     dd l }| j        j                            ddd|j        j        i          }t          t          ||j        j                            dk    sJ d S )Nr   r-   	top_right)groupbylegendr3      )r   r   r   r*   r3   DiscreteSliderlenr   )r   r   panes      r   )test_casting_widgets_to_different_classesz:TestPanelObjects.test_casting_widgets_to_different_classes5   so    |"**k
 9: + < < >$
(ABBCCqHHHHHHr   c                    dd l }|j                            dd| j                  }|j                            dd| j                  }| j                            ||d          }t          ||j        j                  sJ d S )	Nr   r!   r"   r#   r'   r(   r-   )r<   )	r   r3   r4   r   r   r   r   r8   ParamFunction)r   r   r!   r'   rA   s        r   =test_using_explicit_widgets_with_groupby_does_not_raise_errorzNTestPanelObjects.test_using_explicit_widgets_with_groupby_does_not_raise_error>   s    J3ndiPPJ3mTYOO|""1a";;$ 67777777r   N)__name__
__module____qualname__r   r9   rB   rE   r.   r   r   r   r      sV        	4 	4 	4D D DI I I8 8 8 8 8r   r   )N)__doc__unittestr   r   hvplot.utilr   r   r   r.   r   r   <module>rL      s     ( ' ' ' ' ' ' ' & & & & & &    -8 -8 -8 -8 -8x -8 -8 -8 -8 -8r   