
    h                        S r SSKrSSKrSSKJrJr  SSKrSSKr	SSK
JrJrJrJrJrJrJrJrJr  SSKJrJr  SSKJr  SSKJr  SSKJrJrJ r!J"r#J$r%J&r&  S r'S	 r(S
 r)S r*\" S/S9S 5       r+\" S/S9S 5       r,S r-\" S/5      S 5       r.\" S/SS9S 5       r/\" S/SS9S 5       r0\	Rb                  Re                  S5      S 5       r3\" S/SS9S 5       r4S r5\" S/S9S 5       r6S r7\" S /S\Rp                  " 5       S!:X  a  SOS"S#9S$ 5       r9S% r:\" S&/SSS'9S( 5       r;\" S)/5      S* 5       r<\" S+/S,S\Rp                  " 5       S!:X  a  SOS-S.9S/ 5       r=\" S/S9S0 5       r>\" S/S9S1 5       r?S2 r@S3 rAS4 rBS5 rC\" S/S9S6 5       rDS7 rES8 rF\" S9/S,S:9S; 5       rG\" S</S,S:9S= 5       rHS> rI\R                  R                  S?S@5      SA 5       rL\" SB/S/SC9SD 5       rM\" SB/S/SC9SE 5       rN\" SB/S/SC9SF 5       rOSG rP\R                  R                  SHSI5      SJ 5       rQSK rRSL rSSM rTSN rUSO rV\" SP/SSQ/S,SSR9SS 5       rW\" / STQS9SU 5       rX\" / STQS9SV 5       rYSW rZ\" / SXQS9SY 5       r[g)Zz'
Tests specific to the patches module.
    N)assert_almost_equalassert_array_equal)	AnnulusEllipsePatchPolygon	RectangleFancyArrowPatch
FancyArrowBoxStyleArc)image_comparisoncheck_figures_equal)Bbox)collectionscolorspatchespath
transformsrcParamsc                     SS/SS/SS//n U SS//-   n[        U SS9nUR                  5       (       d   e[        UR                  5       U5        UR	                  U 5        [        UR                  5       U5        [        USS9n[        UR                  5       U 5        UR	                  U5        [        UR                  5       U 5        [        U SS9nUR                  5       (       a   e[        UR                  5       U 5        UR	                  U 5        [        UR                  5       U 5        [        USS9n[        UR                  5       U5        UR	                  U5        [        UR                  5       U5        g )Nr      TclosedF)r   
get_closedr   get_xyset_xy)xyxyclosedps      O/var/www/html/env/lib/python3.13/site-packages/matplotlib/tests/test_patches.pytest_Polygon_closer"      s2    a&1a&1a&	!BaVH}H 	4 A<<>>>qxxz8,HHRLqxxz8, 	'Aqxxz2&HHXqxxz2& 	5!A||~~qxxz2&HHRLqxxz2& 	&Aqxxz8,HHXqxxz8,    c                     SS/n SnSnSn[        XU5      n[        UR                  5       U5        [        UR                  5       S5        SnUR	                  S5        [        UR                  5       U5        [        UR                  5       S	5        S
n[
        R                  " 5       R                  " / U Q[        R                  " U5      P76 nUR                  U5      nUR	                  U5        [        UR                  5       U5        U S   US-  -   U S   US-  -   /n [        XU5      n[        UR                  5       U5        SnUR	                  S5        [        UR                  5       U5        [        UR                  5       U 5        S
n[
        R                  " 5       R                  " / U Q[        R                  " U5      P76 nUR                  U5      nUR	                  U5        [        UR                  5       U5        g )N
      r      )r%   r&   )   r&   )r)      )r%   r*   )g      %@   )r(   )r%   r+   )   r+   )r,   r&   Z   )	        4@!   r   ))      '@r/   )r1        5@)      #@r2   )r3   r/   )r	   r   get_corners
get_center	set_anglemtransformsAffine2Drotate_aroundnpdeg2rad	transformr   r   )	locwidthheightcornersrectcorners_rotthetatellipses	            r!   test_corner_centerrF   :   s   r(CEF 7GS(Dt'')73t(*5 9KNN2t'');7t()4 E,,EcE2::e3DEA++g&KNN5((*K8 q6EAIq6FQJ Cc&)G w**,g6 IKbw**,k:w))+S1 E,,EcE2::e3DEA++g&Ke++-{;r#   c            
      l   [        SSSSS9n [        U R                  5       SS/5        [        U R                  5       SS/5        [        SSSSS9n [        U R                  5       U R                  S   U R
                  S-  [        R                  " S	5      -  -   U R                  S   U R
                  S-  -   4U R                  S   U R
                  S-  [        R                  " S	5      -  -
  U R                  S   U R
                  S-  -
  4/5        [        U R                  5       U R                  S   U R                  S-  -
  U R                  S   U R                  S-  [        R                  " S	5      -  -   4U R                  S   U R                  S-  -   U R                  S   U R                  S-  [        R                  " S	5      -  -
  4/5        [        R                  " U R                  5       5      u  p[        R                  R                  X-   S-  U R                  5        [        R                  " U R                  5       5      u  p[        R                  R                  X-   S-  U R                  5        [        S
SSSS9n [        R                  " U R                  5       5      u  p[        R                  R                  X-   S-  U R                  5        [        R                  " U R                  5       5      u  p[        R                  R                  X-   S-  U R                  5        g )Nr   r   r   r   r>   r?   angle        rL   r'   r            )gjt@g+η%gQ@gGz?gR1Q@)r   r   get_verticesget_co_verticescenterr>   r:   sqrtr?   arraytesting)rE   v1v2s      r!   test_ellipse_verticesrX   j   s   q!<G	Z  !	Z 
 q"=G q!GMMA$5
$BBq!GMMA$55
 q!GMMA$5
$BBq!GMMA$55		
 ! q!GNNQ$66q!GNNQ$6$CC
 q!GNNQ$66q!GNNQ$6$CC		
 XXg**,-FBJJ""BGq='..AXXg--/0FBJJ""BGq='..A)t5QGXXg**,-FBJJ""BGq='..AXXg--/0FBJJ""BGq='..Ar#   c                     [         R                  " SS/5      n SnSnSn[        XX#S9n[        XU5      n[         R                  U-  S-  n[         R                  " [         R
                  " U5      [         R                  " U5      * /[         R                  " U5      [         R
                  " U5      //5      n[         R                  " XuR                  5       U -
  5      R                  U -   n[        UR                  5       U5        g )N      ?       @r'   rO   g      >@rJ        f@)r:   asarrayr	   pirT   cossininner	get_vertsTr   )	r=   r>   r?   rJ   rect1rect2	angle_radrotation_matrix	new_vertss	            r!   test_rotate_rectrj      s    
**c3Z
 CEFE c&6E c&)E %Ihh	!2RVVI5F4F G!#	!2RVVI5F G I JO //*;c*ABDDsJI )95r#   png)
extensionsc                 j   U R                  5       nUR                  5       nSnSu  pVSn[        XEXgS9nUR                  U5        UR                  5       U:X  d   e[        XEU5      n	U	R                  5       S:X  d   eUR                  U	5        U	R	                  U5        U	R                  5       U:X  d   eg )NrH   r   r   rM   r\   r   )add_subplotr	   	add_patch	get_angler6   )
fig_testfig_refax_testax_refr=   r>   r?   rJ   rect_ref	rect_tests
             r!   test_rotate_rect_drawrx      s    ""$G  "F
CMEEV9H
X5((( #f-I A%%%i  E)))r#   c           
      0   U R                  5       nUR                  5       nSnSu  pV[        XEUSSSSS/4S9n[        XEUSSS/ S	Q4S9nUR                  5       SSS/4:X  d   eUR                  5       S/ S	Q4:X  d   eUR                  U5        UR                  U5        [        XEUSSSSS/4S9n	[        XEUSSSSS/4S9n
U	R                  5       SSS/4:X  d   eU
R                  5       SSS/4:X  d   eUR                  U	5        UR                  U
5        g )
N皙?r{   )皙?r|   rO   br      )	linewidth	edgecolor	linestyler)r   r~   r~   r   )ro   r	   get_linestylerp   )rr   rs   rt   ru   r=   r>   r?   rv   	rect_ref2rw   
rect_test2s              r!   test_dash_offset_patch_drawr      sT   ""$G  "F
CMEVqC;<q!f+GH #fS78,6GII!!#Aq6{222""$L(9999
X
Y #fS?@1a&kKI3vc?@1a&kKJ""$QF333##%!aV444i j!r#   c                      [        SSS5      R                  5       S S n [        SSS5      R                  5       S S n[        [        R                  " USS5      U 5        g )	N)rO   r'   rH   r   r   r   )r	   rc   r   r:   roll)pos_verticesneg_verticess     r!   test_negative_rectr      sW     Xq!,668"=LVR,668"=Lrww|Q2LAr#   clip_to_bboxc                  "   [         R                  " 5       u  pUR                  SS/5        UR                  SS/5        [        R
                  R                  S5      R                  5       nU=R                  SS/-  sl        U=R                  SS/-  sl        [        R
                  R                  5       R                  5       nU=R                  SS/-  sl        U=R                  SS	/-  sl        [        R
                  R                  X#5      n[        R                  " US
SSS9nUR                  U5        [        R                  " SS/SS//5      nUR!                  U5      n[        R                  " US
SSSS9nUR                  U5        g )Nir&   ijd   r,   r%         i      ?coralnone)alpha	facecolorr   ig     `S2   igreenrN   black)r   r   lwr   )pltsubplotsset_xlimset_ylimmpathPathunit_regular_stardeepcopyverticesunit_circlemake_compound_pathmpatches	PathPatchrp   r7   r   r   )	figaxr   path2combinedpatchbboxresult_pathresult_patchs	            r!   test_clip_to_bboxr      s@   llnGCKKb	KKs::''*335DMMb#YMMMaWMJJ""$--/E	NNr3iN	NNr3iNzz,,T9Hw&BELLc5\B:67D''-K%%3'a7LL LLr#   patch_alpha_coloringT)remove_textc                     [         R                  R                  S5      n [         R                  R                  5       n[        R
                  " UR                  U R                  SSS2   /5      n[        R
                  " UR                  U R                  /5      n[         R                  " X#5      n[         R                  " US-   U5      n[        R                  " 5       n[        R                  " U/SSSSS	9nUR                  U5        [        R                  " USSSSS
9nUR                  U5        UR!                  SS5        UR#                  SS5        g)zz
Test checks that the patch and collection are rendered with the specified
alpha values in their facecolor and edgecolor.
r~   Nr   r   r   dashdotr   r   r   r   r   r   r   g      ?r   
linestylesr   r   r   r   r   r   r'   r   r   r   r   r:   concatenater   codesr   axesmcollectionsPathCollectionadd_collectionr   r   rp   r   r   	starcirclevertsr   	cut_star1	cut_star2r   colr   s	            r!   test_patch_alpha_coloringr     s    ::''*DZZ##%FNNFOOT]]4R4-@ABENNFLL$**56E

5(I

519e,I	B

%
%yk01i0>0?AC cy)*i)7)8:E LLKKAKKAr#   patch_alpha_overridec            	         [         R                  R                  S5      n [         R                  R                  5       n[        R
                  " UR                  U R                  S S S2   /5      n[        R
                  " UR                  U R                  /5      n[         R                  " X#5      n[         R                  " US-   U5      n[        R                  " 5       n[        R                  " U/SSSSSS	9nUR                  U5        [        R                  " USSSSSS
9nUR                  U5        UR!                  SS5        UR#                  SS5        g )Nr~   r   r   r   r         ?r   r   )r   r   r   r   r   )r   r   r   r   r   r'   r   r   s	            r!   test_patch_alpha_overrider   /  s   
 ::''*DZZ##%FNNFOOT]]4R4-@ABENNFLL$**56E

5(I

519e,I	B

%
%yk01i,00>0?	AC
 cy)*i%))7)8	:E
 LLKKAKKAr#   defaultc                  d    [         R                  " SSSSS9n U R                  5       S   S:X  d   eg )NrH   r   r   )r   r   r   )r   Circleget_facecolor)cs    r!   test_patch_color_noner   O  s2     	

61a8A??Q1$$$r#   patch_custom_linestylec                     [         R                  R                  S5      n [         R                  R                  5       n[        R
                  " UR                  U R                  S S S2   /5      n[        R
                  " UR                  U R                  /5      n[         R                  " X#5      n[         R                  " US-   U5      n[        R                  " 5       n[        R                  " U/SS/SSS9nUR                  U5        [        R                  " USSSSS	9nUR                  U5        UR!                  SS
5        UR#                  SS
5        g )Nr~   r   r   r   )r   )r      r%   r   r   r   r   r   r   r   r   r   r'   r   r   s	            r!   test_patch_custom_linestyler   W  s    ::''*DZZ##%FNNFOOT]]4R4-@ABENNFLL$**56E

5(I

519e,I	B

%
%	!3 4y2C c1y2E LLKKAKKAr#   c            	         [         R                  R                  S5      n [         R                  R                  5       n[        R
                  " UR                  U R                  S S S2   /5      n[        R
                  " UR                  U R                  /5      n/ SQn[        R                  " 5       u  pV[        U5       HG  u  px[         R                  " X'-   U5      n [        R                  " U SUSSS9n	UR                  U	5        MI     UR                  SWS-   /5        UR                  SUS-   /5        UR                   R#                  5         g )	Nr~   r   )---z-.:soliddashedr   dottedrO   r   r   r   r   )r   r   r   r   r:   r   r   r   r   r   	enumerater   r   rp   r   r   canvasdraw)
r   r   r   r   r   r   r   ilsr   s
             r!   test_patch_linestyle_accentsr   t  s    ::''*DZZ##%FNNFOOT]]4R4-@ABENNFLL$**56E:J llnGC:&zz%)U+""4-."-6-68 	U ' KKQUKKQUJJOOr#   c           	      \   [         R                  R                  5       nU R                  5       nUR                  5       n[	        / SQ5       H  u  pV[         R                  " UR
                  U-   UR                  5      n[        R                  " USUSSS9nUR                  U5        [        R                  " USSSSS9nUR                  U5        M     UR                  SWS	-   /5        UR                  SUS	-   /5        UR                  SUS	-   /5        UR                  SUS	-   /5        g )
N)r   None  rO   r   r   r   r   r   r   r   )r   r   r   ro   r   r   r   r   r   rp   r   r   )	rr   rs   r   rt   ru   r   r   r   r   s	            r!   test_patch_linestyle_noner     s   ZZ##%F""$G  "F45zz&//A-v||<""4-."-6-68 	% ""4-.#-6-35 	 6 b!a%[!b!a%[!
OORQK 
OORQK r#   c                  :   SSSSSS.n U R                  5        VVs0 s H
  u  pXS   _M     nnn[        R                  " S0 UD6nU R                  5        H<  u  nu  pgn[        XE5      U:X  d   e[        XH5      " U5        [        XE5      U:X  a  M<   e   g s  snnf )	N)rH   rn   
set_center)r   r,   
set_radius)r'   rO   	set_width)r   rM   
set_theta1)-   r   
set_theta2)rR   r   r>   theta1theta2r    )itemsr   Wedgegetattr)	
param_dictkv	init_argswattrold_vnew_vfuncs	            r!   test_wedge_movementr    s    :+.12	4J &0%5%5%78%7TQaD%7I8##A&0&6&6&8""uTq5(((q5((( '9 9s   Bwedge_rangex86_64g;On?)r   tolc                  ^   [         R                  " 5       n SnSS/SS/XS-   /SS/S	S
/SS/SS/SS/SS//	n[        U5       HD  u  nu  pEUS-  nUS-  n[        R                  " US-  US-  4SXESSSS9nU R                  U5        MF     U R                  SS5        U R                  SS5        g )Ngo͂@g,(J@g 7
m@g,(J@gm7
m@r]   r   h  r-   i  iL   i|  r   .   rO   r   r   r   )r   r   r   r   r,   r.   )r   r   r   r   r   
add_artistr   r   )	r   t1argsr   r   r   xywedges	            r!   test_wedge_ranger    s     
B	B,'!34eHN3KHHHD  )FEFAq1u~q&)/31F 	e  / KKAKKAr#   c            	      r   [         R                  " SSS9n [        U 5      S:X  d   e[         R                  " SSSSS9n [        U 5      S:X  d   e[         R                  " SSSSS9n [        U 5      S	:X  d   e[         R
                  " SSSSS
S9n [        U 5      S:X  d   e[         R                  " SSSSS
SS9n Sn[        U 5      U:X  d   e[         R                  " SSSSS9n Sn[        U 5      U:X  d   e[         R                  " SSSS9n [        U 5      S:X  d   e[         R                  " SSSS9n [        U 5      S:X  d   e[         R                  " SSSS9n [        U 5      S:X  d   e[        R                  " / SQSS9n[         R                  " U5      n [        U 5      S:X  d   e[         R                  " [        R                   " S 5      5      n [        U 5      S!:X  d   eSS/SS/SS//n[         R                  " U5      n [        U 5      S":X  d   e[         R"                  " US#9n [        U 5      S$S% S&:X  d   e[         R"                  " SS5      n [        U 5      S':X  d   e[         R$                  " SSS(5      n [        U 5      S):X  d   e[         R&                  " U SS5      n[        U5      S*:X  d   eg$)+z
Check that patches have nice and working `str` representation.

Note that the logic is that `__str__` is defined such that:
str(eval(str(p))) == str(p)
r   r'   rO   )r   radiuszCircle(xy=(1, 2), radius=3)rN   r   rI   z.Ellipse(xy=(1, 2), width=3, height=4, angle=5)z0Rectangle(xy=(1, 2), width=3, height=4, angle=5)r~   )rR   r   r   r   r>   z6Wedge(center=(1, 2), r=3, theta1=4, theta2=5, width=6)r   )r   r>   r?   rJ   r   r   z>Arc(xy=(1, 2), width=3, height=4, angle=5, theta1=6, theta2=7))rO   rN   r   r'   )r   r   r>   rJ   z.Annulus(xy=(1, 2), r=(3, 4), width=1, angle=2)r&   )r  z3RegularPolygon((1, 2), 20, radius=5, orientation=0))r   r  
resolutionz.CirclePolygon((1, 2), radius=5, resolution=20))r>   r?   z)FancyBboxPatch((1, 2), width=3, height=4))r  r'   r'   r  Tr   zPathPatch3((1, 2) ...)r   r'   z
Polygon0()zPolygon3((1, 2) ...))r   N   zFancyArrowPatch(Path(array(zFancyArrowPatch((1, 2)->(3, 4))datazConnectionPatch((1, 2), (3, 4))z'Shadow(ConnectionPatch((1, 2), (3, 4))))r   r   strr   r	   r   r   r   RegularPolygonCirclePolygonFancyBboxPatchr   r   r   r   r:   emptyr
   ConnectionPatchShadow)r    expectedr   r  ss        r!   test_patch_strr#    s    	6!,Aq62222F!AQ?Aq6EEEEfAaqAAq6GGGGf!AQGAq6MMMMa1QOAOHq6XFfAQ?A?Hq6X15Aq6JJJJ&rBAq6EEEEa:Aq6@@@@ ::.t<D4 Aq6----&)*Aq6\!!!FQFQF#DAq6++++  d+Aq6#2;7777  0Aq66666  8Aq666661a Aq6>>>>r#   multi_color_hatch)r   stylec            
      8   [         R                  " 5       u  pUR                  [        S5      [        SS5      5      n[	        U5       H;  u  p4UR                  S5        UR                  SU 35        UR                  S5        M=     UR                  5         UR                  S5        [        S5       HS  n[        R                  R                  SSU 305         [        US	-
  S4S
SSSS9nS S S 5        UR                  W5        MU     g ! , (       d  f       N$= f)Nr   r   r~   r   C/Fzhatch.colorg?r|   z//)hatchfc)r   r   barranger   set_facecolorset_edgecolor	set_hatchautoscale_view	autoscalemplr%  contextr	   rp   )r   r   rectsr   rA   r   s         r!   test_multi_color_hatchr5    s    llnGCFF58U1a[)EU#6"Qqc7#s $
 LL1XYY1#w781v:q/2qHA 9
Q 88s   D
D	zunits_rectangle.pngc                     SS K Js  Jn   U R                  5         [        R
                  " SU R                  -  SU R                  -  4SU R                  -  SU R                  -  5      n[        R                  " 5       u  p#UR                  U5        UR                  SU R                  -  SU R                  -  /5        UR                  SU R                  -  SU R                  -  /5        g )	Nr   r   r~   r   r'   rN   r   r.   )matplotlib.testing.jpl_unitsrU   	jpl_unitsregisterr   r	   kmr   r   rp   r   r   )Ur    r   r   s       r!   test_units_rectangler<  )  s    ,,JJLAaddFAaddF+QqttVQqttV<AllnGCLLOKK144144 !KK144144 !r#   zconnection_patch.pngmpl20g~jt?)r%  r   r  c            
         [         R                  " SS5      u  n u  p[        R                  " SSSSX!SS9nUR	                  U5        SnS	nS
nUR                  5       n[        R                  " XEUUSS9nUR	                  U5        g )Nr   r'   rz   )?r?  r  ->)xyAxyBcoordsAcoordsBaxesAaxesB
arrowstyle)g333333?rZ   )rL   皙?zaxes fractionr   )rA  rB  rC  rD  rG  )r   r   r   r  r  get_yaxis_transform)r   ax1ax2conrA  rB  rC  rD  s           r!   test_connection_patchrM  6  s     ll1a(OC#

"
"zz+16),.24C NN3
C
CG%%'G

"
"sW+2sDCNN3r#   c           
         U R                  SS5      u  p#[        R                  " SSUSSSSS	9nU R                  U5        UR                  SS5      u  p#UR                  n[
        R                  S
   [
        R                  S'   [        R                  " SSUUR                  S-
  UR                  S-
  4SSSS	9nUR                  U5        g )Nr   r'   333333?rH  r  iifigure pixelsr@  r   rA  rC  rE  rB  rD  rG  shrinkB
figure.dpisavefig.dpirM   r&   )	r   r   r  r  r   r   r   r>   r?   )rr   rs   rJ  rK  rL  bbs         r!   test_connection_patch_figrX  J  s    
   A&HC

"
"fC$C 1%HC	B"%,,|"<CLL

"
"fCXX]BIIN+_$C sr#   c           
         SnSnU R                  SS5      u  pE[        R                  " USUUSSSS	9nU R                  U5        [        R
                  S
   [        R
                  S'   UR                  SS5      u  pEUS   UR                  S-  -  US   UR                  S-  -  4nUS   UR                  S-  -  US   UR                  S-  -  4n[        R                  " USUUSSSS	9nUR                  U5        g )NrO  rQ  r   r'   zaxes pointszfigure pointsr@  r   rS  rU  rV  r   H   zaxes pixelsrR  )r   r   r  r  r   r   dpi)	rr   rs   xyA_ptsxyB_ptsrJ  rK  rL  xyA_pixxyB_pixs	            r!   "test_connection_patch_pixel_pointsr`  a  s   GG  A&HC

"
"wS'..2A?C "%,,|"<CLL1%HCqz7;;r>*GAJB,GHGqz7;;r>*GAJB,GHG

"
"wS'..2A?C sr#   c                      SSK J n Jn  U " SSSSSS5      nU" SS9n[        R                  " US4US5      n[        R
                  " 5       u  pVUR                  U5        g )Nr   )datetime	timedelta  r      )seconds)rb  rc  r   r	   r   r   rp   )rb  rc  startdeltar   r   r   s          r!   test_datetime_rectangleri  w  sT    ,T1aAq)Eb!Eqz5!4EllnGCLLr#   c                  v   SSK J n   U " SSSSSS5      nU " SSS5      n[        R                  " [        5         [        R
                  " US4US5        S S S 5        [        R                  " [        5         [        R
                  " SU4SU5        S S S 5        g ! , (       d  f       NL= f! , (       d  f       g = f)Nr   rb  rd  r   i  r   )rb  pytestraises	TypeErrorr   r	   )rb  rg  dt_deltas      r!   test_datetime_datetime_failsrp    s    !T1aAq)Ea#H	y	!E1:x3 
" 
y	!Au:q(3 
"	! 
"	! 
"	!s   B5B*
B'*
B8c            
         [         R                  " SSS5      n / SQnU R                  5       nU R                  5       nU R	                  S 5      n[
        R                  " U Vs/ s H  nUR                  UUU5      PM     sn5      n[
        R                  " U Vs/ s H  oPR                  U5      PM     sn5      n[
        R                  " Xv:H  5      (       d   eg s  snf s  snf Nr   r   r   rZ   ))rL   r   )rH  r   )r   r   rs  )	r   r   get_pathget_transform_process_radiusr:   rT   contains_pointall)ellpointsr   r<   r  pointr!  results           r!   test_contains_pointr}    s    


:sC
0C>F<<>D!!#I  &FxxBHJBH ,,U-6-35BHJ KH XXfEfU))%0fEFF66&$%%%%	J Fs   "CC c                  "   [         R                  " SSS5      n / SQnU R                  5       nU R                  5       nU R	                  S 5      nUR                  XU5      nU R                  U5      n[        R                  " Xe:H  5      (       d   eg rr  )r   r   rt  ru  rv  contains_pointsr:   rx  )ry  rz  r   r<   r  r!  r|  s          r!   test_contains_pointsr    s~    


:sC
0C>F<<>D!!#I  &F##Fv>H  (F66&$%%%%r#   c                    [         R                  " SS/5      n[         R                  " SS/5      nS[        R                  S'   U R	                  5       n[
        R                  " USSS9n[
        R                  " XSS   US	   S
9nUR                  U5        UR                  U5        UR	                  5       n[
        R                  " USSS9n[
        R                  " X!R                  S-  U-  -   SS[         R                  " [        R                  " UR                  5       5      5      S-  [         R                  " [        R                  " UR                  5       5      5      S-  SS9nUR                  U5        UR                  U5        g )NrH  rP  r{   figurerV  r   )r   r>   r?   r   r   )oxoyrZ  )r   r>   r?   r*  ecr   )r:   rT   r   r   r   r   r	   r   rp   r[  r^   mcolorsto_rgbr   )rr   rs   r   dxya1rA   shadowa2s           r!   test_shadowr    s5   	2r(	B
((B8
C #+CLL				B2b9D__T!fQ8FLLLL				B2b9Db 3&&b::gnnT%7%7%9:;b@::gnnT%7%7%9:;b@	F
 LLLLr#   c                  r    SSK J n   U " SSS5      n[        R                  " 5       u  p#[        SU4SU45      ng )Nr   rk  i  r   {Gz?)rb  r   r   r
   )rb  dtimer   r   arrows        r!   test_fancyarrow_unitsr    s4    !T1a EllnGCQJu6Er#   c                  2   [         R                  " 5       u  pUR                  SSSSSSSS9n[        R                  " SS/SS	/S
S/SS/SS/SS
/S	S/SS//5      n[        R
                  " U[        R                  " UR                  S5      5      (       d   e[        R                  " SS/SS/SS/SS/SS/SS/SS/SS//5      nUR                  SSSSSSSS9  [        R
                  " U[        R                  " UR                  S5      5      (       d   eg )Nr   r%   r   r   r   )head_length
head_widthr>   gGz+@g33333$@gL#@g\(\$@gp=
ף#@g
ףp=
?g
ףp=
ǿr'   g(\µ0@gGz.@g\(\?g(\?   )r  r  dxdyr>   r  r  )	r   r   r  r:   rT   allcloseroundr   set_datar   r   r  	expected1	expected2s        r!   test_fancyarrow_setdatar    s3   llnGCHHQ2rqQbHIEu~~~e}~e}e}u~	I ;;y"((5;;":;;;;u~u~u~t}t}u~u~u~	I 
NN
qRBaA1   ;;y"((5;;":;;;;r#   zlarge_arc.svg)r%  c            	      j   [         R                  " SS5      u  n u  pSnSnSnX4 HB  n[        X44XUSSS9nUR                  U5        UR	                  5         UR                  S5        MD     UR                  S	S
5        UR                  SS5        UR                  SS5        UR                  SS5        g )Nr   r'      ii  r   )r   colorequalr   r,   r   r~   iXiPF  ii  )r   r   r   rp   set_axis_off
set_aspectr   r   )r   rJ  rK  r  r  diameterr   as           r!   test_large_arcr    s    ll1a(OC#AAHjq<
Q

g	  LLALLA LLLLr#   zall_quadrants_arcs.svgc                     [         R                  " SSSSS9u  pSnSnSnSn[        UR                  5       U5       GH0  u  nu  pxS	n	[        S
S
[        R
                  " S5      -  4XC45       H  u  p[        XS9 Hq  u  nu  p[        X-  U
-  X-  U
-  4X'-  X(-  SSU 3SU-   [        R                  " [        R                  " X5      5      S-  SU 3SU 3S9	nUR                  U5        Ms     WS-   n	M     UR                  U* S-  US-  5        UR                  U* S-  US-  5        UR                  S	SS9  UR                  S	SS9  UR                  5         UR!                  S5        GM3     g )Nr'   F)r%   r%   )squeezefigsizei ))r   r   )r   r   rn   )r   r   ))r   r   )r   r   )r   r   )r   r   )r  )r'   r{   )r'   r  )r'   gMbP?r   gH.?)rg  rN   r'  r   r  zbig )r   r  zorderrJ   labelgidi  r   )r  r  )r   r   zipravelr:   rS   r   r   rad2degarctan2rp   r   r   axhlineaxvliner  r  )r   ax_arrscalediag_centerson_axis_centersskewsr   sxsyr   prescalecentersjx_signy_signr  s                   r!   test_rotated_arcsr    s   ,,q!UHEKCE7L8O9EFLLNE2HR!$i)rwwqz1I%J'6&E"GH'0'B##F^h.^h.0JJaS'q5**RZZ%?@3F *qc
 Q (C !A#"G$ 	UFTM54<0
UFTM54<0


1C
 


1C
 

g3 3r#   c            	          [         R                  " [        SS9   [        SSSSSS9  S S S 5        g ! , (       d  f       g = f)NzGot unknown shape: 'foo'matchr   rH  foo)shape)rl  rm  
ValueErrorr   r   r#   r!   test_fancyarrow_shape_errorr  "  s.    	z)C	D1ac/ 
E	D	Ds   1
?z
fmt, match))r  zUnknown style: 'foo')z	Round,fooz%Incorrect style argument: 'Round,foo'c                     [         R                  " [        US9   [        U 5        S S S 5        g ! , (       d  f       g = f)Nr  )rl  rm  r  r   )fmtr  s     r!   test_boxstyle_errorsr  '  s%    
 
z	/ 
0	/	/s   /
=annulus)baseline_imagesrl   c                      [         R                  " 5       u  p[        SSSSS9n[        SSSSS	S
SSS9nUR                  U5        UR                  U5        UR	                  S5        g )Nrs  rH  皙?gr*  r   rP  r{   r   mr}   r   xxxr*  r  r   r)  r  )r   r   r   rp   r  r   r   cirry  s       r!   test_annulusr  0  s`     llnGC
*c4C
0C
*j#rS5:CLLLLMM'r#   c                  2   [         R                  " 5       u  p[        SSSSS9n[        SSSSS	S
SSS9nUR                  U5        UR                  U5        UR	                  S5        SUl        SUl        SUl        SUl        SUl        SUl        SUl        g )NrK   rH  r  r  r  r  r{   r   r  r}   r   r  r  r  rs  r  r  r   )	r   r   r   rp   r  rR   radiir>   rJ   r  s       r!   test_annulus_settersr  <  s     llnGC
(C#
.C
(FCS5:CLLLLMM'CJCICICJCICICIr#   c                     [         R                  " 5       u  p[        SSSSS9n[        SSSSS	S
SSS9nUR                  U5        UR                  U5        UR	                  S5        SUl        UR                  S5        UR                  S5        UR                  S:X  d   eSUl	        SUl        UR                  S5        UR                  S5        UR                  S:X  d   eSUl	        SUl
        g )NrK   rH  r  r  r  r  r{   r   r  r}   r   r  r  r  rs  )rH  rH  r  rP  r  r   )r   r   r   rp   r  rR   set_semimajorset_semiminorr  r>   rJ   r  s       r!   test_annulus_setters2r  Q  s     llnGC
(C#
.C
(FCS5:CLLLLMM'CJcc99
"""CICJcc99
"""CICIr#   c                      SS/n [        X /5      R                  n[        R                  " [	        U /5      R                  5       R                  U:H  5      (       d   eg )Nr   )r   extentsr:   rx  r   get_extents)r{  correct_extentss     r!   test_degenerate_polygonr  j  sM    FEE>*22O66'5'"..088OKLLLLr#   kwarg)r   r   c                     [         R                  " [        SS9   [        SSS0U S0D6  S S S 5        g ! , (       d  f       g = f)NzQSetting the 'color' property will override the edgecolor or facecolor properties.r  r  r   r   )rl  warnsUserWarningr   )r  s    r!   test_color_override_warningr  p  sA    	kE
F 	0G0w/0
F 
F 
Fs	   3
Ac                  n    [        [        R                  " S5      5      n U R                  5       / :X  d   eg )Nr  )r   r:   zerosrc   )polys    r!   test_empty_vertsr  x  s*    288F#$D>>r!!!r#   c                      [        5       n U R                  [        S   (       + 5        U R                  5       [        S   (       + :X  d   eU R                  S 5        U R                  5       [        S   :X  d   eg )Nzpatch.antialiased)r   set_antialiasedr   get_antialiasedr   s    r!   test_default_antialiasedr  }  sk    GE	h':;;<  "84G+H'HIII	$  "h/B&CCCCr#   c                      [        5       n U R                  S5        U R                  S 5        U R                  5       S:X  d   eg )Nr   r   )r   set_linestyler   r  s    r!   test_default_linestyler    s<    GE		 G+++r#   c                  D    [        5       n U R                  5       S:X  d   eg )Nbutt)r   get_capstyler  s    r!   test_default_capstyler    s     GE6)))r#   c                  D    [        5       n U R                  5       S:X  d   eg )Nmiter)r   get_joinstyler  s    r!   test_default_joinstyler    s     GE G+++r#   autoscale_arcsvg)rl   r%  r   c                  J   [         R                  " SSSS9u  p[        SSSSSS9/[        S	S
SSSS9/[        S	S
SSSS9[        S	SSSSS9[        S	SSSSS9[        S	SSSSS9/4n[        X5       H/  u  p4U H  nUR	                  U5        M     UR                  5         M1     g )Nr   rO   )rN   r   )r  rH   r   r-   )r   r   rs        ?r   r%   r&   g      @n   x         @r     g      @i6  i@  )r   r   r   r  rp   r1  )r   axs	arc_listsr   arcsarcs         r!   test_autoscale_arcr	    s     ||Aq&1HC	VQ!B	/0	Zc"R	89	Zc"R	8	Zc#c	:	Zc#c	:	Zc#c	:	<=I 'CLL 
 (r#   )rk   r  pdfepsc           	          [        SS/SSSSSS9n[        SS/SSSSSS9n[        R                  " U/SSS	9nUR                  5       R	                  U5        U R                  5       R                  U5        g )
Nr   r   r   <   r&   r   r   rJ   r   r   )r   
facecolors
edgecolors)r   r   PatchCollectionr   rp   r   )rr   rs   arc1arc2r   s        r!   test_arc_in_collectionr    sy    BxQq2>DBxQq2>D

&
&v&257C  &&&s+r#   c           	         [        SS/SSSSSS9n[        SS/SSSSSS9nUR                  5       R                  U5        U R                  5       R                  U5        UR                  S5        UR	                  S5        g )	Nr   r   r   r  r&   r  r   r%   )r   r   rp   r   r6   )rr   rs   r  r  s       r!   test_modifying_arcr    sx    BxQq2>DBxa"B?D  &!!$'NN2NN2r#   c                  V   [         R                  " 5       u  p[        R                  R	                  SSSS5      n[
        R                  " SS/SS/SS/S	S/S
S/SS/SS/SS//5      n[
        R                  " U[
        R                  " UR                  5       S5      5      (       d   e[
        R                  " SS/SS/SS/SS/SS/SS/SS/SS//5      nUR                  SSSSS9  [
        R                  " U[
        R                  " UR                  5       S5      5      (       d   eg )Nr'   r   r%   gffffff?rL   g @g       g       @gffffff@r[   g      $@g333333?g(\?g{Gz?gQ?g{GzgGz@gq=
ףp@gQ	@gGz@r  g{Gz@gQ@gRQ@g(\@r   rO   r,   g333333?)r  r  r  r>   )r   r   r2  r   Arrowr:   rT   r  r  rc   r  r  s        r!   test_arrow_set_datar    s)   llnGCKKaAr*E	r
	c
	b		b		S		b		b		b		I ;;y"((5??+<a"@AAAA




r


		I 
NNRA!3N/;;y"((5??+<a"@AAAAr#   )rk   r
  r  r  c           
         U R                  5       nUR                  5       nSn[        R                  " SU05         UR                  [        R
                  " SSSSS95        S S S 5        UR                  [        R
                  " SSSSS95        UR                  S   R                  U5        UR                  S   R                  5       U:X  d   eUR                  S   R                  5       U:X  d   eg ! , (       d  f       N= f)Nr[   zhatch.linewidthrH   r   r  )r)  r   )	ro   r   
rc_contextrp   r   r	   r   set_hatch_linewidthget_hatch_linewidth)rr   rs   rt   ru   r   s        r!    test_set_and_get_hatch_linewidthr    s    ""$G  "F	B	*B/	0++FAqDE 
1 h((ASABOOA**2.>>!002b888??1113r999 
1	0s   'C55
D)\__doc__platformnumpyr:   numpy.testingr   r   rl  
matplotlibr2  matplotlib.patchesr   r   r   r   r	   r
   r   r   r   matplotlib.testing.decoratorsr   r   matplotlib.transformsr   matplotlib.pyplotpyplotr   r   r   r   r  r   r   r   r   r   r7   r   r"   rF   rX   rj   rx   r   r   r   r   r   r%  r3  r   r   r   r   r  machiner  r#  r5  r<  rM  rX  r`  ri  rp  r}  r  r  r  r  r  r  r  markparametrizer  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r   r#   r!   <module>r,     s     A  L L L O & 8 8
"-J-<`0Bf60 (* )*( (" )"BB >"# $6 )*= >< )*= >> 9% % +,$? @84 (! )!2)  =/t#++-9auFF8:?@ &'TK L$ ()*	" +	" )*'t#++-9auFF$ ( ), ( )*	
4
&& ( )07<> ?#73 4& +,G<! =!H0
  ( 	
 9+5'B C 9+5'B C( 9+5'B C0M "<=1 >1"
D,*
,
 ?#T33   <=, >,  <= >B:  <=: >:r#   