
    eS                          d dl Zd dlZd dlZd dlmZ d dlmZm	Z	 d dl
mZmZmZmZmZmZmZmZ  G d d          Zej                            d           G d d	                      ZdS )
    N)	Dimension)
CompositorStore)Area	BivariateContoursCurveDistributionImagePointsPolygonsc                       e 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 Zd Zd ZdS )TestStatisticalElementc                     t          t          j        g d                    }|j        t	          d          gk    sJ |j        t	          d          gk    sJ d S )Nr         ValueDensityr
   nparraykdimsr   vdimsselfdists     Jlib/python3.11/site-packages/holoviews/tests/element/test_statselements.py#test_distribution_array_constructorz:TestStatisticalElement.test_distribution_array_constructor   s_    BHYYY//00zi0011111zi	223333333    c                     t          t          j        dg di                    }|j        t	          d          gk    sJ |j        t	          d          gk    sJ d S Nr   r   r   )r
   pd	DataFramer   r   r   r   s     r   $test_distribution_dframe_constructorz;TestStatisticalElement.test_distribution_dframe_constructor   sd    BL'999)=>>??zi0011111zi	223333333r    c                     t          t          j        g dd                    }|j        t	          d          gk    sJ |j        t	          d          gk    sJ d S )Nr   r   )namer   )r
   r#   Seriesr   r   r   r   s     r   $test_distribution_series_constructorz;TestStatisticalElement.test_distribution_series_constructor   sd    BIiiig>>>??zi0011111zi	223333333r    c                     t          dg di          }|j        t          d          gk    sJ |j        t          d          gk    sJ d S r"   )r
   r   r   r   r   s     r   "test_distribution_dict_constructorz9TestStatisticalElement.test_distribution_dict_constructor$   sZ    Wiii011zi0011111zi	223333333r    c                     t          t          j        g d          dg          }|j        t	          d          gk    sJ |j        t	          d          gk    sJ d S )Nr   Testr   r   r   r   s     r   /test_distribution_array_constructor_custom_vdimzFTestStatisticalElement.test_distribution_array_constructor_custom_vdim)   sf    BHYYY//x@@@zi0011111zi//0000000r    c                     t          t          j        g dg dg                    }|j        t	          d          t	          d          gk    sJ |j        t	          d          gk    sJ d S )Nr   xyr   r   r   r   r   r   r   r   s     r    test_bivariate_array_constructorz7TestStatisticalElement.test_bivariate_array_constructor.   sn    999iii"899::zinninn=====zi	223333333r    c                     t          t          j        g dg ddddg                    }|j        t	          d          t	          d          gk    sJ |j        t	          d          gk    sJ d S )Nr   r1   r2   r1   r2   )columnsr   )r   r#   r$   r   r   r   r   s     r   !test_bivariate_dframe_constructorz8TestStatisticalElement.test_bivariate_dframe_constructor3   s}    IIIIII&F&FQTVYPZ[[[\\zinninn=====zi	223333333r    c                     t          g dg ddddg          }|j        t          d          t          d          gk    sJ |j        t          d          gk    sJ d S )Nr   r6   r1   r2   r   )r   r   r   r   r   s     r   test_bivariate_dict_constructorz6TestStatisticalElement.test_bivariate_dict_constructor8   sm    yyyyyy99C:FFzinninn=====zi	223333333r    c                     t          t          j        g dg dg          dg          }|j        t	          d          t	          d          gk    sJ |j        t	          d          gk    sJ d S )Nr   r-   r.   r1   r2   r3   r   s     r   ,test_bivariate_array_constructor_custom_vdimzCTestStatisticalElement.test_bivariate_array_constructor_custom_vdim=   su    999iii"899&JJJzinninn=====zi//0000000r    c                     t          t          j        g d                    }|                    d          dk    sJ d S )Nr   r   r   r   )r
   r   r   ranger   s     r   #test_distribution_array_range_kdimsz:TestStatisticalElement.test_distribution_array_range_kdimsB   s>    BHYYY//00zz!}}&&&&&&r    c                     t          t          j        ddgddgddgg                    }|                    d          dk    sJ |                    d          dk    sJ d S )Nr   r   r      r>   )r   rB   )r   r   r   r?   r   s     r    test_bivariate_array_range_kdimsz7TestStatisticalElement.test_bivariate_array_range_kdimsF   sh    Aq6Aq6Aq6":;;<<zz!}}&&&&zz!}}&&&&&&r    c                     t          t          j        g d                    }|                    d          \  }}t          j        |          rJ t          j        |          rJ d S Nr   r   )r
   r   r   r?   isfiniter   r   dmindmaxs       r   #test_distribution_array_range_vdimsz:TestStatisticalElement.test_distribution_array_range_vdimsK   sb    BHYYY//00ZZ]]
d;t$$$$$;t$$$$$$$r    c                     t          t          j        g dg dg                    }|                    d          \  }}t          j        |          rJ t          j        |          rJ d S )Nr   )r   r   rB   r   )r   r   r   r?   rF   rG   s       r    test_bivariate_array_range_vdimsz7TestStatisticalElement.test_bivariate_array_range_vdimsQ   sk    999iii"899::ZZ]]
d;t$$$$$;t$$$$$$$r    c                     t          t          j        g d                    }t          j        |                    d          t          j                  sJ d S )Nr   r   )r
   r   r   
issubdtypeget_dimension_typeint_r   s     r   !test_distribution_array_kdim_typez8TestStatisticalElement.test_distribution_array_kdim_typeW   sK    BHYYY//00}T44Q77AAAAAAAr    c                 *   t          t          j        ddgddgddgg                    }t          j        |                    d          t          j                  sJ t          j        |                    d          t          j                  sJ d S Nr   r   r   rB   )r   r   r   rN   rO   rP   r   s     r   test_bivariate_array_kdim_typez5TestStatisticalElement.test_bivariate_array_kdim_type[   s    Aq6Aq6Aq6":;;<<}T44Q77AAAAA}T44Q77AAAAAAAr    c                     t          t          j        g d                    }|                    d          t          j        k    sJ d S rE   )r
   r   r   rO   float64r   s     r   !test_distribution_array_vdim_typez8TestStatisticalElement.test_distribution_array_vdim_type`   sD    BHYYY//00&&q))RZ777777r    c                     t          t          j        ddgddgddgg                    }|                    d          t          j        k    sJ d S rS   )r   r   r   rO   rV   r   s     r   test_bivariate_array_vdim_typez5TestStatisticalElement.test_bivariate_array_vdim_typed   sS    Aq6Aq6Aq6":;;<<&&q))RZ777777r    c                     t          t          t          j        d          t          j        d          d d t          j        f         z            d          }|                    d          dk    sJ d S )N   zr   )r      )r
   r   r   arangenewaxisr?   r   s     r   test_distribution_from_imagez3TestStatisticalElement.test_distribution_from_imageh   s^    E")A,,ry||AAArzM/J"JKKSQQzz!}}''''''r    c                     t          t          j        ddgddgddgg                    }t          |          }|j        |j        k    sJ d S rS   )r   r   r   r   r   )r   pointsr   s      r   test_bivariate_from_pointsz1TestStatisticalElement.test_bivariate_from_pointsl   sT    1a&1a&1a&!9::;;  zV\))))))r    N)__name__
__module____qualname__r   r%   r)   r+   r/   r4   r8   r:   r<   r@   rC   rJ   rL   rQ   rT   rW   rY   r`   rc    r    r   r   r      s7       4 4 4
4 4 4
4 4 4
4 4 4
1 1 1
4 4 4
4 4 4
4 4 4
1 1 1
' ' '' ' '
% % %% % %B B BB B B
8 8 88 8 8( ( (* * * * *r    r   mpl_backendc                   b    e 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 )TestStatisticalCompositorc                 .    t          j        d           d S )Nscipy)pytestimportorskip)r   s    r   setup_methodz&TestStatisticalCompositor.setup_methodu   s    G$$$$$r    c                     t          t          j        g d                    }t          j        |d          }t          |t                    sJ |j        t          d          gk    sJ d S )Nr   
matplotlibbackendValue_densityr   	r
   r   r   r   collapse_element
isinstancer   r   r   r   r   areas      r   test_distribution_compositez5TestStatisticalCompositor.test_distribution_compositex   sm    BHYYY//00*4FFF$%%%%%zi(DEEFFFFFFFr    c                    t          t          j        g d                                        d          }t	          j        |d          }t          j        d|d          j        }|	                    dd           dk    sJ d S )Nr   redcolorrq   rr   styler   
r
   r   r   optsr   rw   r   lookup_optionskwargsgetr   r   rz   r   s       r   )test_distribution_composite_transfer_optszCTestStatisticalCompositor.test_distribution_composite_transfer_opts~   s    BHYYY//0055E5BB*4FFF#L$@@Gxx&&%//////r    c                    t          t          j        g d          d                              d          }t	          j        |d          }t          j        d|d          j        }|	                    d	d           dk    sJ d S )
Nr   r-   groupr}   r~   rq   rr   r   r   r   r   s       r   4test_distribution_composite_transfer_opts_with_groupzNTestStatisticalCompositor.test_distribution_composite_transfer_opts_with_group   s    BHYYY//v>>>CC%CPP*4FFF#L$@@Gxx&&%//////r    c                     t          t          j        g d          dg          }t          j        |d          }t          |t                    sJ |j        t          d          gk    sJ d S )Nr   r-   r.   rq   rr   rv   ry   s      r   'test_distribution_composite_custom_vdimzATestStatisticalCompositor.test_distribution_composite_custom_vdim   ss    BHYYY//x@@@*4FFF$%%%%%zi//0000000r    c                    t          t          j        g d                                        d          }t	          j        |d          }t          |t                    sJ |j        t          d          gk    sJ d S )Nr   Ffilledrq   rr   rt   )
r
   r   r   r   r   rw   rx   r	   r   r   r   r   curves      r   &test_distribution_composite_not_filledz@TestStatisticalCompositor.test_distribution_composite_not_filled   s~    BHYYY//2277u7EE+D,GGG%'''''{y)EFFGGGGGGGr    c                     t          g                               d          }t          j        |d          }t	          |t
                    sJ |j        t          d          gk    sJ d S )NFr   rq   rr   rt   )r
   r   r   rw   rx   r	   r   r   r   s      r   ,test_distribution_composite_empty_not_filledzFTestStatisticalCompositor.test_distribution_composite_empty_not_filled   sp    B$$E$22+D,GGG%'''''{y)EFFGGGGGGGr    c                     t          t          j                            dd                    }t	          j        |d          }t          |t                    sJ |j        t          d          gk    sJ d S )N
   r   rq   rr   r   
r   r   randomrandr   rw   rx   r   r   r   r   r   contourss      r   test_bivariate_compositez2TestStatisticalCompositor.test_bivariate_composite   sn    A..//.t\JJJ(H-----~)I"6"6!7777777r    c                 "   t          t          j                            dd                                        d          }t          j        |d          }t          j        d|d          j	        }|
                    dd           dk    sJ d S )	Nr   r   Bluescmaprq   rr   r   r   r   r   r   r   r   r   rw   r   r   r   r   r   r   r   r   s       r   &test_bivariate_composite_transfer_optsz@TestStatisticalCompositor.test_bivariate_composite_transfer_opts   s    A..//44'4BB.t\JJJ#L(GDDKxx%%000000r    c                 &   t          t          j                            dd          d                              d          }t          j        |d          }t          j        d|d	          j	        }|
                    d
d           dk    sJ d S )Nr   r   r-   r   r   r   rq   rr   r   r   r   r   s       r   1test_bivariate_composite_transfer_opts_with_groupzKTestStatisticalCompositor.test_bivariate_composite_transfer_opts_with_group   s    A..f===BBBPP.t\JJJ#L(GDDKxx%%000000r    c                     t          t          j                            dd          dg          }t	          j        |d          }t          |t                    sJ |j        t          d          gk    sJ d S )Nr   r   r-   r.   rq   rr   r   r   s      r   $test_bivariate_composite_custom_vdimz>TestStatisticalCompositor.test_bivariate_composite_custom_vdim   su    A..vh???.t\JJJ(H-----~)F"3"3!4444444r    c                    t          t          j                            dd                                        d          }t          j        |d          }t          |t                    sJ |j	        d         j
        dk    sJ d S )	Nr   r   Tr   rq   rr   r   r   )r   r   r   r   r   r   rw   rx   r   r   r'   r   s      r   test_bivariate_composite_filledz9TestStatisticalCompositor.test_bivariate_composite_filled   s|    A..//44D4AA.t\JJJ(H-----~a %222222r    c                    t          g                               d          }t          j        |d          }t	          |t
                    sJ |j        t          d          gk    sJ t          |          dk    sJ d S NTr   rq   rr   r   r   )	r   r   r   rw   rx   r   r   r   lenr   s      r   %test_bivariate_composite_empty_filledz?TestStatisticalCompositor.test_bivariate_composite_empty_filled       }}!!!...t\JJJ(H-----~)I"6"6!777778}}!!!!!!r    c                    t          g                               d          }t          j        |d          }t	          |t
                    sJ |j        t          d          gk    sJ t          |          dk    sJ d S r   )	r   r   r   rw   rx   r   r   r   r   r   s      r   )test_bivariate_composite_empty_not_filledzCTestStatisticalCompositor.test_bivariate_composite_empty_not_filled   r   r    N)rd   re   rf   ro   r{   r   r   r   r   r   r   r   r   r   r   r   r   rg   r    r   rj   rj   r   s        % % %G G G0 0 00 0 01 1 1H H HH H H8 8 81 1 11 1 15 5 53 3 3" " "" " " " "r    rj   )numpyr   pandasr#   rm   holoviews.core.dimensionr   holoviews.core.optionsr   r   holoviews.elementr   r   r   r	   r
   r   r   r   r   markusefixturesrj   rg   r    r   <module>r      s>            . . . . . . 4 4 4 4 4 4 4 4	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	\* \* \* \* \* \* \* \*~ ''S" S" S" S" S" S" S" ('S" S" S"r    