
    G8c!,                        d dl Zd dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlZd Zej"                  j%                  dd	d
dddddej&                  dd gdd gg ej(                  dd gdd gg       e
d d gdd gge
j*                  e
j,                  g      dddddd ej.                  d	      g      d        Zd Zej"                  j%                  dd ej(                  g dg      dddg      d        Z G d d ej.                        Z e       d!        Zd" Z ed#$      d%        Z e       d&        Zd' Z d( Z!d) Z"ej"                  j%                  d* ej.                  d	       e       jG                  dd       e       jG                  dd      f ej.                  d	 e       jG                  dd      +       e       jG                  dd       e       jG                  d,d,      f ej.                  d- e       jG                  dd      +       e       jG                  dd       e       jG                  d,d,      f ej.                  ej&                   e       jG                  dd      +       e       jG                  dd       e       jG                  d,d,      fg      d.        Z$d/ Z%ej"                  j%                  d0 ej.                  d	      d1d e       jM                  d1      f ej.                  d	      dd2 e       jO                  d2      f ej.                  d	 e       jG                  dd      +      d1d e       jG                  dd      jM                  d1      f ej.                  d	 e       jG                  dd      +      dd2 e       jG                  dd      jO                  d2      f ej.                  d- e       jG                  dd      +      d1d e       jG                  dd      jM                  d1      f ej.                  ej&                   e       jG                  dd      +      d1d e       jG                  dd      jM                  d1      fg      d3        Z(d4 Z)d5 Z*y)6    N)markers)MatplotlibDeprecationWarning)Path)check_figures_equal)Affine2Dc                      t        j                  dd      } | j                         dk(  sJ | j                         rJ y )Nonone)marker	fillstyle)r   MarkerStyleget_fillstyle	is_filled)marker_styles    >/usr/lib/python3/dist-packages/matplotlib/tests/test_marker.pytest_marker_fillstyler      s@    &&cVDL%%'6111%%''''    r   r	   x Nonez$\frac{1}{2}$u   $♫$      r   )   r   )r      )r   r   
   )r   r   r   )r   r   r   c                 .    t        j                  |        y N)r   r   r   s    r   test_markers_validr!      s    , r   c                  b   t        j                  t              5  t        j                         } d d d        t        j                          t        j                  t              5  t        j                  d       } d d d        t        j                  |        y # 1 sw Y   kxY w# 1 sw Y   +xY wr   )pytestwarnsr   r   r   )mss    r   test_deprecated_markerr&   +   s    	2	3 #  "#	2	3 '  &'# #' 's   B%B%B"%B.square)      r   r   r      )r   )r   r)   )r   r   r)      c                     t        j                  t              5  t        j                  |        d d d        y # 1 sw Y   y xY wr   )r#   raises
ValueErrorr   r   r    s    r   test_markers_invalidr.   4   s3     
z	" $F#$ $ $s	   9Ac                   "     e Zd ZdZ fdZ xZS )UnsnappedMarkerStylez
    A MarkerStyle where the snap threshold is force-disabled.

    This is used to compare to polygon/star/asterisk markers which do not have
    any snap threshold set.
    c                 0    t         |           d | _        y r   )super_recache_snap_threshold)self	__class__s    r   r3   zUnsnappedMarkerStyle._recacheG   s    #r   )__name__
__module____qualname____doc__r3   __classcell__)r6   s   @r   r0   r0   @   s    $ $r   r0   c                 <   | j                         }|j                         }d}|j                  dgdgd|       |j                  dgdgd|dz         |j                  dgdgd|       |j                  dgdgt        d	      |dz         |j                  dgd
gd|       |j                  dgd
gt        d	      |dz         |j                  dgdgd|       |j                  dgdgt        d      |       |j                  dgdgd|       |j                  dgdgt        d      |       |j                  dgdgd|       |j                  dgdgd|       |j                  dgdgd|       |j                  dgdgd|       |j                  dgdgd|       |j                  dgdgd|       |j                  dgdgd|       |j                  dgdgt        d      |       |j                  dd       |j                  dd       y )N  r   )r*   r   -   r   sr@   r   r   )r*   r   D      ?)r*   r   r   r   pg      @)r   r   r   r)   )   r   hg      @)rD   r   r   r*   )rD   r      Hr   )   r   g     6@8)r(   g      @xlimylim)add_subplotscatterr0   set)fig_testfig_refax_testax_refsizes        r   test_poly_markerrU   L   s+   ""$G  "F D OOQC!Z4O8
NNA3C46N2 OOQC!VtO4
NNA3$8$=aNHOOQC#yDO9
NNA3&:3&?46NJ OOQC!VtO4
NNA3$8$=NFOOQC#yDO9
NNA3&:3&?4NH OOQC!VtO4
NNA3C4N0OOQC#yDO9
NNA3cTN2 OOQC!Z4O8
NNA3C4N0 OOQC!\TO:
NNA3$8$=NFKK[{K3
JJKkJ2r   c                      d} t        j                         \  }}|j                  dgdgd|        |j                  dgdgd|        |j                  dd	       y )
Nr=   r   )r   r   r?   r   )r   r   r   )r(         ?r(   rB   rJ   )pltsubplotsrN   rO   )rT   figaxs      r   test_star_markerr]   y   sX     DllnGCJJsQC$J/JJsQC	TJ2FF+F.r   g333333?)tolc                 p   | j                         }|j                         d}fd}|j                  dgdgd|        |dd|       |j                  dgdgd|        |dd|       |j                  d	gd	gd
|        |d	d|dz         |j                  dd       j                  dd       y )Nr=   c                     j                  | g| gt        |      |       j                  d      dk(  r!j                  | g| gt        |      |       y y )Nr?   extpng)rN   r0   getfixturevalue)ystylerT   rS   requests      r   draw_ref_markerz-test_asterisk_marker.<locals>.draw_ref_marker   s_     	sQC(<U(CtL""5)U2NNA3,@,G!  # 3r   r   )r*   r   r?   +rW   )r*   r   r   r   )r*   r   r>   r   r   rX   rJ   )rM   rN   rO   )rP   rQ   rf   rR   rT   rg   rS   s     `   @r   test_asterisk_markerri      s    ""$G  "F D# OOQC!VtO4AsD!OOSEC5dO;Cd# OOQC!Z4O8AsDF#KK[{K3
JJKkJ2r   c                    t        t        j                  j                        }d}d}||z  dz   }d|z  |z  }d|z  |z  dz  }| j                  || j                  z  || j                  z  f       | j                  g d      }|j                  ||j                  z  || j                  z  f       |j                  g d      }	t        t        j                  j                        D ]  \  }
}|
|z  }|
|z  dz  }|j                  ||g||dz   gddd	       |j                  ||d||d
dd       |j                  ||dz   d||d
dd       |	j                  ||g||dz   gddd||d
dd
        |j                  d|fdd|z  f       |	j                  d|fdd|z  f       |j                  d       |	j                  d       y )N2   r   r   r   )r   r   r   r   k-r)   )c	linestylelwr   fullwhite)rn   r   
markersizemarkeredgewidthr   markerfacecolor)rn   ro   rp   r   rs   rt   r   ru   r(   rJ   off)
lenr   r   set_size_inchesdpiadd_axes	enumerateplotrO   axis)rQ   rP   marker_countmarker_sizencolnrowwidthheightrS   rR   ir   r   rd   s                 r   test_marker_clippingr      s   
 w**223LKD4!#DOd"E_t#a'FUW[[0&7;;2FGHl+Fehll2FW[[4HIJ-Gw22::; @	6HIM 	QFQAJ#CAqC!k2$g 	 	? 	Aq1u!k2$g 	 	?
 	aVaQZ3#!"{B%w 	 	@@$ JJT4La$h'7J8KKdD\q4x(8K9
KKLLr   c                      t        j                  d      } t               j                  dd      }t        j                  d|      }| j	                         |z   |j	                         k(  sJ y)zBTest that initializing marker with transform is a simple addition.r	   r   	transformN)r   r   r   	translateget_transform)r   tt_markers      r   test_marker_init_transformsr      s]      %F
Q"A""3!4H!A%)?)?)AAAAr   c                      t        j                  d      } t         j                  j                  }t        j                  d|      }|j	                         |k(  sJ | j	                         |k7  sJ y )N*)	joinstyle)r   r   	JoinStyleroundget_joinstyle)r   jstlstyled_markers      r   test_marker_init_joinstyler      sc      %F""D''t<M&&(D000!T)))r   c                      t        j                  d      } t         j                  j                  }t        j                  d|      }|j	                         |k(  sJ | j	                         |k7  sJ y )Nr   )capstyle)r   r   CapStyler   get_capstyle)r   capstlr   s      r   test_marker_init_captyler      sc      %F##F''f=M%%'6111 F***r   zmarker,transform,expectedr   r   z$|||$c                     | j                  |      }|| usJ |j                         |k(  sJ | j                  |j                  usJ y r   )transformedget_user_transform_user_transform)r   r   expected
new_markers       r   test_marker_transformedr      sS     ##I.JV###((*h666!!)C)CCCCr   c                  ,   t        j                  d      } t        j                  t              5  | j                         }d d d        t        j                  t              5  | j                  dd      }d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)Nr	   r   degrad)r   r   r#   r,   r-   rotated)r   r   s     r   test_marker_rotated_invalidr      sw      %F	z	" &^^%
&	z	" 4^^^3
4 4& &4 4s   A>!B
>B
Bzmarker,deg,rad,expectedr   g{Gz?c                     | j                  ||      }|| usJ |j                         |k(  sJ | j                  |j                  usJ y )Nr   )r   r   r   )r   r   r   r   r   s        r   test_marker_rotatedr     sU     CS1JV###((*h666!!)C)CCCCr   c                     t        j                  d      } | j                  d      }|| usJ |j                         t	               j                  d      k(  sJ | j                  |j                  usJ | j                  dd      }|| usJ |j                         t	               j                  dd      k(  sJ | j                  |j                  usJ t        j                  dt	               j                  dd            } | j                  d      }|| usJ t	               j                  dd      j                  d      }|j                         |k(  sJ | j                  |j                  usJ y )N1r   r)   r   r   )r   r   scaledr   r   scaler   r   )r   r   r   s      r   test_marker_scaledr     sW     %Fq!JV###((*hj.>.>q.AAAA!!)C)CCCCq!$JV###((*hj.>.>q!.DDDD!!)C)CCCC  
0D0DQ0JKFq!JV###z##Aq)//2H((*h666!!)C)CCCCr   c                      t        j                  dd      } t        j                  ddt               j                  d            }| j	                         j                  d      |j	                         k(  sJ y )Nr	   leftZ   )r   r   r   
rotate_degget_alt_transform)m1m2s     r   test_alt_transformr   ,  s`    			S&	)B			S&(**?*?*C	DB!,,R0B4H4H4JJJJr   )+numpynpmatplotlib.pyplotpyplotrY   
matplotlibr   matplotlib._api.deprecationr   matplotlib.pathr   matplotlib.testing.decoratorsr   matplotlib.transformsr   r#   r   markparametrizeTICKLEFTarrayMOVETOLINETOr   r!   r&   r.   r0   rU   r]   ri   r   r   r   r   r   r   r   r   rotater   r   r    r   r   <module>r      s      D   = * ( 
!Wq!fBHHr1g1v1a&1a&	DKK56


G%$ ( )( 
 BHH !"
$ $$
	$7.. 	$ )3 )3X/ 3 3@ % %PB*+ 4Wxz33Aq9
Q"$W
(<(<Q(BC
Q"HJ$8$8A$>@WHJ,@,@A,FGZ!Q!5!5a!;=WHJ$8$8A$>@
Q"HJ$8$8A$>@
7 
D
D4 2Wr4)>)>r)BCWtT8:+<+<T+BCW
(<(<Q(BC
D(*&&q!,77;=W
(<(<Q(BCdHJ((A.55d;=WHJ,@,@A,FG$
$$Q*55b9;WHJ$8$8A$>@
D(*&&q!,77;=5 DDD(Kr   