+
    ,i                     V   ^ RI t ^ RIt^ RIHtHtHtHt ^ RIt^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHtHt ^ RIHt ^ RIHtHt ^ RIHt  ! R R	4      t ! R
 R4      t R t!R t"]! R.RRRR7      R 4       t#R t$R t%R t&R t'R t(R t)R t* ! R R]PV                  4      t, ! R R4      t- ! R R 4      t.R! t/R" t0R# t1R$ t2R% t3R& t4R' t5R( t6R) t7R* t8R+ t9R, t:]Pv                  Py                  R-. R9O4      R. 4       t=R/ t>]! R0.R17      R2 4       t?R3 t@R4 tAR5 tBR6 tCR7 tDR8 tER# ):    N)assert_allcloseassert_almost_equalassert_array_equalassert_array_almost_equal)scale)Affine2DBboxTransformedBbox_ScaledRotation)Path)image_comparisoncheck_figures_equal)	MagicMockc                      a  ] tR t^t o RR.tRR.RR.RR..t]tR tR tR t	R	 t
R
 tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )TestAffine2D      ?               @      @      @c                    \        . RO. RO. RO.4       \        \        P                  ! . RO. RO. RO.\        4      4       \        \        P                  ! . RO. RO. RO.\        4      4       R# )   Nr         )         )      	   )r   nparrayintfloatselfs   &B/usr/lib/python3/dist-packages/matplotlib/tests/test_transforms.py	test_initTestAffine2D.test_init   sE    )Y	239i;SAB9i;UCD    c                    \         P                  P                  R 4       \         P                  P                  ^4      p\        \        P
                  ! V!  P                  4       V4       R# )!N,N)r"   randomseedr   r   from_values	to_valuesr'   valuess   & r(   test_valuesTestAffine2D.test_values   sD    
		x !!!$8//8BBDfMr+   c                    \        4       pVP                  4       p^*VR&   \        VP                  4       . RO. RO. RO.4       R# )*   Nr   r   )r7   r   r   r   r   r   r   r   r   )r   
get_matrixr   )r'   transmtxs   &  r(   test_modify_inplace TestAffine2D.test_modify_inplace!   s:    
 D	5++-
Iy/QRr+   c                    \        \        P                  P                  ^^4      ^,           4      pVP	                  4        \        VP                  4       . RO. RO. RO.4       R# )r   N)r   r   r   r9   r:   )r   r"   r.   randclearr   r;   )r'   as   & r(   
test_clearTestAffine2D.test_clear(   s@    RYY^^Aq)A-.		1<<>Iy)+LMr+   c                V   \        4       P                  \        P                  ^,          4      p\        4       P	                  ^Z4      p\        VP                  4       VP                  4       4       \        VP                  V P                  4      R^.4       \        VP                  V P                  4      R^ .R^.^ ^..4       \        4       P                  \        P                  4      p\        4       P	                  ^4      p\        VP                  4       VP                  4       4       \        VP                  V P                  4      RR.4       \        VP                  V P                  4      ^ R.RR.R^ ..4       \        4       P                  ^\        P                  ,          ^,          4      p\        4       P	                  R4      p\        VP                  4       VP                  4       4       \        VP                  V P                  4      ^R.4       \        VP                  V P                  4      ^^ .^R.^ R..4       \        W",           P                  4       VP                  4       4       \        W$,           P                  4       VP                  4       4       R# )r     N)r   rotater"   pi
rotate_degr   r;   r   	transformsingle_pointmultiple_pointsr'   r_pi_2r90r_pir180r_pi_3_2r270s   &      r(   test_rotateTestAffine2D.test_rotate-   s   ""25519-j##B'6,,.0@A!#--0A0A"BRGL!#--0D0D"E$&7RGaV"<	> z  'z$$S)4??,doo.?@!$..1B1B"Cb"XN!$..1E1E"F$%r7RHr1g">	@ :$$QY]3z$$S)8..0$//2CD!$..1B1B"CaWM!$..1E1E"F$%q6Ar7QG"<	> 	CI113T__5FGCJ224doo6GHr+   c                   \        4       P                  ! . V P                  O\        P                  ^,          N5!  p\        4       P
                  ! . V P                  O^ZN5!  p\        VP                  4       VP                  4       4       \        VP                  V P                  4      ^^.4       \        VP                  V P                  4      ^ ^ .R^.^^..4       \        4       P                  ! . V P                  O\        P                  N5!  p\        4       P
                  ! . V P                  O^N5!  p\        VP                  4       VP                  4       4       \        VP                  V P                  4      ^^.4       \        VP                  V P                  4      ^^ .RR.R^..4       \        4       P                  ! . V P                  O^\        P                  ,          ^,          N5!  p\        4       P
                  ! . V P                  ORN5!  p\        VP                  4       VP                  4       4       \        VP                  V P                  4      ^^.4       \        VP                  V P                  4      ^^.^R.^ R..4       \        W",           P                  4       VP                  4       4       \        W$,           P                  4       VP                  4       4       R# )r   rG   NrH   rI   )r   rotate_aroundpivotr"   rM   rotate_deg_aroundr   r;   r   rO   rP   rQ   rR   s   &      r(   test_rotate_aroundTestAffine2D.test_rotate_aroundF   s<   ))A4::AruuqyAj**;DJJ;;6,,.0@A!#--0A0A"BQFK!#--0D0D"E$%q6B7QF";	= z'';;RUU;z++=TZZ==4??,doo.?@!$..1B1B"CaVL!$..1E1E"F$%q6B8b!W"=	? :++GTZZGRUUQGz++=TZZ==8..0$//2CD!$..1B1B"CaVL!$..1E1E"F$%q6Ar7QG"<	> 	"39"8"8":DOO<MN!3:"9"9";T__=NOr+   c                   \        4       P                  ^^4      p\        4       P                  ^R4      p\        4       P                  ^R4      p\        W,           P                  4       VP                  4       4       \        VP	                  V P
                  4      ^R.4       \        VP	                  V P                  4      ^ R.^	R.^^ ..4       R# )r   NrI   rK   )r   r   r   r;   rO   rP   rQ   )r'   sxsyr<   s   &   r(   
test_scaleTestAffine2D.test_scale_   s    Za#Za$
  B'BG//153C3C3EF5??4+<+<=2wG5??4+?+?@GaWr1g6	8r+   c                   \        4       P                  \        P                  ^,          \        P                  ^,          4      p\        4       P	                  R^4      p\        VP                  4       VP                  4       4       \        4       P	                  RR4      p\        VP                  V P                  4      RR.4       \        VP                  V P                  4      ^^.RR.^^..4       R# )	r    g     6@Ȑ2:@b,@      ?      ?      @g      @N)r   skewr"   rM   skew_degr   r;   r   rO   rP   rQ   )r'   	trans_rad	trans_degr<   s   &   r(   	test_skewTestAffine2D.test_skewh   s    JOOBEEAIruurz:	J''b1	9//193G3G3IJ
##J
;!%//$2C2C"DsDkR!%//$2F2F"G$%q6C;A"?	Ar+   c                   \        4       P                  ^^ 4      p\        4       P                  ^ ^*4      p\        4       P                  ^^*4      p\        W,           P                  4       VP                  4       4       \        VP	                  V P
                  4      ^^+.4       \        VP	                  V P                  4      ^^,.^^-.^^*..4       R# )   N)r   	translater   r;   rO   rP   rQ   )r'   txtyr<   s   &   r(   test_translateTestAffine2D.test_translater   s    Z!!"a(Z!!!R(
$$R,BG//153C3C3EF5??4+<+<=BxH5??4+?+?@Hr2hR9	;r+   c                *   \        4       P                  ^Z4      P                  ! . V P                  O^N5!  p\        4       P                  ^Z4      \        4       P                  ! . V P                  O^N5!  ,           p\	        VP                  4       VP                  4       4       \        VP                  V P                  4      ^^.4       \        VP                  V P                  4      ^^.^R.^R..4       \        4       P                  ^Z4      P                  ^R4      p\        4       P                  ^Z4      \        4       P                  ^R4      ,           p\	        VP                  4       VP                  4       4       \        VP                  V P                  4      RR.4       \        VP                  V P                  4      R	^ .R
R	.^ R..4       \        4       P                  ^Z4      P                  RR4      p\        4       P                  ^Z4      \        4       P                  RR4      ,           p\	        VP                  4       VP                  4       4       \        VP                  V P                  4      RR.4       \        VP                  V P                  4      RR.RR.^^..4       \        4       P                  ^Z4      P                  ^^*4      p\        4       P                  ^Z4      \        4       P                  ^^*4      ,           p\	        VP                  4       VP                  4       4       \        VP                  V P                  4      ^^+.4       \        VP                  V P                  4      ^^*.^^-.^^...4       R# )Z   rh   ri         ?g      @NrH   rI   rJ   rb   ig      g      )r   rN   r^   r]   r   r;   r   rO   rP   rQ   r   rn   ru   r'   r<   trans_addeds   &  r(   test_rotate_plus_other#TestAffine2D.test_rotate_plus_other{   s   
%%b);;MTZZMMz,,R0z33ETZZEEF5++-{/E/E/GH!%//$2C2C"Dq!fM!%//$2F2F"G$%q6Ar7QG"<	> 
%%b)//26j++B/(*2B2B1b2II5++-{/E/E/GH!%//$2C2C"Dr2hO!%//$2F2F"G$&8b"X2w"?	A &&r*(:z2 	z,,R0z**:zBC5++-{/E/E/GH!%//$2C2C"DtTlS!%//$2F2F"G$&:d|aV"D	F 
%%b)33B;j++B/(*2F2Fr22NN5++-{/E/E/GH!%//$2C2C"Dr2hO!%//$2F2F"G$&8b"XBx"@	Br+   c                   \        4       P                  ! . V P                  O^ZN5!  P                  ^4      p\        4       P                  ! . V P                  O^ZN5!  \        4       P                  ^4      ,           p\	        VP                  4       VP                  4       4       \        VP                  V P                  4      R	R	.4       \        VP                  V P                  4      ^ ^ .^R
.RR..4       \        4       P                  ! . V P                  O^ZN5!  P                  ^R4      p\        4       P                  ! . V P                  O^ZN5!  \        4       P                  ^R4      ,           p\	        VP                  4       VP                  4       4       \        VP                  V P                  4      ^R.4       \        VP                  V P                  4      ^ ^ .R
R.^R..4       \        4       P                  ! . V P                  O^ZN5!  P                  RR4      p\        4       P                  ! . V P                  O^ZN5!  \        4       P                  RR4      ,           p\	        VP                  4       VP                  4       4       \        VP                  V P                  4      RR.4       \        VP                  V P                  4      ^ ^ .RR.^R..4       \        4       P                  ! . V P                  O^ZN5!  P                  ^^*4      p\        4       P                  ! . V P                  O^ZN5!  \        4       P                  ^^*4      ,           p\	        VP                  4       VP                  4       4       \        VP                  V P                  4      ^^+.4       \        VP                  V P                  4      ^^*.^^-.^^...4       R# )r{   rh   ri   rj   rk         ?g      @rl   NrH   rJ   rI   rK   rb   r}   )r   r^   r]   rN   r   r;   r   rO   rP   rQ   r   rn   ru   r~   s   &  r(   test_rotate_around_plus_other*TestAffine2D.test_rotate_around_plus_other   s)   
,,=djj="=HHMz33DTZZDDz,,S125++-{/E/E/GH!%//$2C2C"Dr2hO!%//$2F2F"G$%q6Ar7RH"=	? 
,,=djj="=CCArJz33DTZZDDz''2./5++-{/E/E/GH!%//$2C2C"Dq"gN!%//$2F2F"G$%q6B8aW"=	? -->tzz>2>(:z2 	z33DTZZDDz**:zBC5++-{/E/E/GH!%//$2C2C"DsDkR!%//$2F2F"G$%q6C;C"A	C 
,,=djj="=GGBOz33DTZZDDz++B345++-{/E/E/GH!%//$2C2C"Dr2hO!%//$2F2F"G$&8b"XBx"@	Br+   c                6   \        4       P                  ^R4      P                  ^Z4      p\        4       P                  ^R4      \        4       P                  ^Z4      ,           p\        VP	                  4       VP	                  4       4       \        VP                  V P                  4      ^^.4       \        VP                  V P                  4      ^^ .^^	.^ ^..4       \        4       P                  ^R4      P                  ! . V P                  O^ZN5!  p\        4       P                  ^R4      \        4       P                  ! . V P                  O^ZN5!  ,           p\        VP	                  4       VP	                  4       4       \        VP                  V P                  4      ^^.4       \        VP                  V P                  4      ^^ .^^	.^^..4       \        4       P                  ^R4      P                  RR4      p\        4       P                  ^R4      \        4       P                  RR4      ,           p\        VP	                  4       VP	                  4       4       \        VP                  V P                  4      ^R.4       \        VP                  V P                  4      RR.^R.^^..4       \        4       P                  ^R4      P                  ^^*4      p\        4       P                  ^R4      \        4       P                  ^^*4      ,           p\        VP	                  4       VP	                  4       4       \        VP                  V P                  4      ^^(.4       \        VP                  V P                  4      ^^&.^ ^$.^#^*..4       R# )r   rh   ri   NrI         rK         )r   r   rN   r   r;   rO   rP   r   rQ   r^   r]   rn   ru   r~   s   &  r(   test_scale_plus_other"TestAffine2D.test_scale_plus_other   s   
  B'2226j&&q"-
0E0Eb0II5++-{/E/E/GH5??4+<+<=1vF!%//$2F2F"G$%q6Aq6Ar7";	= 
  B'99J4::JrJz''2.z33DTZZDDE5++-{/E/E/GH5??4+<+<=1vF!%//$2F2F"G$%q6Aq6Ar7";	= !!!R((:z2 	z''2.z**:zBC5++-{/E/E/GH!%//$2C2C"Dq%jQ!%//$2F2F"G$&8aZ"a"A	C 
  B'11"b9j&&q"-
0D0DR0LL5++-{/E/E/GH5??4+<+<=BxH5??4+?+?@Hr2hR9	;r+   c                6   \        4       P                  R R4      P                  ^Z4      p\        4       P                  R R4      \        4       P                  ^Z4      ,           p\        VP	                  4       VP	                  4       4       \        VP                  V P                  4      RR.4       \        VP                  V P                  4      R^.RR.R^..4       \        4       P                  R R4      P                  ! . V P                  O^ZN5!  p\        4       P                  R R4      \        4       P                  ! . V P                  O^ZN5!  ,           p\        VP	                  4       VP	                  4       4       \        VP                  V P                  4      RR.4       \        VP                  V P                  4      ^ ^.RR.^^..4       \        4       P                  R R4      P                  ^R4      p\        4       P                  R R4      \        4       P                  ^R4      ,           p\        VP	                  4       VP	                  4       4       \        VP                  V P                  4      RR.4       \        VP                  V P                  4      ^R.RR.^R..4       \        4       P                  R R4      P                  ^^*4      p\        4       P                  R R4      \        4       P                  ^^*4      ,           p\        VP	                  4       VP	                  4       4       \        VP                  V P                  4      RR.4       \        VP                  V P                  4      ^^,.RR	.^^+..4       R
# )rh   ri   rj   rl   r|   g      +@g     8@g     E@g     ;@g     F@Nr   rI   r   rH   g      g      rK   g      )r   rn   rN   r   r;   r   rO   rP   rQ   r^   r]   r   ru   r~   s   &  r(   test_skew_plus_other!TestAffine2D.test_skew_plus_other   s   
##J
;FFrJz**:zBz,,R015++-{/E/E/GH!%//$2C2C"DuclS!%//$2F2F"G$&7UCL2q'"B	D $$Z<##$ 5%)ZZ5135z**:zBz33DTZZDDE5++-{/E/E/GH!%//$2C2C"DtSkR!%//$2F2F"G$%q6E3<!Q"@	B 
##J
;AA!RHz**:zBz''2./5++-{/E/E/GH!%//$2C2C"DsDkR!%//$2F2F"G$%r7T4L2r("C	E 
##J
;EEb"Mz**:zBz++B345++-{/E/E/GH!%//$2C2C"DtUmT!%//$2F2F"G$&8dE]RH"E	Gr+   c                6   \        4       P                  ^^*4      P                  ^Z4      p\        4       P                  ^^*4      \        4       P                  ^Z4      ,           p\        VP	                  4       VP	                  4       4       \        VP                  V P                  4      R	^.4       \        VP                  V P                  4      R
^.R^.R^..4       \        4       P                  ^^*4      P                  ! . V P                  O^ZN5!  p\        4       P                  ^^*4      \        4       P                  ! . V P                  O^ZN5!  ,           p\        VP	                  4       VP	                  4       4       \        VP                  V P                  4      R^.4       \        VP                  V P                  4      R^.R	^.R^..4       \        4       P                  ^^*4      P                  ^R4      p\        4       P                  ^^*4      \        4       P                  ^R4      ,           p\        VP	                  4       VP	                  4       4       \        VP                  V P                  4      ^HR.4       \        VP                  V P                  4      ^ER.^NR.^QR..4       \        4       P                  ^^*4      P                  RR4      p\        4       P                  ^^*4      \        4       P                  RR4      ,           p\        VP	                  4       VP	                  4       4       \        VP                  V P                  4      R^1.4       \        VP                  V P                  4      ^-R.RR.^0R..4       R# )rt   rh   ri   g     F@g     H@g     @H@g     I@g     `H@NiiiiiirI   iiii)r   ru   rN   r   r;   r   rO   rP   rQ   r^   r]   r   rn   r~   s   &  r(   test_translate_plus_other&TestAffine2D.test_translate_plus_other   s   
$$R,77;j**2r2XZ5J5J25NN5++-{/E/E/GH!%//$2C2C"DsBiP!%//$2F2F"G$'9sBi#r"C	E 
$$R,>>O

OBOz++B3z33DTZZDDE5++-{/E/E/GH!%//$2C2C"DsBiP!%//$2F2F"G$'9sBi#r"C	E 
$$R,221b9j**2r2XZ5E5Ea5LL5++-{/E/E/GH!%//$2C2C"Dr3iP!%//$2F2F"G$&9r3i"c"C	E %%b"-(:z2 	z++B3z**:zBC5++-{/E/E/GH!%//$2C2C"DtRjQ!%//$2F2F"G$&;tr5k"J	Lr+   c                   \         P                  ! 4       p\        P                  ! \        4      ;_uu_ 4        VP                  ^4       RRR4       \        P                  ! \        4      ;_uu_ 4        VP                  ^...4       RRR4       \        P                  ! \        4      ;_uu_ 4        VP                  . 4       RRR4       \        P                  ! \        4      ;_uu_ 4        VP                  ^.4       RRR4       \        P                  ! \        4      ;_uu_ 4        VP                  ^..4       RRR4       \        P                  ! \        4      ;_uu_ 4        VP                  . RO.4       RRR4       R#   + '       g   i     ELH; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r   Nr   )mtransformsr   pytestraises
ValueErrorrO   RuntimeError)r'   ts   & r(   test_invalid_transform#TestAffine2D.test_invalid_transform   s     " ]]:&&KKN ']]:&&KK1#  ']]<((KKO )]]<((KK )]]:&&KK! ']]:&&KK$ '& '&&&&&((((&&&&&sG   F	4F3F1/G,G*G*	F	F.	1G	G	G'	*G;	c                   \         P                  ! 4       p\         P                  ! 4       pW,           pVP                  4        \        P                  ! V4      pVP                  '       g   VP                  '       d   Q hVP                  ^^4       VP                  '       d   VP                  '       g   Q hVP                  4       VP                  4       8H  P                  4       '       g   Q hVP                  4        \        P                  ! V4      pVP                  ^^4       VP                  '       d   Q h\        VP                  4       VP                  4       4       R# r   N)r   r   r;   copy_invalidru   allr   r'   rC   bss1b1s   &     r(   	test_copyTestAffine2D.test_copy4  s      "  "E	YYq\:::bkkk11	Aqzzzbkkk))1<<>1668888	YYq\
Q:::~1<<>1<<>:r+   c                   \         P                  ! 4       p\         P                  ! 4       pW,           pVP                  4        \        P                  ! V4      pVP
                  '       g   VP
                  '       d   Q hVP                  ^^4       VP
                  '       d   VP
                  '       d   Q h\        VP                  4       \         P                  ! 4       P                  4       4       VP                  4        \        P                  ! V4      pVP                  ^^4       VP
                  '       d   Q h\        VP                  4       VP                  4       4       R# r   )r   r   r;   r   deepcopyr   ru   r   r   s   &     r(   test_deepcopyTestAffine2D.test_deepcopyF  s      "  "E	]]1:::bkkk11	Aqzzz"+++--2==?K,@,@,B,M,M,OP	]]1
Q:::~1<<>1<<>:r+    N)__name__
__module____qualname____firstlineno__rP   rQ   r]   r)   r4   r>   rD   rY   r_   re   rq   rx   r   r   r   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r(   r   r      s     :LSzC:Sz:OEE
N
SN
I2P28A;B@ BD;@!GFL@%(;$; ;r+   r   c                   &   a  ] tR tRt o R tRtV tR# )TestAffineDeltaTransformiY  c                   \         P                  ! . RO. RO. RO.4      p\         P                  ! . RO. RO. RO.4      p\        P                  P	                  ^^^^^^4      p\        P
                  ! V4      p\        VP                  4       V4       ^VP                  4       R&   \        VP                  4       V4       VP                  4        \        VP                  4       V4       R# )r   N)r   r   r   )g      @r   r   )r   r   r   )r   r   r   )r   :r   NN)	r"   r#   r   r   r0   AffineDeltaTransformr   r;   
invalidate)r'   beforeafterbaser   s   &    r(   test_invalidate(TestAffineDeltaTransform.test_invalidateZ  s    ?**, - /))+ ,
 ##//1aAqA,,T21<<>62
 $%% 1<<>51 	1<<>51r+   r   N)r   r   r   r   r   r   r   r   s   @r(   r   r   Y  s     2 2r+   r   c                  ~    ! R  R\         P                  4      p V ! 4       p\        P                  ! 4       p\        P                  ! \
        P                  ! ^
4      WP                  ,           R7       \        P                  ! 4        RVn	        VP                  P                  4        \        P                  ! 4        R# )c                   V   a a ] tR tRt oRt^;ttRtV 3R ltR t	]	t
R t]tRtVtV ;t# )<test_non_affine_caching.<locals>.AssertingNonAffineTransformis  zu
This transform raises an assertion error when called when it
shouldn't be and ``self.raise_on_transform`` is True.

Fc                   < \         SV `  ! V/ VB  R V n        \        P                  ! 4       P                  ^
^
4      V n        R# )FN)super__init__raise_on_transformr   r   r   underlying_transform)r'   argskwargs	__class__s   &*,r(   r   Etest_non_affine_caching.<locals>.AssertingNonAffineTransform.__init__|  s;    Gd-f-&+D#(3(<(<(>(D(DR(LD%r+   c                j    V P                   '       d   Q R 4       hV P                  P                  V4      # z3Invalidated affine part of transform unnecessarily.)r   r   transform_pathr'   paths   &&r(   transform_path_non_affineVtest_non_affine_caching.<locals>.AssertingNonAffineTransform.transform_path_non_affine  s7    ... FEF.,,;;DAAr+   c                j    V P                   '       d   Q R 4       hV P                  P                  V4      # r   )r   r   rO   r   s   &&r(   transform_non_affineQtest_non_affine_caching.<locals>.AssertingNonAffineTransform.transform_non_affine  s7    ... FEF.,,66t<<r+   )r   r   )r   r   r   r   __doc__
input_dimsoutput_dims	is_affiner   r   r   r   rO   r   r   __classcell__r   r   s   @@r(   AssertingNonAffineTransformr   s  s<     	
 $%$
[		M
	B 3	= )		r+   r   rO   TN)r   	Transformpltaxesplotr"   arange	transDatadrawr   	transAxesr   )r   my_transaxs      r(   test_non_affine_cachingr   r  sr    )k&;&; )4 +,H	BHHRYYr]h&=>HHJ #'HLLHHJr+   c                      ! R  R4      p \         P                  ! 4       p\         P                  ! \        P                  ! ^
4      V ! ^
4      R7      w  pVP                  ^ ^d4       VP                  ^ ^d4       \        VP                  4       P                  P                  4       \        P                  ! 4       P                  ^
4      P                  4       4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# )-test_external_transform_api.<locals>.ScaledByi  c                    Wn         R # N_scale_factor)r'   scale_factors   &&r(   r   6test_external_transform_api.<locals>.ScaledBy.__init__  s    !-r+   c                    \         P                  ! 4       P                  V P                  4      VP                  ,           # r   )r   r   r   r   r   )r'   r   s   &&r(   _as_mpl_transform?test_external_transform_api.<locals>.ScaledBy._as_mpl_transform  s0    ((*001C1CDnn% &r+   r   N)r   r   r   r   r   r   r   r   r   s   @r(   ScaledByr     s     	.	& 	&r+   r   r   N)r   r   r   r"   r   set_xlimset_ylimr   get_transform_ar;   r   r   r   )r   r   lines      r(   test_external_transform_apir     s    & & 
BHHRYYr]hrl;EDKK3KK3D&&(++668((*004??ACr+   pre_transform_dataTmpl20g?)remove_textstyletolc                     \         P                  ! 4       p \        P                  ! 4       P	                  ^
4      pV P                  \        P                  ! ^04      P                  ^^4      WP                  ,           R7       V P                  \        P                  ! ^ ^^4      \        P                  ! R^^	4      \        P                  ! ^04      P                  ^^4      WP                  ,           R7       V P                  \        P                  ! ^ ^
4      \        P                  ! ^
^ 4      WP                  ,           R7       \        P                  ! ^^
^4      p\        P                  ! ^^^4      p^\        P                  ! V4      ,          \        P                  ! VR\        P                  3,          4      ,           p\        P                  ! V4      \        P                  ! VR\        P                  3,          4      ,
          pV P!                  W#WEWP                  ,           \        P"                  ! WE4      R7       VR,          VR,          r2VR,          VR,          rTV P%                  W#^,           WEWP                  ,           R7       V P'                  V^,
          V^,           V^,          V^,          WP                  ,           R7       R# )
   r   g      @NNN)rO   	linewidthNNr   N)r  r  )r   r   r   r   r   contourfr"   r   reshaper   
pcolormeshlinspacescattersincosnewaxis
streamplothypotquiverbarbs)r   times10xyuvs         r(   test_pre_transform_plottingr    s    
B""$**2.GKK		"%%a+w7MKNMM"++aA&++c1a())B-''1-#ll2  4
 JJr{{1b!2;;r1#5 <</  1 	Ar2A
Aq"A	"&&)bffQq"**}-..A
q	BFF1Q

]+,,AMM!,,(>HHQN  , S61S6qX;(qIIaQ,,(>I?HHQUAE1a4A<<1GHHr+   c                     \         P                  ! 4       p \        P                  ! \        P                  ! ^^^4      \        P                  ! RR^4      4      w  rV P                  W\        P                  ! W,          4      \        P                  ! 4       P                  R4      V P                  ,           R7       \        P                  ! RR.RR..4      p\        W0P                  P                  4       4       R	# )
   (@      )@皙?r   rj   ףp=
?r   rk   N)r   r   r"   meshgridr  r  logr   r   r   r   r#   r   dataLim
get_pointsr   xsysexpecteds       r(   !test_contour_pre_transform_limitsr#    s    	B[[RR0"++dD"2MNFBKKrw%..066s;bllJ  L xx#td% &H**"7"7"9:r+   c                     \         P                  ! 4       p \        P                  ! \        P                  ! ^^^4      \        P                  ! RR^4      4      w  rV P                  W\        P                  ! W,          4      RR
1RR
13,          \        P                  ! 4       P                  R4      V P                  ,           R7       \        P                  ! RR.RR	..4      p\        W0P                  P                  4       4       R# r  r  r  Nr  r   rj   r  r   rk   rH   )r   r   r"   r  r  pcolorr  r   r   r   r   r#   r   r  r  r  s       r(    test_pcolor_pre_transform_limitsr'    s    	B[[RR0"++dD"2MNFBIIbbffRWocrc3B3h/#,,.44S9BLLH  J xx#td% &H**"7"7"9:r+   c                     \         P                  ! 4       p \        P                  ! \        P                  ! ^^^4      \        P                  ! RR^4      4      w  rV P                  W\        P                  ! W,          4      RR
1RR
13,          \        P                  ! 4       P                  R4      V P                  ,           R7       \        P                  ! RR.RR	..4      p\        W0P                  P                  4       4       R# r%  )r   r   r"   r  r  r  r  r   r   r   r   r#   r   r  r  r  s       r(   $test_pcolormesh_pre_transform_limitsr)    s    	B[[RR0"++dD"2MNFBMM""&&/#2#ss(3'00288=L  N xx#td% &H**"7"7"9:r+   c                  *   \         P                  P                  R 4       \         P                  ! ^ ^^4      p \         P                  ! ^dR^
4      p\         P                  ! W4      w  r#\         P
                  ! \         P                  P                  ! VP                  !  ^d,          4      p\        P                  ! 4       pVP                  ^oRR7      pVP                  ^eR4       VP                  WCVRR7       VP                  P                  4        R# )r-   i  polar
projectiongouraud)shadingN)r"   r.   r/   r  r  radiansrA   shaper   figureadd_subplotset_rlimr  canvasr   )r3   radiizr  r  figr   s          r(   test_pcolormesh_gouraud_nansr9    s    IINN8[[C#FKKT2&E;;v%DA


299>>177+c12A
**,C		1B KKTMM!9M-JJOOr+   c                     \         P                  ! ^ ^ .^
^.R^ ..4      p \        P                  P	                  ^^ ^ ^ ^ ^ 4      pVP                  V 4      p\         P                  ! ^ ^ .^
^ .R^ ..4      p\        W#4       \        P                  P	                  ^ ^^ ^ ^ ^ 4      pVP                  V 4      p\         P                  ! ^ ^ .^ ^.^ R..4      p\        W#4       \        P                  P	                  ^ ^ ^^ ^ ^ 4      pVP                  V 4      p\         P                  ! ^ ^ .^<^ .^ ^ ..4      p\        W#4       \        P                  P	                  ^ ^ ^ ^^ ^ 4      pVP                  V 4      p\         P                  ! ^ ^ .^ ^P.^ ^ ..4      p\        W#4       \        P                  P	                  ^ ^ ^ ^ ^^ 4      pVP                  V 4      p\         P                  ! ^^ .^^ .^^ ..4      p\        W#4       \        P                  P	                  ^ ^ ^ ^ ^ ^4      pVP                  V 4      p\         P                  ! ^ ^.^ ^.^ ^..4      p\        W#4       R# )r   NrH   rI   )r"   r#   r   r   r0   rO   r   )pointsr   actualr"  s       r(   test_Affine2D_from_valuesr=    s5   XX1vBxAw F
 	((Aq!Q:A[[ Fxx!Q"a2q'23H)((Aq!Q:A[[ Fxx!Q!R1b'23H)((Aq!Q:A[[ Fxx!Q"a1a&12H)((Aq!Q:A[[ Fxx!Q!R1a&12H)((Aq!Q:A[[ Fxx!Q!Q!Q01H)((Aq!Q:A[[ Fxx!Q!Q!Q01H)r+   c                  T   R R .p \         P                  ! 4       p\        WP                  VP	                  4       P                  V 4      4      4       VP                  R R 4      P                  4        \        WP                  VP	                  4       P                  V 4      4      4       R# )r   N)r   r   r   rO   invertedru   r;   )pointr   s     r(    test_affine_inverted_invalidatedrA  *  st    #JEA{{1::<+A+A%+HIJKKS$$&{{1::<+A+A%+HIJr+   c                  `   \         P                  ! . RO4      p \        P                  ! \        P                  ! 4       \
        P                  ! ^
R4      4      pVP                  V 4      pVP                  VP                  4       RRR7      p\        V!  w  rE\        WPP                  RR 4       R# )皙?clipF)rD  simplifyN))rC  )皙?rF  )rG     )rC  rH  )r   r   d   rI  rH   )r   _create_closedr   BlendedGenericTransformr   r   LogTransformr   iter_segments
get_affinezipr   codes)r   r<   tpathresulttpointstcodess         r(   test_clipping_of_logrU  5  s    MND// 2 22v >@E++D1E  !1!1!3&6*/ ! 1F 6lOGFJJsO,r+   c                   N   a a ] tR tRt oRtRt^t^tV 3R ltR t	R t
RtVtV ;t# )NonAffineForTestiC  z
A class which looks like a non affine transform, but does whatever
the given transform does (even if it is affine). This is very useful
for testing NonAffine behaviour with a simple Affine transform.

Fc                4   < Wn         \        SV `  ! V/ VB  R # r   )
real_transr   r   )r'   rY  r   r   r   s   &&*,r(   r   NonAffineForTest.__init__N  s    $$)&)r+   c                8    V P                   P                  V4      # r   )rY  rO   r2   s   &&r(   r   %NonAffineForTest.transform_non_affineR  s    ((00r+   c                8    V P                   P                  V4      # r   )rY  r   r   s   &&r(   r   *NonAffineForTest.transform_path_non_affineU  s    --d33r+   )rY  )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   @@r(   rW  rW  C  s/      IKJ*14 4r+   rW  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
TestBasicTransformiY  c                   \         P                  ! R R7      P                  \        P                  ^,          4      V n        \         P                  ! RR7      P                  ^
^ 4      V n        \         P                  ! RR7      P                  ^^4      V n	        \        \         P                  ! 4       P                  ^^4      RR7      V n        \        \         P                  ! 4       P                  ^^4      RR7      V n        \        \         P                  ! 4       P                  ^^4      RR7      V n        V P
                  V P                  V P                  ,           ,           V P                  ,           V n        V P
                  V P                  ,           V P                  ,           V P                  ,           V n        V P                  V P                  ,           V P                  ,           V n        R# )ta1)shorthand_nameta2ta3tn1tn2tn3N)r   r   rL   r"   rM   rb  ru   rd  r   re  rW  rf  rg  rh  stack1stack2stack2_subsetr&   s   &r(   setup_methodTestBasicTransform.setup_methodZ  sF   ''u=DDRUUQYO''u=GGAN''u=CCAqI#K$8$8$:$D$DQ$J38:#K$8$8$:$D$DQ$J38:#K$8$8$:$D$DQ$J38: xx488dhh#67488Chh)DHH4txx?!XX0488;r+   c                    V P                   P                  ^8X  g   Q hV P                  P                  ^8X  g   Q hV P                  P                  ^8X  g   Q hR# )r   N)ri  depthrj  rk  r&   s   &r(   test_transform_depth'TestBasicTransform.test_transform_depths  sL    {{  A%%%{{  A%%%!!''1,,,r+   c                   V P                   V P                  V P                  V P                  ,           ,           ,           V P                  ,           pVV P                  V P                  V P                  ,           ,           V P                  ,           V P                  V P                  ,           V P                  ,           V P                  V P                  ,           V P                  .pVP                  4        UUu. uF  w  r4VNK	  	  ppp\        V4      \        V4      8X  g   Q h\        W%4       F  w  rgWg8X  d   K  Q h	  R # u uppi r   )rb  rf  rd  rg  re  _iter_break_from_left_to_rightlenrO  )r'   stack3target_transforms_rhrtarget_stackstacks   &       r(   test_left_to_right_iteration/TestBasicTransform.test_left_to_right_iterationx  s    ((dhh$((TXX*=>?488K $"hh$((TXX*=>$((J"hh1TXX=!XX0!XX	 $BBDEDEARDE1v.////#&'8#<L((( $= Fs   9Ec                   V P                   V P                  ,
          V P                  8X  g   Q hV P                  V P                  ,
          V P                  8X  g   Q hV P                  V P                  ,
          V P                  P	                  4       8X  g   Q hV P                  V P                  ,
          P
                  ^8X  g   Q h\        P                  ! \        4      ;_uu_ 4        V P                   V P                  ,
           RRR4       V P                  V P                  V P                  ,           ,           pV P                  V P                  ,           pW,
          V P                  8X  g   Q hWP                  ,
          WP                  P	                  4       ,           8X  g   Q hV P                   V P                  ,
          V P                  V P                  V P                  ,           ,           8X  g   Q hV P                  V P                  ,
          V P                  V P                  ,           V P                  ,           8X  g   Q hV P                  V P                  ,           V P                  ,
          V P                  ,           V P                  V P                  ,           8X  g   Q hR#   + '       g   i     EL; ir   )ri  rk  rb  rj  r?  ro  r   r   r   rd  re  rf  )r'   aff1aff2s   &  r(   test_transform_shortcuts+TestBasicTransform.test_transform_shortcuts  s   {{T///488;;;{{T///488;;;!!DKK/4883D3D3FFFF""T[[0771<<<]]:&&KK$++% ' xx488dhh./xx$(("{dhh&&&hh$):):)<"<<<<{{TXX%TXX5H)IIII{{TXX%DHH)<txx)GGGGDHH$0488;488#$ 	% $ '&&s   )J--J>	c                   V P                   V P                  ,           pV P                   V P                  ,           pW8X  g   Q hWP                  8w  g   Q hVP                  V4      '       g   Q hVP                  V P                  4      '       g   Q hVP                  V P                   4      '       d   Q hVP                  V P                   V P                   ,           4      '       d   Q hW8X  g   Q hV P                  P                  V P                  4      '       g   Q hV P
                  P                  V P                  4      '       g   Q hV P                  P                  V P                  4      '       g   Q hV P
                  P                  V P                  4      '       g   Q hV P                  P                  V P                  4      '       d   Q hV P                  P                  V P
                  4      '       d   Q hV P                  P                  V P                   V P                  ,           4      '       g   Q hV P
                  P                  V P                   V P                  ,           4      '       g   Q hV P                  P                  V P                  V P                   ,           4      '       d   Q h\        P                  ! V P                  V P
                  4      pVP                  V P                  4      w  rEV P                  V,           pVP                  V P                  4      w  rxYGu;J d   R J g   Q h Q hYXu;J d   RJ g   Q h Q hR# )FTN)rd  rb  contains_branchri  re  rj  rk  rf  r   rK  rg  contains_branch_seperatelyrh  )	r'   r1r2blendr  r  stack_blendrc   rd   s	   &        r(   test_contains_branch'TestBasicTransform.test_contains_branch  ss   hh!hh!xxXX~~!!"%%%%!!$((++++%%dhh////%%dhh&9::::xx{{**4884444{{**4884444{{**4+=+=>>>>{{**4+=+=>>>>%%55dkkBBBB%%55dkkBBBB{{**488dhh+>????{{**488dhh+>????;;..txx$((/BCCCC33DHHdkkJ//0B0BChh&778J8JK%$r+   c                (   \         P                  ! ^ ^ .^
^.\         P                  ^.R	^ ..\         P                  R7      pV P                  P                  V4      pV P                  P                  V4      p\         P                  ! RR.R
R.\         P                  \         P                  .RR..\         P                  R7      p\         P                  ! RR.RR.\         P                  \         P                  .RR..\         P                  R7      p\        W$4       \        W54       \        V P                  P                  V4      V4       \        V P                  P                  4       P                  V4      V4       V P                  V P                  ,           P                  4       pV P                  P                  4       P                  4       p\        Wg4       V P                  P                  4       P                  4       p\        Wg4       R# )r   )dtyper   r         (@g      &@r   g      8@NrH   g      3g      ")r"   r#   nanfloat64ri  r   rO   r   transform_affinerN  rd  re  r;   r   rj  )r'   r;  na_ptsall_ptsna_expectedall_expectedexpected_resultrR  s   &       r(   test_affine_simplification-TestBasicTransform.test_affine_simplification  s    Aq6B8bffa[2q'B "

,11&9++''/hhR4+!# 02r( <CE::Oxx#rS#J"$&&"&&!1C9!>&(jj2
 	"&6!'8 	"$++">">v"F".	0 	"$++"8"8":"D"DV"L".	0
  88dhh.::<'')446?3'')446?3r+   )	ri  rj  rk  rb  rd  re  rf  rg  rh  N)r   r   r   r   rl  rp  r|  r  r  r  r   r   r   s   @r(   r`  r`  Y  s)     <2-
) %,B#4 #4r+   r`  c                   \   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tRtV tR# )TestTransformPlotInterfacei  c                d   \         P                  ! 4       pVP                  . RO. ROVP                  R7       \	        VP
                  P                  4       \        P                  ! \        P                  \        P                  .\        P                  ) \        P                  ) ..4      4       R# )r  r   Nr  333333?皙??r   r  )
r   r   r   r   r   r  r  r"   r#   infr'   r   s   & r(   test_line_extent_axes_coords7TestTransformPlotInterface.test_line_extent_axes_coords  sn    XXZ
BLLI2::00288bffbff%5')vvgw%7%9 :	;r+   c                    \         P                  ! 4       pVP                  . RO. ROVP                  R7       \	        VP
                  P                  4       \        P                  ! R R.RR..4      4       R# )r  r  r  r   r   Nr  r  )	r   r   r   r   r   r  r  r"   r#   r  s   & r(   test_line_extent_data_coords7TestTransformPlotInterface.test_line_extent_data_coords  sT    XXZ
BLLI2::00288cC[3+$>?	Ar+   c                l   \         P                  ! 4       p\        P                  ! VP                  VP
                  4      pVP                  . RO. ROVR7       \        VP                  P                  4       \        P                  ! \        P                  R.\        P                  ) R..4      4       R# )r  r   g     A@Nr  #      g      )r   r   r   blended_transform_factoryr   r   r   r   r  r  r"   r#   r  r'   r   r<   s   &  r(   !test_line_extent_compound_coords1<TestTransformPlotInterface.test_line_extent_compound_coords1  s~     XXZ55bll68llD
?2::00288bffc]')vvgs^%5 6	7r+   c                F   \         P                  ! 4       p\        P                  ! 4       P	                  ^
4      VP
                  ,           pVP                  . RO. ROVR7       \        VP                  P                  4       \        P                  ! RR.RR..4      4       R# )	r   r   r   r       u@Nr  r        I)r   r   r   r   r   r   r   r   r  r  r"   r#   r  s   &  r(   )test_line_extent_predata_transform_coordsDTestTransformPlotInterface.test_line_extent_predata_transform_coords   sr    XXZ$$&,,R02<<?
?2::00288b$Z#t$=>	@r+   c                   \         P                  ! 4       p\        P                  ! VP                  \        P
                  ! 4       P                  ^
4      VP                  ,           4      pVP                  . RO. ROVR7       \        VP                  P                  4       \        P                  ! \        P                  R.\        P                  ) R..4      4       R# )r   r   r  Nr  r  r  )r   r   r   r  r   r   r   r   r   r   r  r  r"   r#   r  r  s   &  r(   !test_line_extent_compound_coords2<TestTransformPlotInterface.test_line_extent_compound_coords2  s     XXZ55LL+..066r:R\\IK
?2::00288bffd^rvvgt_$EF	Hr+   c                   \         P                  ! 4       p\        P                  ! 4       P	                  ^
^
4      p\         P
                  ! \        P                  ! ^
4      W!P                  ,           R7       \        P                  ! RR.RR..4      ^
,           p\        VP                  P                  4       V4       R# r   r   r         "@Nr   r   r   r   ru   r   r"   r   r   r#   r   r  r  r'   r   offsetexpected_data_lims   &   r(   test_line_extents_affine3TestTransformPlotInterface.test_line_extents_affine  s~    XXZ%%'11"b92&<<*?@HHr2hb	%:;b@!"**"7"7"9;LMr+   c                   \         P                  ! 4       p\        P                  ! 4       P	                  ^
^
4      p\        \        P                  ! 4       P	                  ^
^
4      4      p\         P                  ! \        P                  ! ^
4      W#,           VP                  ,           R7       \        P                  ! RR.RR..4      ^,           p\        VP                  P                  4       V4       R# r  )r   r   r   r   ru   rW  r   r"   r   r   r#   r   r  r  )r'   r   r  	na_offsetr  s   &    r(   test_line_extents_non_affine7TestTransformPlotInterface.test_line_extents_non_affine  s    XXZ%%'11"b9$[%9%9%;%E%Eb"%MN	2&*<r||*KLHHr2hb	%:;b@!"**"7"7"9;LMr+   c                   \         P                  ! 4       p\        P                  ! 4       P	                  ^
^
4      p\        \        P                  ! 4       P	                  ^
^
4      4      p\        ^ ^ .^ ^
.^
^
.^
^ ..4      p\        P                  ! VW#,           VP                  ,           R7      pVP                  V4       \        P                  ! RR.RR..4      ^,           p\        VP                  P                  4       V4       R# r   r   r   g      $@N)r   r   r   r   ru   rW  r   mpatches	PathPatchr   	add_patchr"   r#   r   r  r  )r'   r   r  r  pthpatchr  s   &      r(   test_pathc_extents_non_affine8TestTransformPlotInterface.test_pathc_extents_non_affine!  s    XXZ%%'11"b9$[%9%9%;%E%Eb"%MN	QFQGb"XAw78""3-3-?",,-NP
UHHr2hs%<=B!"**"7"7"9;LMr+   c                   \         P                  ! 4       p\        P                  ! 4       P	                  ^
^
4      p\        ^ ^ .^ ^
.^
^
.^
^ ..4      p\        P                  ! W2VP                  ,           R7      pVP                  V4       \        P                  ! RR.RR..4      ^
,           p\        VP                  P                  4       V4       R# r  )r   r   r   r   ru   r   r  r  r   r  r"   r#   r   r  r  )r'   r   r  r  r  r  s   &     r(   test_pathc_extents_affine4TestTransformPlotInterface.test_pathc_extents_affine,  s    XXZ%%'11"b9QFQGb"XAw78""32<<2GH
UHHr2hs%<=B!"**"7"7"9;LMr+   c                   \         P                  ! R R7      p\        P                  ! 4       P	                  ^ ^
4      p\         P
                  ! \        P                  ! ^
4      W!P                  ,           R7       \        P                  ! RR.RR..4      ^ ^
.,           p\        VP                  P                  4       V4       R# )r+  r,  r   r   r  Nr  r  s   &   r(   *test_line_extents_for_non_affine_transDataETestTransformPlotInterface.test_line_extents_for_non_affine_transData5  s    XX)%%'11!R82&<<*?@ HHr2hb	%:;q"gE!"**"7"7"9;LMr+   r   N)r   r   r   r   r  r  r  r  r  r  r  r  r  r  r   r   r   s   @r(   r  r    sE     ;A	7@HNN	NN
N 
Nr+   r  c                 F    \        V P                  VP                  4       R # r   )r   bounds)bbox1bbox2s   &&r(   assert_bbox_eqr  B  s    u||U\\2r+   c                      \         P                  P                  R R RRRR7      p V P                  4       p\	        VP
                  V P
                  4       R# )r   r   )minposN)r   r	   from_extentsfrozenr   r  )bboxr  s     r(   test_bbox_frozen_copies_minposr  F  s@    ((c3C(HD[[]Fv}}dkk2r+   c            	         \         P                  P                  p \         P                  P                  pV ! ^ ^ ^^4      pV ! RRRR4      pV ! R^ RR4      pV ! RR^R4      pV ! ^^^^4      p\	        V! W"4      V4       \	        V! W#4      V ! RR^^4      4       \	        V! W$4      V4       V! W%4      e   Q h\	        V! W&4      V ! ^^^^4      4       R# )r   r   rj   r|   g      @N)r   r	   r  intersectionr  )bbox_from_extinterr  r  r3r4r5s          r(   test_bbox_intersectionr  L  s    $$11M))E	q!Q	"B	sCc	*B	sAtT	*B	sCC	(B	q!Q	"B 5="%5=-S!Q"?@5="%=   5=-1a";<r+   c            	         \         P                  ! R ^ .RR..4      p \        V \        \	        V 4      R\         P                  /4      4       \        \        V 4      R\        /4      pVP                  4        F  w  r#\        W4      V8X  d   K  Q h	  Rp\        \        W4      R\        /4      pVP                  4        F*  w  r#\        \        \        W4      V4      4      V8X  d   K*  Q h	  R# )r   r|   r	   z.1fN)
r   r	   r  evalreprstrdictitemsgetattrformat)r   asdictkr  fmts        r(   test_bbox_as_stringsr  b  s    2q'C:./A1d47V[-=-=$>?@#a&64.)Fq}!!! 
C&.64.1FF71=#./1444 r+   c                  h    \        \        P                  ! R R7      P                  4      R8X  g   Q hR# )r+  r,  a  CompositeGenericTransform(
    CompositeGenericTransform(
        CompositeGenericTransform(
            TransformWrapper(
                BlendedAffine2D(
                    IdentityTransform(),
                    IdentityTransform())),
            CompositeAffine2D(
                Affine2D().scale(1.0),
                Affine2D().scale(1.0))),
        PolarTransform(
            PolarAxes(0.125,0.1;0.775x0.8),
            use_rmin=True,
            apply_theta_transforms=False)),
    CompositeGenericTransform(
        CompositeGenericTransform(
            PolarAffine(
                TransformWrapper(
                    BlendedAffine2D(
                        IdentityTransform(),
                        IdentityTransform())),
                LockableBbox(
                    Bbox(x0=0.0, y0=0.0, x1=6.283185307179586, y1=1.0),
                    [[-- --]
                     [-- --]])),
            BboxTransformFrom(
                _WedgeBbox(
                    (0.5, 0.5),
                    TransformedBbox(
                        Bbox(x0=0.0, y0=0.0, x1=6.283185307179586, y1=1.0),
                        CompositeAffine2D(
                            Affine2D().scale(1.0),
                            Affine2D().scale(1.0))),
                    LockableBbox(
                        Bbox(x0=0.0, y0=0.0, x1=6.283185307179586, y1=1.0),
                        [[-- --]
                         [-- --]])))),
        BboxTransformTo(
            TransformedBbox(
                Bbox(x0=0.125, y0=0.09999999999999998, x1=0.9, y1=0.9),
                BboxTransformTo(
                    TransformedBbox(
                        Bbox(x0=0.0, y0=0.0, x1=8.0, y1=6.0),
                        Affine2D().scale(80.0)))))))N)r  r   subplotr   r   r+   r(   test_str_transformr  n  s/     s{{g.889 ,>8 ,8 ,8 ,8r+   c                  x    \         P                  ! 4       p V P                  R4      pVP                  R8X  g   Q hR# )r   Nr   r   )r   )r   r   r  r1  )r   ry  s     r(   test_transform_single_pointr    s0    A	6"A77d??r+   c                      \         P                  ! 4       w  rVP                  R 4       VP                  P	                  R4       R# )r  Nr  )r   subplots
set_yscaler   rO   )r8  r   s     r(   test_log_transformr    s/     llnGCMM%LL6"r+   c                      \         P                  ! ^ ^ .^^..4      p \         P                  ! ^ ^ .^\        P                  ..4      pV P	                  V4      '       d   Q hR# )r   N)r   r	   r"   r  overlaps)rC   r   s     r(   test_nan_overlapr     sU    1a&1a&)*A1a&1bff+./Azz!}}}r+   c                  0   \         P                  ! 4       p \        P                  ! . RO4      p\        P                  ! ^ ^ .^^.^^..4      pV P	                  W4      p\        W4       \        P                  ! \        4      ;_uu_ 4        V P	                  WR,          4       RRR4       \        P                  ! \        4      ;_uu_ 4        V P	                  WR,          4       RRR4       R#   + '       g   i     LU; i  + '       g   i     R# ; i)rH  N)rH  -   <   )r   r   N:r   r   N)r  r   )	r   r   r"   r#   transform_anglesr   r   r   r   )r   anglesr;  
new_angless       r(   test_transform_anglesr    s    AXXl#FXX1v1v1v./F ##F3Jf1 
z	"	"	6(#34 
# 
z	"	"	6&>2 
#	"	 
#	" 
#	"	"s   C1D1D	D	c                      \         P                  ! RR .4      p ^ \         P                  3RR.pV F6  p\         P                  ! \        P                  ! V!  4      p\        W04       K8  	  R# )gMbP?NgMbPr8   )r   g     )r"   r#   r  r   nonsingularr   )zero_expansioncasesr   outs       r(   test_nonsingularr    sS    XXvuo.N[&-0Ehh{..563/ r+   c                  F   . ROp \        V RR7      p\        P                  ! 4       p\        P                  ! W4      p\	        VP                  4       P                  V 4       ^\        P                  ! ^4      ,          pVP                  \        P                  ^,          4       \	        VP                  4       P                  RWD3^ ^V,          3V) V3.RR7       R.^,          Vn        \	        VP                  4       P                  RWD3^ ^V,          3V) V3.RR7       R# )r   T)closedV瞯<atolNr8   )r8   r   r   r  r   r   )r   r   r   TransformedPathr   get_fully_transformed_pathverticesr"   sqrtrL   rM   r;  )r;  r   r<   
trans_pathr  s        r(   test_transformed_pathr    s    -Ft$D  "E,,T9JJ99;DDfM 
RWWQZB	LLJ99;DDbX1r6{bS"I> 
 (Q,DKJ99;DDbX1r6{bS"I> r+   c                     \         P                  ! 4       p \        P                  ! R^^-^V R7      p\         P                  ! V4      pVP                  4       P                  pV P                  ^4       \        VP                  4       P                  V^,          4       VP                  R4       \        VP                  4       P                  V4       R# )r   r   r   Nr8   )
r   r   r  WedgeTransformedPatchPathr  r  r   r   
set_radius)r<   r  tpatchr;  s       r(   test_transformed_patch_pathr!    s      "ENN61b#?E--e4F..099F 
KKNF557@@&1*M 
SF557@@&Ir+   locked_elementc                    . ROpVP                  V 4       \        P                  P                  4       p\        P                  ! V3/ V ^/B p\        W04      ^8X  g   Q h\        VRV ,           4      ^8X  g   Q hV F  p\        W44      \        W$4      8X  d   K  Q h	  VP                  VP                  4       ^
,           4       \        W04      ^8X  g   Q h\        VRV ,           4      ^8X  g   Q hV F  p\        W44      \        W$4      8X  d   K  Q h	  \        VRV ,           R4       \        VRV ,           4      e   Q h\        P                  ! VP                  4       VP                  4       8H  4      '       g   Q h\        VRV ,           ^4       \        W04      ^8X  g   Q h\        VRV ,           4      ^8X  g   Q hV F  p\        W44      \        W$4      8X  d   K  Q h	  R# )x0locked_Nr$  y0x1y1)remover   r	   unitLockableBboxr  
set_pointsr  setattrr"   r   )r"  other_elementsoriglockedelems   &    r(   test_lockable_bboxr3    s   -N.)  "D%%dB~q.ABF 6*a///69~56!;;;v$(;;;;  	OODOO%*+6*a///69~56!;;;v$(;;;;  FI.569~56>>>66$//#v'8'8'::;;;; FI.26*a///69~56!;;;v$(;;;; r+   c                  $   \         P                  ! \         P                  ! 4       4      p \        P                  ! \
        R R7      ;_uu_ 4        V P                  \        P                  ! ^
4      4       RRR4       R#   + '       g   i     R# ; i)z`The input and output dims of the new child \(1, 1\) do not match those of current child \(2, 2\)matchN)	r   TransformWrapperr   r   r   r   setr   rL  )r   s    r(   test_transformwrapperr9    sa    $$[%9%9%;<A	z<
> 
> 	
e  $%
> 
> 
> 
>s   &A>>B	png)
extensionsc           	      J   \         P                  P                  R 4       \         P                  P                  ^
R7      p\         P                  ! R^^
4      p\        W.RR.4       F  w  rEVP                  4       pVP                  W%RR7       VP                  V\         P                  ! V^,          ) ^,          4      \         P                  ! ^\         P                  ,          4      ,          4       VP                  P                  4        VP                  R4       K  	  R# )r-   )sizeTF)r  densitylinearNr  )r"   r.   r/   normalr  rO  r  histr   expr  rM   r5  r   r  )fig_testfig_refsamplesr  r8  	log_stater   s   &&     r(   test_scale_swappingrG     s    IINN8iiB'G
B2Ax1D%=A\\^
5
266AqD'A+&RUU);;<


h Br+   c                  h   \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! RRR7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        \        P                  ! RRR7       RRR4       R#   + '       g   i     LW; i  + '       g   i     R# ; i)zZ'fontsize' is not a valid value for units; supported values are 'dots', 'points', 'inches'r5  Nfontsize)unitsz3For units of inches or points a fig kwarg is neededinches)r   r   r   r   offset_copyr   r+   r(   test_offset_copy_errorsrM  .  s    	zP
Q 
Q 	J7
Q
 
zR
T 
TH5
T 
T
Q 
Q

T 
T 
Ts   B*B B	 B1	c                     \        \        P                  ! 4       \        4       P	                  ^4      4      p V P                  RR4      '       g   Q hV P                  R
R4      '       g   Q hV P                  RR4      '       d   Q h\        \        P                  ! 4       \        4       P                  RR4      4      p V P                  RR4      '       g   Q hV P                  RR4      '       d   Q hV P                  RR4      '       d   Q hR	# )   r  r   g333333?r  g      ?rk   rj   r  Ngٿ)r
   r	   r+  r   rN   containsru   fully_contains)bbs    r(   test_transformedbbox_containsrS  9  s    	hj&;&;B&?	@B;;r2;;sC    {{2r""""	hj&:&:3&C	DB;;tS!!!!  s++++  R(((((r+   c                  z   \         P                  ! RR4      '       g   Q h\         P                  ! R^ 4      '       g   Q h\         P                  ! R^4      '       g   Q h\         P                  ! RR4      '       d   Q h\         P                  ! R^4      '       d   Q h\         P                  ! RR4      '       g   Q hR# r   r   Nr  rH   r  )r   interval_containsr   r+   r(   test_interval_containsrW  D  s    ((5555((3333((3333,,VR8888,,VQ7777((5555r+   c                  z   \         P                  ! RR4      '       g   Q h\         P                  ! R^ 4      '       d   Q h\         P                  ! R^4      '       d   Q h\         P                  ! RR4      '       d   Q h\         P                  ! R^4      '       d   Q h\         P                  ! RR4      '       g   Q hR# rU  )r   interval_contains_openr   r+   r(   test_interval_contains_openrZ  M  s    --fc::::11&!<<<<11&!<<<<11&"====11&!<<<<--fc::::r+   c                     Rp \        4       p\        W4      pVP                  V 8X  g   Q hVP                  V8X  g   Q hVP                  e   Q hR# )z=Test that the ScaledRotation object is initialized correctly.r   N)r   r   _theta_trans_shift_mtx)thetatrans_shift
scaled_rots      r(   "test_scaledrotation_initializationrb  V  sP    E+K 4J%%%""k111??"""r+   c                 T   \         P                  ^,          p \        \        V ^ ..R7      R7      p\        W4      pRVn        VP                  4       pVP                  P                  V ^ ..4       \         P                  ! ^ R.^^ ..4      pVf   Q h\        VR,          VRR7       R# )	zCTest get_matrix when the matrix is invalid and needs recalculation.)return_valuer   TNr  r  rH   )Nr   Nre  )
r"   rM   r   r   r   r;   rO   assert_called_once_withr#   r   )r_  r`  ra  matrixexpected_rotations        r(   &test_scaledrotation_get_matrix_invalidri  `  s    EEAIEiuaj\&JKK 4JJ""$F11E1:,?1b'#$q'"+ ,F6N$5EBr+   r&  )Fr   numpyr"   numpy.testingr   r   r   r   r   
matplotlibr   matplotlib.pyplotpyplotr   matplotlib.patchespatchesr  matplotlib.transforms
transformsr   r   r	   r
   r   matplotlib.pathr   matplotlib.testing.decoratorsr   r   unittest.mockr   r   r   r   r   r  r#  r'  r)  r9  r=  rA  rU  r   rW  r`  r  r  r  r  r  r  r  r  r   r  r  r  r!  markparametrizer3  r9  rG  rM  rS  rW  rZ  rb  ri  r   r+   r(   <module>rx     sz    J J    % + R R   O #D; D;N
2 22#LC$ '(d' I IF;	;	;&"*JK-4{,, 4,I4 I4XZN ZNz33=,	5/8d#3$0 ,J" )+CD< E<B& (
  )
 6)6;#Cr+   