
    ]e                         d dl mZmZ d dlZd dlmZ d dlZd dlZd dl	m
Z
mZ d dlmZmZmZmZmZ d dlmZ  G d de          Z G d	 d
e          ZdS )    )TestCaseSkipTestN)parameterized)
GridMatrix	NdOverlay)	BivariateDistributionHexTiles	HistogramScatter)scatter_matrixc                   V    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S )TestScatterMatrixc                 |    t          j        t          j                            dd          g d          | _        d S )N     )abcdcolumns)pd	DataFramenprandomrandndfselfs    Glib/python3.11/site-packages/hvplot/tests/plotting/testscattermatrix.pysetUpzTestScatterMatrix.setUp   s3    ,rytQ77AUAUAUVVV    c                 d    t          | j                  }|                     |t                     d S N)r   r   assertIsInstancer   r    sms     r!   test_returns_gridmatrixz)TestScatterMatrix.test_returns_gridmatrix   s-    DG$$b*-----r#   c                     |                      t                    5  t          | j        d           d d d            d S # 1 swxY w Y   d S )NwrongdiagonalassertRaises
ValueErrorr   r   r   s    r!   test_wrong_diagonalz%TestScatterMatrix.test_wrong_diagonal   s    z** 	6 	647W5555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6   ?AAc                     |                      t                    5  t          | j        d           d d d            d S # 1 swxY w Y   d S )Nr+   chartr.   r   s    r!   test_wrong_chartz"TestScatterMatrix.test_wrong_chart   s    z** 	3 	347'2222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3r2   c                 p    t          | j                  }|                     |d         t                     d S )Nr   r   )r   r   r&   r   r'   s     r!   test_diagonal_defaultz'TestScatterMatrix.test_diagonal_default#   s1    DG$$blI66666r#   c                 p    t          | j                  }|                     |d         t                     d S )Nr   r   )r   r   r&   r   r'   s     r!   test_offdiagonal_defaultz*TestScatterMatrix.test_offdiagonal_default'   s1    DG$$blG44444r#   c                 t    t          | j        d          }|                     |d         t                     d S )Nkder,   r8   )r   r   r&   r	   r'   s     r!   test_diagonal_kdez#TestScatterMatrix.test_diagonal_kde+   s6    DGe444blL99999r#   c                 t    t          | j        d          }|                     |d         t                     d S )N	bivariater4   r;   )r   r   r&   r   r'   s     r!   test_offdiagonal_bivariatez,TestScatterMatrix.test_offdiagonal_bivariate/   s6    DG;777blI66666r#   c                 t    t          | j        d          }|                     |d         t                     d S )Nhexbinr4   r;   )r   r   r&   r
   r'   s     r!   test_offdiagonal_hexbinz)TestScatterMatrix.test_offdiagonal_hexbin3   s6    DG8444blH55555r#   c                 f   |                      t                    5  t          | j        t	          d          t	          d                     d d d            n# 1 swxY w Y   |                      t                    5  t          | j        t	          d          t	          d                     d d d            n# 1 swxY w Y   |                      t                    5  t          | j        t	          d          t	          d                     d d d            d S # 1 swxY w Y   d S )N   )r   )diagonal_kwds	hist_kwds)rH   density_kwds)rJ   rI   )r/   	TypeErrorr   r   dictr   s    r!   'test_diagonal_kwargs_mutually_exclusivez9TestScatterMatrix.test_diagonal_kwargs_mutually_exclusive7   s   y)) 	R 	R47$)))tayyyQQQQ	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	Ry)) 	U 	U47$)))$QR)))TTTT	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	Uy)) 	Q 	Q47dQiiiPPPP	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Qs5   4AA"A 4C  CC%4D&&D*-D*c                     t          | j        t          d                    }|                     |d         j                                        j        d         d           d S )Nred)
line_color)rH   r8   rP   )r   r   rL   assertEqualoptsgetkwargsr'   s     r!   test_diagonal_kwargsz&TestScatterMatrix.test_diagonal_kwargs?   sX    DG453I3I3IJJJH*..007EuMMMMMr#   c                 \   | j                             d          }t          j                            t          d          t          |                    |d<   t          |d          }|                     |d         t                     |d         j
        }|                     t          |          d           |                     |d	         j        d           |                     |d
         t                     |d
         j        }|                     dd |D             v            d S )NT)deepxyz)sizee)r   r8   rG   r   r;   c              3   $   K   | ]}|j         V  d S r%   )name).0r   s     r!   	<genexpr>z+TestScatterMatrix.test_c.<locals>.<genexpr>O   s$      >>1>>>>>>r#   )r   copyr   r   choicelistlenr   r&   r   kdimsrQ   r\   r   vdims
assertTrue)r    r   r(   
diag_kdimsoffdiag_vdimss        r!   test_czTestScatterMatrix.test_cC   s   W\\t\$$)""4;;SWW"==3B#&&&blI666\'
Z!,,,A+S111blG4448*>>>>>>?????r#   N)__name__
__module____qualname__r"   r)   r1   r6   r9   r<   r?   rB   rE   rM   rU   rh    r#   r!   r   r      s        W W W. . .6 6 63 3 37 7 75 5 5: : :7 7 76 6 6Q Q QN N N@ @ @ @ @r#   r   c                   .   e Zd Zd Zd Zd Z ej        ddg          d             Z ej        ddg          d             Z	 ej        dd	g          d
             Z
 ej        dd	g          d             Z ej        dd	g          d             ZdS )TestDatashaderc                     	 dd l }n#  t          d          xY wt          j        dk     rt          d          t	          j        t          j                            dd          g d          | _	        d S )	Nr   zDatashader not availablel        z*Datashader does not support 32-bit systemsr      )r   r   r   r   )

datashaderr   sysmaxsizer   r   r   r   r   r   )r    rq   s     r!   r"   zTestDatashader.setUpT   sx    	7	75666;GHHH,rytQ77QQQs    c                     |                      t                    5  t          | j        dd           d d d            d S # 1 swxY w Y   d S )NT)	rasterize	datashader.   r   s    r!   +test_rasterize_datashade_mutually_exclusivez:TestDatashader.test_rasterize_datashade_mutually_exclusive]   s    z** 	D 	D47ddCCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	Ds   A  AAc                    |                      t                    5  t          | j        d           d d d            n# 1 swxY w Y   |                      t                    5  t          | j        d           d d d            n# 1 swxY w Y   |                      t                    5  t          | j        dd           d d d            d S # 1 swxY w Y   d S )NT	dynspreadspread)rz   r|   r.   r   s    r!   )test_spread_but_no_rasterize_or_datashadez8TestDatashader.test_spread_but_no_rasterize_or_datashadea   s   z** 	4 	447d3333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4z** 	1 	14740000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1z** 	A 	A47d4@@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	As3   >AA#BB
B
+CCC)ru   )rv   c                     t          | j        fi |di}|d         }|                     |j        j        j        |           |d          |                     t          |j        j        j	                  d           d S )NTr;   rl   rp   )
r   r   rQ   callback	operationr\   rb   lastpipeline
operationsr    r   r(   dms       r!   test_rasterizationz!TestDatashader.test_rasterizationi   sz    DG99	4'899\.3Y???
2RW-8991=====r#   c                     t          | j        fddi|di}|d         }|d          |                     |j        j        j        d         j        d           d S )N
aggregatormeanTr;   rl   )r   r   rQ   r   r   r   r   r   s       r!   test_datashade_aggregatorz(TestDatashader.test_datashade_aggregatorq   sa    DGLLL9d:KLL\
2)4R8CVLLLLLr#   r{   ry   c                     t          | j        fddi|di}|d         }|d          |                     t          |j        j        j                  d           d S )Nru   Tr;   rl   r   r   r   rQ   rb   r   r   r   r   s       r!   test_spread_rasterizez$TestDatashader.test_spread_rasterizex   a    DGIItI	47HII\
2RW-8991=====r#   c                     t          | j        fddi|di}|d         }|d          |                     t          |j        j        j                  d           d S )Nrv   Tr;   rl   r   r   r   s       r!   test_spread_datashadez$TestDatashader.test_spread_datashade   r   r#   c                     t          | j        fddi|dddi}|d         }|d          |                     |j        j        j        d         j        d         j        d         d           d S )	Nrv   Tshapecircler;   rl   r   r   )r   r   rQ   r   r   r   argskeywordsr   s       r!   test_spread_kwargsz!TestDatashader.test_spread_kwargs   st    DG\\t\	4RZ7[\\\
2)4R8=a@I'RT\]]]]]r#   N)ri   rj   rk   r"   rw   r}   r   expandr   r   r   r   r   rl   r#   r!   rn   rn   R   s8       R R RD D DA A A ]>>:;;> > <;> ]>>:;;M M <;M ];788> > 98> ];788> > 98> ];788^ ^ 98^ ^ ^r#   rn   )unittestr   r   rr   r   numpyr   pandasr   holoviews.corer   r   holoviews.elementr   r	   r
   r   r   hvplotr   r   rn   rl   r#   r!   <module>r      s3   ' ' ' ' ' ' ' ' 



 ' ' ' ' ' '         0 0 0 0 0 0 0 0              " ! ! ! ! !=@ =@ =@ =@ =@ =@ =@ =@@9^ 9^ 9^ 9^ 9^X 9^ 9^ 9^ 9^ 9^r#   