
     j.                     B   d dl Z d dlZd dlZd dlmZmZmZ  ej        d           d@dZ	d Z
dAdZdAdZej        d	             Zej        d
             Zej        d             Zej                            dd e
             ed           ed          gfd ed           edd           e
            gfd ed           ed           ed          gfd edd           edd           edd          gfd ed           e
             edd          gfd ed           e
             edd          gfej         ed           e
             edd          gfg          d             Zej                            dd ed           ed           e
            gfd e
             edd           ed          gfd edd           edd           ed          gfd edd           edd           ed          gfd edd           e
             ed          gfd edd           e
             ed          gfej         edd           e
             ed          gfg          d             Zej                            dd e
             ed           ed          gfd ed           edd           e
            gfd ed           edd           edd          gfd ed           edd           edd          gfd ed           edd           edd          gfd  ed           edd           edd          gfej         ed           e
             edd!          gfg          ej                            d"d#d$g          d%                         Zej                            dd e
             e
            g ed           ed          gg e
             ed          g e
             ed          gg e
             ed          g ed           ed          ggd&fd ed           ed          g ed           ed          gg ed           ed          g ed'           ed          gg ed(           ed          g ed'           ed          ggd&fd edd           edd'          g edd           edd          gg edd'           edd          g edd)           edd          gg edd!           edd'          g edd)           edd          ggd&fd* ed           e
            g edd           edd          gg ed           e
            g edd'           edd          gg ed(d           e
            g edd'           edd          ggd&fg          ej                            d+g d&          d,                         Zej                            d-g d.          ej                            d/g d0          ej                            d1g d2          d3                                     Zej                            d-g d4          ej                            d/g d0          ej                            d1g d2          d5                                     Zd6 Zej                            dd e
             edd7          gfd edd8           e
            gfd ed(d8           ed(dd7          gfd eddd8           eddd7          gfg          d9             Zd: Zd; Zd< Zd= Z d> Z!d? Z"dS )B    N)NA	DataFrameread_csvjinja2c           
          dg}t          d | |||fD                       r|S |ddd                    d | |||fD                        dfgz   S )z@Used in multiple tests to simplify formatting of expected resultwidth10emc              3      K   | ]}|d u V  	d S N .0xs     zC:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\pandas/tests/io/formats/style/test_bar.py	<genexpr>zbar_grad.<locals>.<genexpr>   s&      
+
+19
+
+
+
+
+
+    
backgroundzlinear-gradient(90deg,,c                     g | ]}||S r   r   r   s     r   
<listcomp>zbar_grad.<locals>.<listcomp>   s    .L.L.LQ!.Lq.L.L.Lr   ))alljoin)abcdrets        r   bar_gradr       s    
C

+
+q!Ql
+
+
+++ 
PSXX.L.L1aA,.L.L.L%M%MPPP	
  r   c                      t                      S r   r    r   r   r   no_barr#      s    ::r   #d65f5fc                 <    t          d| d| ddd| dd          S )N .1f% transparent r"   )r   colors     r   bar_tor+       s8    (((((((*B!*B*B*B*BCCCr   c           	      Z    t          d| ddd| d| ddd| d|ddd|dd          S )Nr)   r'   r(   r&   r"   )r   yr*   s      r   bar_from_tor.   $   sh         EAEA     	  r   c                  ,    t          dgdgdgg          S )N         r   r   r   r   df_posr4   -   s    qcA3_%%%r   c                  ,    t          dgdgdgg          S )Nr3   r   r   r   df_negr9   2   s    rdRD2$'(((r   c                  ,    t          dgdgdgg          S )Nr8   r0   r1   r3   r   r   r   df_mixr;   7   s    rdQC!%&&&r   z
align, expleft2   d   rightmidg
ףp=@@g
ףp=P@zerog̬P@g33333T@meang       @c                     | j                             |                                          j        }|d         |d         |d         d}||k    sJ d S Nalignr   r0   r1   r   r   r0   r   )r1   r   stylebar_computectx)r4   rF   expresultexpecteds        r   test_align_positive_casesrR   <   ]     \E**33559FAAA??HXr   g)\0@g       c                     | j                             |                                          j        }|d         |d         |d         d}||k    sJ d S rD   rJ   )r9   rF   rO   rP   rQ   s        r   test_align_negative_casesrU   O   rS   r   P   <   gQT@g       g     @O@nansTFc                 $   |d         |d         |d         d}|r;t           j        | j        dd d f<   |                    dt	                      i           | j                            |                                          j        }||k    sJ d S )Nr   r0   r1   rG   r2   )r2   r   rE   )	npnanlocupdater#   rK   rL   rM   rN   )r;   rF   rO   rX   rQ   rP   s         r   test_align_mixed_casesr^   b   s      AAA??H ,6
1aaa4*+++\E**33559FXr   )indexcolumnsnoneK      g     U@r1   axisc                 T   t          ddgddgg          }|j                            | |dk    rd n|                                          j        }||         d         d         ||         d         d         ||         d         d         ||         d         d         d}||k    sJ d S )	Nr0   r1   r2      ra   rF   rd   r   )rH   r   r0   rI   r0   r0   r   rK   rL   rM   rN   )rF   rO   rd   datarP   rQ   s         r   test_align_axisrl   z   s    t q!fq!f%&&D
U)ITJJ		  D	!QD	!QD	!QD	!Q	 H Xr   zvalues, vmin, vmax))positive      ?g      @)negative      g      )mixedrp   rn   nullify)NvminvmaxrF   )r<   r?   rA   r@   c                    |dk    r|dk    rd}n|dk    rd}| ||d|         }|dk    rd n|}|dk    rd n|}|                     ||r|nd	k    |
          }	|	                     |	|r|ndk    |
          }	|j                            |||ddg                                          j        }
|	j                            |ddg                                          j        }|
|k    sJ d S )Nr@   rm   r<   ro   r?   rm   ro   rq   rs   rt   i  )otheriredgreenrF   rs   rt   r*   rF   r*   )whererK   rL   rM   rN   )r4   r9   r;   valuesrs   rt   rr   rF   dfclip_dfrP   rQ   s               r   test_vmin_vmax_clippingr      s.    ~ Z 	EEz! 	E&6	B	B6	JBf$.44$Df$.44$Dhhrd3dd4DhAAGmmG(>$?tmLLG 	5t$ug>NOO		 
 }  uUG4D EENNPPTHXr   ))rm   g      ?      @)ro         g      )rq   r   r   c                    |dk    r|dk    rd}n|dk    rd}| ||d|         }|dk    rd n|}|dk    rd n|}|                                 }	||c|	j        d	d d f<   |	j        d
d d f<   |j                            |||ddg                                          j        }
|	j                            |ddg                                          j        }|
                                |                                k    sJ d S )Nr@   rm   r<   ro   r?   rv   rs   rt   r2   rf   rx   ry   rz   r{   )copyr\   rK   rL   rM   rN   items)r4   r9   r;   r}   rs   rt   rr   rF   r~   	expand_dfrP   rQ   s               r   test_vmin_vmax_wideningr      s1    ~ Z 	EEz! 	E&6	B	B6	JBf$.44$Df$.44$D		I/3T,IM!QQQ$q!!!t, 	5t$ug>NOO		 
 ""ug6F"GGPPRRVH<<>>X^^--------r   c                      t          ddgddgg          } | j                                                                        j        }d|vsJ d|vsJ d S )Nr0   r   r1   r   rh   ri   rj   )rk   rP   s     r   test_numericsr     sd    q#hC)**DZ^^&&((,Fr   ry   rx   c                     t          dgdgg          }|j                            | ddg                                          j        }||d         |d         dk    sJ d S )	Nr6   r2   rx   ry   r{   r   r0   rH   rI   rj   )rF   rO   rk   rP   s       r   test_colors_mixedr     sk     rdQC[!!DZ^^%w/?^@@IIKKOFc!fc!f55555555r   c                      t          dgdgg          } | j                            dd                                          j        }d}dgdd|fd	gd
}||k    sJ d S )Nr0   r1   r<   r=   )rF   heightzKlinear-gradient(90deg, #d65f5f 100.0%, transparent 100.0%) no-repeat centerr   r   )zbackground-sizez
100% 50.0%r   rj   )rk   rP   bg_srQ   s       r   test_bar_align_heightr     s    qcA3Z  DZ^^&^44==??CFXD"#4 -
 H Xr   c                     t          dg di          } d}t          j        t          |          5  | j                            dddg                                           d d d            n# 1 swxY w Y   d	}t          j        t          |          5  | j                            d
                                           d d d            n# 1 swxY w Y   d}t          j        t          |          5  | j                            d
                                           d d d            d S # 1 swxY w Y   d S )NA)iiiiz@`align` should be in {'left', 'right', 'mid', 'mean', 'zero'} ormatchpoorlyr$   #5fba7dr{   z%`width` must be a value in \[0, 100\]   )r	   z&`height` must be a value in \[0, 100\])r   r   pytestraises
ValueErrorrK   rL   to_htmlr~   msgs     r   test_bar_value_error_raisesr   ,  s   	C.../	0	0B
LC	z	-	-	- M M
8Iy+ABBJJLLLM M M M M M M M M M M M M M M 3C	z	-	-	- * *
3'')))* * * * * * * * * * * * * * * 4C	z	-	-	- + +
C  ((***+ + + + + + + + + + + + + + + + + +s5   1A..A25A2.CCC8.D33D7:D7c                      t          dg di          } d}t          j        t          |          5  | j                            dd                                           d d d            d S # 1 swxY w Y   d S )Nr   r0   r1   r2   rf   z'`color` and `cmap` cannot both be givenr   r$   viridis)r*   cmapr   r   s     r   $test_bar_color_and_cmap_error_raisesr   <  s    	C&	'	'B
3C	z	-	-	- @ @
9955==???@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @s   /A--A14A1c                     t          dg di          } d}t          j        t          |          5  | j                            d                                           d d d            n# 1 swxY w Y   t          j        t          |          5  | j                            g d                                           d d d            d S # 1 swxY w Y   d S )Nr   r   z[`color` must be string or list or tuple of 2 strings,\(eg: color=\['#d65f5f', '#5fba7d'\]\)r   {   )r*   )r$   r   z#abcdefr   r   s     r   (test_bar_invalid_color_type_error_raisesr   D  sh   	C&	'	'B	2 
 
z	-	-	- * *
3'')))* * * * * * * * * * * * * * * 
z	-	-	- H H
<<<==EEGGGH H H H H H H H H H H H H H H H H Hs#   .A++A/2A/0CCCc                  ^   t          dddt          dgi          } t          t          t          gt          t          gg          }d}| j                            d                                          }|j                            dd                                           }||v sJ ||v sJ d S )	Nr   r0   r1   rf   style type=subsetr<   rg   )r   r   rK   rL   r   )df1df2expected_substringhtml_output1html_output2s        r   test_styler_bar_with_NA_valuesr   S  s    
S1aQ-(
)
)C
b"XBx(
)
)C&9===,,4466L9==vD=99AACCL----------r   c                      d} t          t          j        |           d          }d}|j                            d                                          }||v sJ d S )Nzname,age,test1,test2,teacher
        Adam,15,95.0,80,Ashby
        Bob,16,81.0,82,Ashby
        Dave,16,89.0,84,Jones
        Fred,15,,88,Jonespyarrow)dtype_backendr   test1r   )r   ioStringIOrK   rL   r   )rk   r~   r   html_outputs       r   %test_style_bar_with_pyarrow_NA_valuesr   ]  se    D
 
"+d##9	=	=	=B&(,,g,..6688K,,,,,,r   )NNNN)r$   )#r   numpyrZ   r   pandasr   r   r   importorskipr    r#   r+   r.   fixturer4   r9   r;   markparametrizemedianrR   rU   	nanmedianr^   rl   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      s   				                H   
 
 
 
  D D D D    & & & ) ) ) ' ' ' 	&&((FF2JJs45	66#;;B 4 4ffhh?@	uvvc{{;<	++b$''R)>)>BPS@T@TUV	&&**ffhhB(<(<=>	vvbzz6688[[S%9%9:;	VVBZZ;;r3+?+?@A    	&&++vvbzz668845	6688[[S1166#;;?@	UC((++eS*A*A66#;;OP	++eR((++eR*@*@&&**MN	++b#&&&&**=>	B$$ffhhr

;<	[[S))6688VVBZZ@A    	&&((FF2JJs45	66#;;B 4 4ffhh?@	[[R00++b#2F2FGH	&&**kk"e44kk"e6L6LMN	&&**kk"e44kk"e6L6LMN	r

KKE22KKE4J4JKL	r

FFHHkk"d.C.CDE  $//  0/   !688VVXX.ffSkk0JK#VXXvvc{{3ffhhs5LM &((FF5MM2VVE]]FF3KK4PQ 	
 !6%==&&**5sVVC[[7QR#VBZZ5r

FF3KK7PQ &**ffRjj1FF2JJs3LM 	
  ![U++[[R-@-@A [S));;r3+?+?@
 ![R((++b#*>*>? [T**KKC,@,@A
 ![T**KKB,?,?@ [T**KKC,@,@A 	
$  VBZZ* [S));;r3+?+?@
 VBZZ* [R((++b#*>*>?
 ![R((&&((3 [R((++b#*>*>? 	
E36 6n !=!=!=>>  ?>o6 6p"     $:$:$:;;"B"B"BCC  DC <; .     $:$:$:;;"B"B"BCC. . DC <; ..      	&&((FF30012	66#u%%vvxx01	E""KKC$A$ABC	++eR//Rg1N1NOP	 6 6 6   + + + @ @ @H H H. . .	- 	- 	- 	- 	-r   