U
    b	                     @  s  d Z ddlmZ ddlZddlmZmZmZmZm	Z	 ddl
Z
ddlZddlmZ G dd deZejdkreejejjejZneejddZeejejjeeejejjeeejdded	Ze
jjd
e e dddddddZe
jjd
e e dddddddZe
jjd
e e dddddddZe
jjd
e e dddddddZ ddddZ!dS )z)Test the runtime usage of `numpy.typing`.    )annotationsN)get_type_hintsUnion
NamedTupleget_args
get_originc                   @  s&   e Zd ZU ded< ded< ded< dS )TypeTuptypetypztuple[type, ...]argszNone | typeoriginN)__name__
__module____qualname____annotations__ r   r   _/home/fireinfo/NEWAFireInfo/venv/lib/python3.8/site-packages/numpy/typing/tests/test_runtime.pyr      s   
r   )   	   r   )	ArrayLike	DTypeLikeNBitBaseNDArrayzname,tup)idsr	   None)nametupreturnc                 C  s&   |j |j }}t|}||ks"tdS )zTest `typing.get_args`.N)r
   r   r   AssertionErrorr   r   r
   refoutr   r   r   test_get_args    s    r"   c                 C  s&   |j |j }}t|}||ks"tdS )zTest `typing.get_origin`.N)r
   r   r   r   r   r   r   r   test_get_origin(   s    r#   c                 C  s@   |j }dd }|dd|_t|}|tdd}||ks<tdS )zTest `typing.get_type_hints`.c                 S  s   d S Nr   ar   r   r   func7       z!test_get_type_hints.<locals>.funcNr&   r   r
   r   r   r	   r   )r   r   r
   r'   r!   r    r   r   r   test_get_type_hints0   s    r+   c                 C  sL   d|  |j  }}dd }|dd|_t|}|tdd}||ksHtdS )zATest `typing.get_type_hints` with string-representation of types.znpt.c                 S  s   d S r$   r   r%   r   r   r   r'   F   r(   z%test_get_type_hints_str.<locals>.funcNr)   r*   )r   r   Ztyp_strr
   r'   r!   r    r   r   r   test_get_type_hints_str?   s    r,   )r   c                  C  s"   t  } ttj}| |kstdS )zCTest that ``TYPES.keys()`` and ``numpy.typing.__all__`` are synced.N)TYPESkeyssetnpt__all__r   )r.   r    r   r   r   	test_keysN   s    
r2   )"__doc__
__future__r   systypingr   r   r   r   r   ZpytestZnumpynpZnumpy.typingr0   r   version_infor   __args__ZndarrayZ
NDArrayTupr   r   r   r-   markZparametrizeitemsr.   r"   r#   r+   r,   r2   r   r   r   r   <module>   s0   
