~;kUdZddlmZddlmZmZmZmZmZm Z ddl Z ddl Z ddl mZddlmZGddeZeejejje jZeejejjeeejejjeeejddedZe jd ee ddZe jd ee ddZ e jd ee ddZ!e jd ee ddZ"ddZ#ej$e j%dfej&e j'dfej(e j'dfej)dgfdZ*de+d<e jde*,e* GddZ-dS)z)Test the runtime usage of `numpy.typing`.) annotations)get_type_hintsUnion NamedTupleget_args get_originAnyNc.eZdZUded<ded<ded<dS)TypeTuptypetypztuple[type, ...]argsz None | typeoriginN)__name__ __module__ __qualname____annotations__s/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/numpy/typing/tests/test_runtime.pyr r s3 IIIrr r) ArrayLike DTypeLikeNBitBaseNDArrayzname,tup)idsnamer tupreturnNonecP|j|j}}t|}||ksJdS)zTest `typing.get_args`.N)r rrrrr refouts r test_get_argsr$$s-wC 3--C #::::::rcP|j|j}}t|}||ksJdS)zTest `typing.get_origin`.N)r rrr!s rtest_get_originr&,s-w C S//C #::::::rc|j}d}|dd|_t|}|tdd}||ksJdS)zTest `typing.get_type_hints`.cdSNras rfuncz!test_get_type_hints..func;rNr+rr rrr )rrr r,r#r"s rtest_get_type_hintsr04sW 'C!$55D   CtDzz * *C #::::::rcd||j}}d}|dd|_t|}|tdd}||ksJdS)zATest `typing.get_type_hints` with string-representation of types.znpt.cdSr)rr*s rr,z%test_get_type_hints_str..funcJr-rNr.r/)rrtyp_strr r,r#r"s rtest_get_type_hints_strr4Csa!$==#'SG!(D99D   CtDzz * *C #::::::rczt}ttj}||ksJdS)zCTest that ``TYPES.keys()`` and ``numpy.typing.__all__`` are synced.N)TYPESkeyssetnpt__all__)r7r"s r test_keysr;Rs/ ::<pytestxfail issubclassr rKs rtest_issubclassz#TestRuntimeProtocol.test_issubclassgsg $% % % LN   $s))S)))))d4jj#.......rN)rErFrGrHrr)rrrrMrSrrrrDrDas<))))//////rrD)rr rr rr)rr).__doc__ __future__rtypingrrrrrr rPnumpynp numpy.typingr9 numpy._typing_typingrOr r__args__ndarray NDArrayTuprrrr6mark parametrizeitemsr7r$r&r0r4r;r>int64r?aranger@rArBrvaluesrDrrrresZ///"""""" j WS[#+"6 C C  (>FF (>FF b$//   U[[]] EEFEU[[]] EEFEU[[]] EE   FE U[[]] EE   FE *HBHQKK8*IBIbMM:2IBIbMMB,qc2 22 I$4$4$6$6INN