
    (?e                         d dl Z d dlmZ d dlZd dlmZ d dlZ	d dl
Z
d dlm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 )    N)StringIO)cyclerc                  2   t          j                    \  } }|                    t          dg d                     t	          d          D ]2}|                    t	          d          t	          d                     3d |j        D             g dk    sJ d S )Ncolorrgy   
   c                 6    g | ]}|                                 S  	get_color.0ls     <lib/python3.11/site-packages/matplotlib/tests/test_cycles.py
<listcomp>z)test_colorcycle_basic.<locals>.<listcomp>        ,,,aAKKMM,,,    r   r	   r
   r   pltsubplotsset_prop_cycler   rangeplotlinesfigax_s      r   test_colorcycle_basicr$      s    lnnGCfWooo667771XX & &
b		599%%%%,,28,,,0D0D0DDDDDDDr   c                     t          j                    \  } }|                    t          dg d          t          dg d          z              t	          d          D ]2}|                    t	          d          t	          d                     3d |j        D             g dk    sJ d	 |j        D             g d
k    sJ d S )Ncr   marker.*xr   r   c                 6    g | ]}|                                 S r   r   r   s     r   r   z%test_marker_cycle.<locals>.<listcomp>   r   r   r   c                 6    g | ]}|                                 S r   
get_markerr   s     r   r   z%test_marker_cycle.<locals>.<listcomp>        ---qALLNN---r   r)   r*   r+   r)   r   r    s      r   test_marker_cycler2      s    lnnGCfS///22X778 9 9 91XX & &
b		599%%%%,,28,,,0D0D0DDDDD--BH---1E1E1EEEEEEEr   c                     t          j                    \  } }|                    t          j        g d          t          g d                     t          d          D ]2}|                    t          d          t          d                     3d |j        D             g dk    sJ d |j        D             g d	k    sJ d S )
Nr   r(   )r&   r'   r   r   c                 6    g | ]}|                                 S r   r   r   s     r   r   z=test_marker_cycle_kwargs_arrays_iterators.<locals>.<listcomp>$   r   r   r   c                 6    g | ]}|                                 S r   r.   r   s     r   r   z=test_marker_cycle_kwargs_arrays_iterators.<locals>.<listcomp>%   r0   r   r1   )	r   r   r   nparrayiterr   r   r   r    s      r   )test_marker_cycle_kwargs_arrays_iteratorsr9      s    lnnGC11!///22  4 4 41XX & &
b		599%%%%,,28,,,0D0D0DDDDD--BH---1E1E1EEEEEEEr   c                  2   t          j                    \  } }|                    t          dg d                     t	          d          D ]2}|                    t	          d          t	          d                     3d |j        D             g dk    sJ d S )Nls---:r   r   c                 6    g | ]}|                                 S r   get_linestyler   s     r   r   z-test_linestylecycle_basic.<locals>.<listcomp>-   "    000!AOO000r   r=   r>   r?   r=   r   r    s      r   test_linestylecycle_basicrE   (   s    lnnGCfT#3#3#3445551XX & &
b		599%%%%00rx0004I4I4IIIIIIIr   c                     t          j                    \  } }|                    t          dg d          t          dg d          z   t          dg d          z              t	          d          D ]2}|                    t	          d          t	          d                     3d	 |j        D             d
 dD             k    sJ d |j        D             g dk    sJ d |j        D             g dk    sJ d S )Nr&   r   hatchxxO|-	linestyler<   r   r   c                 6    g | ]}|                                 S r   get_facecolorr   ps     r   r   z(test_fillcycle_basic.<locals>.<listcomp>7   "    3331Q__333r   c                 L    g | ]!}t           j                            |          "S r   mplcolorsto_rgbar   r&   s     r   r   z(test_fillcycle_basic.<locals>.<listcomp>8   (    DDD!
""1%%DDDr   r   c                 6    g | ]}|                                 S r   	get_hatchrP   s     r   r   z(test_fillcycle_basic.<locals>.<listcomp>9        ...aAKKMM...r   )rI   rJ   rK   rI   c                 6    g | ]}|                                 S r   rA   rP   s     r   r   z(test_fillcycle_basic.<locals>.<listcomp>:   "    222!AOO222r   rD   r   r   r   r   r   fillpatchesr    s      r   test_fillcycle_basicrc   0   s8   lnnGCfS???33W&7&7&7889[*:*:*:;;< = = = 1XX & &
b		599%%%%33
333DD/CDDDE E E E..2:...2I2I2IIIII22rz2226K6K6KKKKKKKr   c                     t          j                    \  } }|                    t          dg d          t          dg d          z   t          dg d          z              t	          d          }|                    ||dd	
           |                    ||d
           |                    ||           |                    ||           d |j        D             d dD             k    sJ d |j        D             g dk    sJ d S )Nr   r   rG   rH   r'   )r)   r*   Dr   r   rI   )rG   rJ   c                 6    g | ]}|                                 S r   rN   rP   s     r   r   z)test_fillcycle_ignore.<locals>.<listcomp>K   rR   r   c                 L    g | ]!}t           j                            |          "S r   rT   rX   s     r   r   z)test_fillcycle_ignore.<locals>.<listcomp>L   rY   r   )r   r   r	   r
   c                 6    g | ]}|                                 S r   r[   rP   s     r   r   z)test_fillcycle_ignore.<locals>.<listcomp>M   r]   r   )rI   rJ   rJ   rK   r`   )r!   r"   ts      r   test_fillcycle_ignorerj   =   s6   lnnGCfW77W&7&7&7889X778 9 9 9 	b		A GGAq#TG"""GGAqGGGAqMMMGGAqMMM33
333DD/CDDDE E E E..2:...2H2H2HHHHHHHr   c                  `   t          j                    \  } }|                    dddg           t          d          }t          dd          D ]}|                    ||d           |                    ||           |                    ||           d |j        D             g d	k    sJ d S )
N	linewidth   r   r      皙?lwc                 6    g | ]}|                                 S r   get_linewidthr   s     r   r   z0test_property_collision_plot.<locals>.<listcomp>X   rC   r   )ro   ro   ro   rm   r   )r   r   r   r   r   r   r!   r"   ri   r&   s       r   test_property_collision_plotrv   P   s    lnnGCkAq6***b		A1a[[  
1GGAqMMMGGAqMMM00rx0004I4I4IIIIIIIr   c                     t          j                    \  } }|                    g dd           t          d          }t          dd          D ]}|                    ||d           |                    ||           |                    ||           d	 |j        D             d
 dD             k    sJ d |j        D             g dk    sJ d S )N)rm      r         bgcmy)rl   	facecolorr   rn   r   ro   rp   c                 6    g | ]}|                                 S r   rN   rP   s     r   r   z0test_property_collision_fill.<locals>.<listcomp>c   rR   r   c                 L    g | ]!}t           j                            |          "S r   rT   rX   s     r   r   z0test_property_collision_fill.<locals>.<listcomp>d   s(    777!
""1%%777r   c                 6    g | ]}|                                 S r   rs   rP   s     r   r   z0test_property_collision_fill.<locals>.<listcomp>e   r_   r   )ro   ro   ro   ry   rz   )r   r   r   r   ra   rb   ru   s       r   test_property_collision_fillr   [   s    lnnGC7CCCb		A1a[[  
1GGAqMMMGGAqMMM33
33377w7778 8 8 822rz2226K6K6KKKKKKKr   c            	      L   t          j                    \  } }|                    d            |                    t          dddg                     |                    dd           |                    dd           |                    dddg           |                    dt	          ddg                     |                    dt          j        ddg                     |                    dt          j        g dg d	g d
g                     |                    dg ddgg dg           |                    ddgddgddg           |                    t          j        ddg          t          j        ddg          t          j        ddg                     d S )Nrl   rn   rm   r   rgywkbcmrq   )rn   rm   )rn   r   r   )r   rn   r   )r   r   rn   dashes   )   rx   rn   rx   kwr=   r>   )rq   r   r;   )r   r   r   r   r8   r6   r7   r!   r"   s     r   test_valid_input_formsr   h   s   lnnGCdf[1a&11222gz***dF###kAq6***k4A<<000k28QF#3#3444grx)2)2)4  5  5 6 6 6 hb!Wlll ;<<<!QSzsDkBBB1a&))Hc3Z003+..  0 0 0 0 0r   c                     t          j                    \  } }t                      }t                      }t                      }t          j        |          5  t          j        |                    ddgd          d                    d d d            n# 1 swxY w Y   |                    g d           t          j        |          5  t          j        |                    ddgd          d                    d d d            n# 1 swxY w Y   |                                |                                k    sJ |                    d            t          j        |          5  t          j        |                    ddgd          d                    d d d            n# 1 swxY w Y   |                                |                                k    sJ d S )Nrn   rm   label)r   r   )r   	   r   )rl   )	r   r   r   
contextlibredirect_stdoutgetpr   r   getvalue)r!   r"   prop0prop1prop2s        r   test_cycle_resetr   |   sZ   lnnGCJJEJJEJJE		#E	*	* 4 4!Qw//23334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 


+++		#E	*	* 4 4!Qw//23334 4 4 4 4 4 4 4 4 4 4 4 4 4 4>>u~~//////d		#E	*	* 4 4!Qw//23334 4 4 4 4 4 4 4 4 4 4 4 4 4 4>>u~~////////s6   2BBB
2DDD(2F&&F*-F*c                     t          j                    \  } }t          j        t          t
          f          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          t
          f          5  |                    ddg           d d d            n# 1 swxY w Y   t          j        t          t
          f          5  |                    dd           d d d            n# 1 swxY w Y   t          j        t          t
          f          5  |                    dd           d d d            n# 1 swxY w Y   t          j        t          t
          f          5  |                    dddh           d d d            n# 1 swxY w Y   t          j        t          t
          f          5  |                    dd           d d d            n# 1 swxY w Y   t          j        t          t
          f          5  |                    dddg           d d d            n# 1 swxY w Y   t          j        t          t
          f          5  |                    ddg	           d d d            n# 1 swxY w Y   t          j        t          t
          f          5  |                    t          ddg	                     d d d            n# 1 swxY w Y   t          j        t
                    5  |                    t          d
d                     d d d            d S # 1 swxY w Y   d S )Nrn   rm   r   fishrl   r   )rl   r   foobar)r   rgbcmy)r   r&   )r   r   pytestraises	TypeError
ValueErrorr   r   r   s     r   test_invalid_input_formsr      sK   lnnGC		:.	/	/  
!              		:.	/	/ " "
1a&!!!" " " " " " " " " " " " " " " 
	:.	/	/ + +
'6***+ + + + + + + + + + + + + + + 
	:.	/	/ * *
+q)))* * * * * * * * * * * * * * *		:.	/	/ / /
+1v.../ / / / / / / / / / / / / / /		:.	/	/ 2 2
AS1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 
	:.	/	/ , ,
(QF+++, , , , , , , , , , , , , , ,		:.	/	/ ) )
!Q((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) 
	:.	/	/ 1 1
&A///0001 1 1 1 1 1 1 1 1 1 1 1 1 1 1	z	"	" 8 8
&u6667778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s   AA AB((B,/B,C66C:=C:!EEE/FFF?G##G'*G'H33H7:H7JJ
J.&K  K$'K$%L66L:=L:)r   ior   
matplotlibrU   matplotlib.pyplotpyplotr   numpyr6   r   r   r$   r2   r9   rE   rc   rj   rv   r   r   r   r   r   r   r   <module>r      s/                                 E E EF F FF F FJ J J
L 
L 
LI I I&J J J
L 
L 
L0 0 0(0 0 0(8 8 8 8 8r   