o
    e                     @  s   d dl mZ d dlZd dlZd dlmZmZmZ d dlZd dl	Z	d dl
Zd dl
mZ ejr3d dlmZ edZe	jdg ddddZd ddZd ddZd ddZd ddZd ddZd ddZdS )!    )annotationsN)AnyCallableTypeVar)_api)SelfTztarget,shape_repr,test_shape))Nz(N,))      )Nr   (N, 3))r
   )r   r   )r
      ))r
      z(1, 5))r
   	   ))Nr   Nz	(M, 2, N))r
   r   r
   targettuple[int | None, ...]
shape_reprstr
test_shapetuple[int, ...]returnNonec              	   C  sp   dt dt|  d| d|  }t|}tjt|d tj	| |d W d    d S 1 s1w   Y  d S )N^z'aardvark' must be zD with shape z, but your input has shape match)aardvark)
reescapelennpzerospytestraises
ValueErrorr   check_shape)r   r   r   error_patterndata r(   H/var/www/myenv/lib/python3.10/site-packages/matplotlib/tests/test_api.pytest_check_shape   s   

"r*   c                  C  s~   G dd d} t tj | j W d    n1 sw   Y  t tj |  }|j W d    d S 1 s8w   Y  d S )Nc                   @  s&   e Zd Zedejd	ddZdS )
z)test_classproperty_deprecation.<locals>.Az0.0.0clsr   r   r   c                 S     d S r	   r(   )r+   r(   r(   r)   f(   s   z+test_classproperty_deprecation.<locals>.A.fN)r+   r   r   r   )__name__
__module____qualname__r   
deprecatedclasspropertyr-   r(   r(   r(   r)   A'   s    r3   )r"   warnsmplMatplotlibDeprecationWarningr-   )r3   ar(   r(   r)   test_classproperty_deprecation&   s   "r8   c                  C  s   G dd d} |  }t tj |jdksJ W d    n1 s"w   Y  t tj d|_W d    n1 s;w   Y  t tj |jdksNJ W d    n1 sXw   Y  t tj |ddksmJ W d    d S 1 sxw   Y  d S )Nc                   @  sF   e Zd ZU dddZdddZed	Zd
ed< ed	Z	ded< dS )z-test_deprecate_privatize_attribute.<locals>.Cr   r   c                 S  s
   d| _ d S )Nr
   )_attr)selfr(   r(   r)   __init__5   s   
 z6test_deprecate_privatize_attribute.<locals>.C.__init__argr   c                 S  s   |S r	   r(   )r:   r<   r(   r(   r)   _meth6   s    z3test_deprecate_privatize_attribute.<locals>.C._methz0.0intattrr   methNr   r   )r<   r   r   r   )
r.   r/   r0   r;   r=   r   deprecate_privatize_attributer?   __annotations__r@   r(   r(   r(   r)   C4   s
   
 

rD   r
   r   *   )r"   r4   r5   r6   r?   r@   )rD   cr(   r(   r)   "test_deprecate_privatize_attribute3   s   "rG   c               	     s   t dddddd t dddd	d
}  | fD ] }|  ttj |dd W d    n1 s6w   Y  qt jjfd fdd}|  ttj |dd W d    d S 1 saw   Y  d S )N3.0foor   r   r   c                 S  r,   r	   r(   rI   r(   r(   r)   func1F      z$test_delete_parameter.<locals>.func1kwargsc                  [  r,   r	   r(   )rM   r(   r(   r)   func2J   rL   z$test_delete_parameter.<locals>.func2barrJ   c                   s    |  d S r	   r(   rJ   rK   r(   r)   pyplot_wrapperS   s   z-test_delete_parameter.<locals>.pyplot_wrapperr	   )rI   r   r   r   )rM   r   r   r   )r   delete_parameterr"   r4   r5   r6   deprecation_deprecated_parameter)rN   funcrQ   r(   rP   r)   test_delete_parameterE   s   

"rV   c                  C  s   t dddddd	} | d
dd ttj | d
d W d    n1 s(w   Y  ttj | d
dd W d    d S 1 sEw   Y  d S )NrH   r<   prer   postr   r   c                 S  r,   r	   r(   )rW   r<   rX   r(   r(   r)   rU   \   rL   z$test_make_keyword_only.<locals>.funcr
   r   )r<   r   r	   )rW   r   r<   r   rX   r   r   r   )r   make_keyword_onlyr"   r4   r5   r6   )rU   r(   r(   r)   test_make_keyword_only[   s   
"rZ   c                  C  sB   d} t jd| dd	dd}|jd u rtd | |jv sJ d S )
Nz)`.f1`, `f2`, `f3(x) <.f3>` or `f4(x)<f4>`1)alternativer   r   c                   S  r,   r	   r(   r(   r(   r(   r)   r-   j   rL   z'test_deprecation_alternative.<locals>.fzDocumentation is disabledrA   )r   r1   __doc__r"   skip)r\   r-   r(   r(   r)   test_deprecation_alternativeh   s   

r_   c                   C  s@   t jtdd tdg W d    d S 1 sw   Y  d S )NzNo argument to check!r   r7   )r"   r#   	TypeErrorr   check_in_listr(   r(   r(   r)   test_empty_check_in_listr   s   "rb   )r   r   r   r   r   r   r   r   rA   )
__future__r   r   typingr   r   r   numpyr    r"   
matplotlibr5   r   TYPE_CHECKINGtyping_extensionsr   r   markparametrizer*   r8   rG   rV   rZ   r_   rb   r(   r(   r(   r)   <module>   s*    





