zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
U
P±d  ã@sUdZddlmZddlZddlmZmZmZmZm    Z    m
Z
ddl Z ddl Z ddlmZddlmZGdd„deƒZejdkr’eejejje jƒZneejddƒZeejejjeƒeejejjeƒeejddƒed    œZe jjd
e ¡e  ¡d d dd dœdd„ƒZ!e jjd
e ¡e  ¡d d dd dœdd„ƒZ"e jjd
e ¡e  ¡d d dd dœdd„ƒZ#e jjd
e ¡e  ¡d d dd dœdd„ƒZ$d dœdd„Z%ej&e  'd¡fej(e  )d¡fej*e  )d¡fej+dgfdœZ,de-d<e jjde, .¡e,  ¡d Gd d!„d!ƒƒZ/dS)"z)Test the runtime usage of `numpy.typing`.é)Ú annotationsN)Úget_type_hintsÚUnionÚ
NamedTupleÚget_argsÚ
get_originÚAnyc@s&eZdZUded<ded<ded<dS)ÚTypeTupÚtypeÚtypztuple[type, ...]Úargsz None | typeÚoriginN)Ú__name__Ú
__module__Ú __qualname__Ú__annotations__©rrúVd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/typing/tests/test_runtime.pyr    s
r    )éé    r)Ú    ArrayLikeÚ    DTypeLikeÚNBitBaseÚNDArrayzname,tup)Úidsr
ÚNone)ÚnameÚtupÚreturncCs&|j|j}}t|ƒ}||ks"t‚dS)zTest `typing.get_args`.N)r r rÚAssertionError©rrr ÚrefÚoutrrrÚ test_get_args(sr#cCs&|j|j}}t|ƒ}||ks"t‚dS)zTest `typing.get_origin`.N)r r rrr rrrÚtest_get_origin0sr$cCs@|j}dd„}|ddœ|_t|ƒ}|tdƒdœ}||ks<t‚dS)zTest `typing.get_type_hints`.cSsdS©Nr©ÚarrrÚfunc?óz!test_get_type_hints.<locals>.funcN©r'r©r rrr
r)rrr r(r"r!rrrÚtest_get_type_hints8s  r,cCsLd|›|j}}dd„}|ddœ|_t|ƒ}|tdƒdœ}||ksHt‚dS)zATest `typing.get_type_hints` with string-representation of types.znpt.cSsdSr%rr&rrrr(Nr)z%test_get_type_hints_str.<locals>.funcNr*r+)rrZtyp_strr r(r"r!rrrÚtest_get_type_hints_strGs  r-)rcCs"t ¡}ttjƒ}||kst‚dS)zCTest that ``TYPES.keys()`` and ``numpy.typing.__all__`` are synced.N)ÚTYPESÚkeysÚsetÚnptÚ__all__r)r/r!rrrÚ    test_keysVs
r3éé
)Ú_SupportsDTypeÚ_SupportsArrayÚ_SupportsArrayFuncÚ_NestedSequencez#dict[str, tuple[type[Any], object]]Ú    PROTOCOLSzcls,objc@s0eZdZddddœdd„Zddddœdd„Zd    S)
ÚTestRuntimeProtocolz    type[Any]Úobjectr)ÚclsÚobjrcCs t||ƒst‚td|ƒrt‚dSr%)Ú
isinstancer©Úselfr=r>rrrÚtest_isinstancegsz#TestRuntimeProtocol.test_isinstancecCs<|tjkrt d¡tt|ƒ|ƒs&t‚ttdƒ|ƒr8t‚dS)Nz<Protocols with non-method members don't support issubclass())Ú_nptr6ÚpytestZxfailÚ
issubclassr
rr@rrrÚtest_issubclassks 
ÿz#TestRuntimeProtocol.test_issubclassN)rrrrBrFrrrrr;esr;)0Ú__doc__Ú
__future__rÚsysÚtypingrrrrrrrDÚnumpyÚnpZ numpy.typingr1Z numpy._typingÚ_typingrCr    Ú version_inforÚ__args__ZndarrayZ
NDArrayTuprrrr.ÚmarkZ parametrizeÚitemsr/r#r$r,r-r3r6Úint64r7Zaranger8r9r:rÚvaluesr;rrrrÚ<module>s@        
 ü
ü