
    ]e7-                         d dl Z d dlZd dlmZ d dlmZ d dlZd dlm	Z	 d dl
mZmZ d dlmZ 	 d dlZd dlZn#   ed          xY w G d d	e          ZdS )
    N)SkipTest)OrderedDict)Store)RGBImage)ComparisonTestCasezXArray not availablec                       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 Zd Zd Zd Zd Zd Zd Zd Zd ZdS )TestGridPlotsc           	         t          dg dfdddgfdddgfg          }t          j        t          j        d                              d          |g d	          | _        t          d
ddgfdg dfdddgfdddgfg          }t          j        t          j        d                              d          |g d          | _        t          d
ddgfdddgfdddgfg          }t          j        t          j        d                              d          |g d                              t          j        ddgdg                    | _	        t          j        t          j
                            dd          dt          d          fdt          d          fgddgddd          | _        d| j        j        j        d<   d| j        j        j        d<   t          j        d| j        i          | _        t          j        t          j        d d                              d!          d"#          | _        t          j        t          j        d$d%                              d&d'                    | _        t          j        d(d)dt          j
                            dd          z  z   fd(dt          j
                            dd          z  fd*d+d,gd-d.gd(/          | _        t          j        ddd0          }||t          j        d d f         j        z  }||d d t          j        f         z   }d1|fd1|fg dd2g d3fd4}t          j        t          j
                            d0d0dd5          |d67          | _        d S )8Nband)         yr   r   x   )r   r   r   )r   r   r   time   )r   r   r   r   )r   r   r   r   latlon   )r   r   r   )r   r   r   r   r   )dims)lat1
   
luminositylm)	long_nameunits)coordsr   attrsDeclinationr   Right Ascensionlight)r   r   foonameg    .g    .Ai  i  )r   r      )tempprecipgQXgGzXg      E@g{GE@)r      )nynxnsamples)r   r   r   r   )r   r   r   samples   )r-   r,   r   r.   )r   r   )r   xr	DataArraynparangereshapeda_rgbda_rgb_by_timeassign_coordsda_img_by_timerandomrandrangexarr_with_attrsr   r    r   Datasetxds_with_attrsda_imgbig_imgrandndslinspacenewaxisTds_unindexed)selfr   xsr   r   s        :lib/python3.11/site-packages/hvplot/tests/testgridplots.pysetUpzTestGridPlots.setUp   s   vyyy1C!Q=3A-PQQl29R==#8#8#C#C#)+=+=+=? ?v1v.0CcAq6]UX[\^_Z`Tabcc l29R==+@+@+N+N+13M3M3MO O v1v.A%!QQRR l29Q<<+?+?	+J+J+13I3I3IK KKX=46L!AeW4U4U4U LY LW LW 	  "|INN2r""S%)),<sE"II>N+Os#M#M O  O  O 5B$[14E$[1 j'43G)IJJl29R#3#3#;#;F#C#C%PPP|BIdC$8$8$@$@t$L$LMM*#R!biooa.C.C*C%CD%rBINN1a,@,@'@AC C #F+E5>BBD D D
 [B""BJM"$$AAArzM"" #& #&II"LLL1	
 
 LINN1aA&&v<\
 
 
    c           	          | j                                         }|                     |t          ddgddgft	          | j         j                  z                        d S )Nr   r   r6   hvplotassertEqualr   tuplevaluesrH   rgbs     rJ   test_rgb_dataarray_no_argsz(TestGridPlots.test_rgb_dataarray_no_args>   sX    k  ""cAq6Aq6"259K3L3L"LMMNNNNNrL   c           	          | j                             dd          }|                     |t          ddgddgft	          | j         j                  z                        d S Nr   r   r   r   rN   rS   s     rJ    test_rgb_dataarray_explicit_argsz.TestGridPlots.test_rgb_dataarray_explicit_argsB   s\    k  c**cAq6Aq6"259K3L3L"LMMNNNNNrL   c           	          | j         j                            dd          }|                     |t	          ddgddgft          | j         j                  z                        d S rW   )r6   rO   rT   rP   r   rQ   rR   rS   s     rJ   )test_rgb_dataarray_explicit_args_and_kindz7TestGridPlots.test_rgb_dataarray_explicit_args_and_kindF   s_    k $$S#..cAq6Aq6"259K3L3L"LMMNNNNNrL   c           	          | j                             d          j                                        }|                     |t          ddgddgft          | j         j                  z                        d S )Nzr&   r   r   r6   
to_datasetrO   rT   rP   r   rQ   rR   rS   s     rJ   test_rgb_datasetzTestGridPlots.test_rgb_datasetJ   sl    k$$#$..599;;cAq6Aq6"259K3L3L"LMMNNNNNrL   c           	          | j                             d          j                            d          }|                     |t          ddgddgft          | j         j                  z                        d S )Nr\   r&   )r\   r   r   r]   rS   s     rJ   test_rgb_dataset_explicit_zz)TestGridPlots.test_rgb_dataset_explicit_zN   sq    k$$#$..599C9@@cAq6Aq6"259K3L3L"LMMNNNNNrL   c           
         | j         j                            ddd          }|                     |d         t	          ddgddgft          | j         j        d                   z                        |                     |d         t	          ddgddgft          | j         j        d                   z                        d S )Nr   r   r   groupbyr   r   r7   rO   rT   rP   r   rQ   rR   rS   s     rJ   #test_rgb_dataarray_groupby_explicitz1TestGridPlots.test_rgb_dataarray_groupby_explicitR   s    !(,,S#v,FFQq!fq!f%5eD<O<VWX<Y6Z6Z%Z![![\\\Qq!fq!f%5eD<O<VWX<Y6Z6Z%Z![![\\\\\rL   c           
         | j         j                            ddd          }|                     |d         t	          ddgddgft          | j         j        d                   z                        |                     |d         t	          ddgddgft          | j         j        d                   z                        d S )Nr   r   r   )bandsr   r   re   rS   s     rJ    test_rgb_dataarray_groupby_inferz.TestGridPlots.test_rgb_dataarray_groupby_inferW   s    !(,,S#V,DDQq!fq!f%5eD<O<VWX<Y6Z6Z%Z![![\\\Qq!fq!f%5eD<O<VWX<Y6Z6Z%Z![![\\\\\rL   c                     | j         d                                         }|                     |t          | j         d         ddgdg                     d S )Nr   r   r   valuer9   rO   rP   r   rH   imgs     rJ   ,test_img_dataarray_infers_correct_other_dimsz:TestGridPlots.test_img_dataarray_infers_correct_other_dims\   sQ    !!$++--eD$7$:UENWIVVWWWWWrL   c                     | j                             d          }|                     |d         t          | j         d         ddgdg                     |                     |d         t          | j         d         ddgdg                     d S )Nr   rc   r   r   r   rk   r   rl   rm   s     rJ   4test_img_dataarray_groupby_infers_correct_other_dimszBTestGridPlots.test_img_dataarray_groupby_infers_correct_other_dims`   s    !(((88Qt':1'=u~PWy!Y!YZZZQt':1'=u~PWy!Y!YZZZZZrL   c                    | j         j                            dd          }|                     |j        d         j        d           |                     |j        j        d         j        d           |                     |j        j        d         j        d           |                     |j        j        d         j        d           d S )	Nr   F)rd   dynamicr   r!   r"   r   r   )	r=   rO   linerP   kdimslabellastvdimsunit)rH   hmaps     rJ   2test_line_infer_dimension_params_from_xarray_attrsz@TestGridPlots.test_line_infer_dimension_params_from_xarray_attrse   s    #*//U/KKA,m<<<+13DEEE+1<@@@+0$77777rL   c                    | j         j                            d          }|                     |j        d         j        d           |                     |j        d         j        d           |                     |j        d         j        d           |                     |j        d         j        d           |                     |j        d         j        d           d S )	Nr   r   )climr   r!   r   r"   r   r   )	r=   rO   imagerP   ru   rv   rx   ry   r<   rm   s     rJ   1test_img_infer_dimension_params_from_xarray_attrsz?TestGridPlots.test_img_infer_dimension_params_from_xarray_attrsl   s    ")//V/<<1+];;;1+->???1+\:::1*D1111+V44444rL   c                 r   | j         j                                        }|                     |j        d         j        d           |                     |j        d         j        d           |                     |j        d         j        d           |                     |j        d         j        d           d S Nr   r!   r   r"   r   r   )r?   rO   datasetrP   ru   rv   rx   ry   rH   tables     rJ   6test_table_infer_dimension_params_from_xarray_ds_attrszDTestGridPlots.test_table_infer_dimension_params_from_xarray_ds_attrst   s    #*2244Q-}===Q-/@AAAQ-|<<<Q,d33333rL   c                    | j         j                            dd          }|                     |j        d         j        d           |                     |j        d         j        d           |                     |j        d         j        d           |                     |j        d         j        d	           |                     |j        d         j        d           d S )
Nrk   r}   )cr~   r   r!   r   r"   r   r   )	r=   rO   pointsrP   ru   rv   rx   ry   r<   )rH   r   s     rJ   4test_points_infer_dimension_params_from_xarray_attrszBTestGridPlots.test_points_infer_dimension_params_from_xarray_attrs{   s    %,33gF3KKa.>>>a.0ABBBa.===a-t444a.77777rL   c                 r   | j         j                                        }|                     |j        d         j        d           |                     |j        d         j        d           |                     |j        d         j        d           |                     |j        d         j        d           d S r   r=   rO   r   rP   ru   rv   rx   ry   )rH   rC   s     rJ   5test_dataset_infer_dimension_params_from_xarray_attrszCTestGridPlots.test_dataset_infer_dimension_params_from_xarray_attrs   s    !(0022!*M:::!*,=>>>!*L999!)400000rL   c                 r   | j         j                                        }|                     |j        d         j        d           |                     |j        d         j        d           |                     |j        d         j        d           |                     |j        d         j        d           d S r   r   r   s     rJ   3test_table_infer_dimension_params_from_xarray_attrszATestGridPlots.test_table_infer_dimension_params_from_xarray_attrs   s    $+3355Q-}===Q-/@AAAQ-|<<<Q,d33333rL   c                 8   | j         j                                        }t          j        d|d          }|                     |j                            d          d           t          j        d|d          }|                     |j        d         d           d S )Nbokehplot	symmetricTstylecmapcoolwarmr@   rO   r   r   lookup_optionsrP   kwargsgetrH   r   	plot_opts
style_optss       rJ   $test_symmetric_img_deduces_symmetricz2TestGridPlots.test_symmetric_img_deduces_symmetric   s    {!''))($??	)--k::DAAA)'4AA
*62J?????rL   c                 <   | j         j                            d          }t          j        d|d          }|                     |j                            d          d           t          j        d|d          }|                     |j        d         d           d S )	NF)r   r   r   r   r   r   kbc_rr   r   s       rJ   .test_symmetric_img_with_symmetric_set_to_falsez<TestGridPlots.test_symmetric_img_with_symmetric_set_to_false   s    {!''%'88($??	)--k::EBBB)'4AA
*62G<<<<<rL   c                 <   | j         j                            d          }t          j        d|d          }|                     |j                            d          d           t          j        d|d          }|                     |j        d         d           d S )	Nfire)r   r   r   r   Tr   r   r   r   s       rJ    test_symmetric_img_with_cmap_setz.TestGridPlots.test_symmetric_img_with_cmap_set   s    {!''V'44($??	)--k::DAAA)'4AA
*62F;;;;;rL   c                 8   | j         j                                        }t          j        d|d          }|                     |j                            d          d           t          j        d|d          }|                     |j        d         d           d S )Nr   r   r   Fr   r   r   )rA   rO   r   r   r   rP   r   r   r   s       rJ   Gtest_symmetric_with_big_img_sets_symmetric_to_false_without_calculatingzUTestGridPlots.test_symmetric_with_big_img_sets_symmetric_to_false_without_calculating   s    |"((**($??	)--k::EBBB)'4AA
*62G<<<<<rL   c                 V   | j         j                            t          d                    }t	          j        d|d          }|                     |j                            d          d           t	          j        d|d          }|                     |j        d         d	           d S )
Ng    cA)check_symmetric_maxr   r   r   Tr   r   r   )	rA   rO   r   intr   r   rP   r   r   r   s       rJ   Htest_symmetric_with_big_img_and_check_symmetric_max_calculates_symmetriczVTestGridPlots.test_symmetric_with_big_img_and_check_symmetric_max_calculates_symmetric   s    |"((SXX(FF($??	)--k::DAAA)'4AA
*62J?????rL   c                     | j                             ddddgd          }d|                                v sJ d|                                v sJ |d         j        ddgk    sJ |d         j        ddgk    sJ d S )Nr   r   r)   r*   F)r   r   r\   rs   )rC   rO   keysru   rH   r   s     rJ   test_multiple_zszTestGridPlots.test_multiple_zs   s    w~~682De~TT$$$$499;;&&&&F|!eU^3333H~#u~555555rL   c                    | j         j                            dd          }t          |j                  dk    sJ |j        d         j        dk    sJ |j        d         j        dk    sJ |d	         }t          |j                  dk    sJ |j        d         j        dk    sJ |j        d         j        dk    sJ d S )
Nr   r   )r   r   r   r   r   r   r.   )r   r   )rG   rO   quadmeshlenru   r'   )rH   r   ps      rJ   test_unindexed_quadmeshz%TestGridPlots.test_unindexed_quadmesh   s     '005E0BB4:!####z!}!V++++z!}!Z////J17||q    wqz%''''wqz%''''''rL   c           	         t          j        t          j        dd                              ddd          g dt          j        d          t          j        d          t          j        d          d          }t          j        d|i          }t          j                    5 }t          j	        
                    |d	          }|                    |           t          j        |          }|j                            d
d|j        j        dz             }|d          t!          j        d|j        d          }|j        d         rJ |                                 d d d            d S # 1 swxY w Y   d S )Nd   r   r   r   r   r\   datar   r   rk   	data_varszdata.ncr   r   r   r   r   r   r   r   r   r   )r1   r2   r3   r4   r5   r>   tempfileTemporaryDirectoryospathjoin	to_netcdfopen_datasetrk   rO   sizer   r   rw   r   close)rH   darC   tempdirfpathr   r   s          rJ   $test_symmetric_dataset_not_in_memoryz2TestGridPlots.test_symmetric_dataset_not_in_memory   s    \4%%--b"a88 2RYr]]1NN
 
 

 Z7B-000(** 
	gGLL)44ELL''B8??SCRX]ST_?UUD!II,WdiHHI !'4444HHJJJ
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	s   &B:E--E14E1c           	         t          j        t          j        dd                              ddd          g dt          j        d          t          j        d          t          j        d          d          }t          j        d|i          }|j                            d	d
|j        j        dz             }|d          t          j
        d|j        d          }|j        d         sJ d S )Nr   r   r   r   r   r   rk   r   r   r   r   r   r   r   r   r   )r1   r2   r3   r4   r5   r>   rk   rO   r   r   r   rw   r   )rH   r   rC   r   r   s        rJ    test_symmetric_dataset_in_memoryz.TestGridPlots.test_symmetric_dataset_in_memory   s    \4%%--b"a88 2RYr]]1NN
 
 

 Z7B-000xqQQa		($)VDD	,,,,,,rL   c                     | j                             d          j                            d          }|j        d         j        dk    sJ d S )Nr   r   testrv   r   r6   selrO   r   rx   r'   r   s     rJ   test_dataarray_unnamed_labelz*TestGridPlots.test_dataarray_unnamed_label   sK    {A&&-33&3AAz!}!V++++++rL   c                     | j                             d          j                            d          }|j        d         j        dk    sJ d S )Nr   r   r   )value_labelr   r   r   s     rJ   "test_dataarray_unnamed_value_labelz0TestGridPlots.test_dataarray_unnamed_value_label   sK    {A&&-333GGz!}!V++++++rL   c                 ^   | j                             d                              d          j                            d          }|j        d         j        dk    sJ | j                             d          j                            dd          }|j        d         j        dk    sJ d S )	Nr   r   abr   r   r   )rv   r   )r6   r   renamerO   r   rx   r'   r   s     rJ   test_dataarray_label_precedencez-TestGridPlots.test_dataarray_label_precedence   s    {A&&--c229??c?JJz!}!S(((({A&&-33#33OOz!}!S((((((rL   N)__name__
__module____qualname__rK   rU   rX   rZ   r_   ra   rf   ri   ro   rq   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    rL   rJ   r
   r
      s       '
 '
 '
RO O OO O OO O OO O OO O O] ] ]
] ] ]
X X X[ [ [
8 8 85 5 54 4 48 8 81 1 14 4 4@ @ @= = =< < <= = =@ @ @6 6 6( ( (  *- - -, , ,, , ,) ) ) ) )rL   r
   )r   r   unittestr   collectionsr   numpyr3   	holoviewsr   holoviews.elementr   r   holoviews.element.comparisonr   xarrayr1   hvplot.xarrayrO   r
   r   rL   rJ   <module>r      s    				        # # # # # #           ( ( ( ( ( ( ( ( ; ; ; ; ; ; +
()
*
**b) b) b) b) b)& b) b) b) b) b)s	   7 A