
    7\hX                     2   d dl Z d dlmZ d dlmZ  ej        d           d dlmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZ  G d d          Z edd	d
dddddddddd          Z G d de j                  Zedk    r e j                     dS dS )    N)import_helper)warnings_helper	_testcapi)_test_structmembersTypeCHAR_MAXCHAR_MIN	UCHAR_MAXSHRT_MAXSHRT_MIN	USHRT_MAXINT_MAXINT_MINUINT_MAXLONG_MAXLONG_MIN	ULONG_MAX	LLONG_MAX	LLONG_MIN
ULLONG_MAXPY_SSIZE_T_MAXPY_SSIZE_T_MINc                       e Zd Zd Zd ZdS )Indexc                     || _         d S Nvalue)selfr   s     K/opt/python-3.11.14/usr/lib/python3.11/test/test_capi/test_structmembers.py__init__zIndex.__init__   s    


    c                     | j         S r   r   r   s    r   	__index__zIndex.__index__   s
    zr!   N)__name__
__module____qualname__r    r$    r!   r   r   r      s2              r!   r   F                           grt#@g3$@hic                       e Zd ZddZddZd ZddddZd Zd Zd	 Z	d
 Z
d Zd Z ej         eed          d          d             Zd Zd ZdS )ReadWriteTestsNc                     ||}t          t          ||           |                     t          t          |          |           d S r   )setattrtsassertEqualgetattrr   namer   expecteds       r   _test_writezReadWriteTests._test_write(   sE    HD%   T**H55555r!   c                     |                      t          t          t          ||           |+|                     t          t          |          |           d S d S r   )assertWarnsRuntimeWarningr6   r7   r8   r9   r:   s       r   
_test_warnzReadWriteTests._test_warn.   sR    "dEBBBWR..99999  r!   c                 V    |                      t          t          t          ||           d S r   )assertRaisesOverflowErrorr6   r7   )r   r;   r   s      r   _test_overflowzReadWriteTests._test_overflow3   s$    -"dEBBBBBr!   )	hardlimit
indexlimitc          	         |||f}|                      ||           |                      ||           |\  }}|                     ||dz
             |                     ||dz              |                     |ddz             |                     |ddz              ||k     r0|                     ||           |                     ||dz
  |           ||k     r0|                     ||dz   |           |                     ||           |du rl|                     t          t
          t          |t          |                     |                     t          t
          t          |t          |                     d S |                      |t          |          |           |                      |t          |          |           |                     |t          |dz
                       |                     |t          |dz                        |                     |t          ddz                       |                     |t          ddz                        ||k     rJ|                     |t          |                     |                     |t          |dz
            |           ||k     rL|                     |t          |dz             |           |                     |t          |                     d S d S )Nr)   r*   i  F)r=   rE   rA   rC   	TypeErrorr6   r7   r   )r   r;   minvalmaxvalrF   rG   
hardminval
hardmaxvals           r   _test_int_rangezReadWriteTests._test_int_range6   s   (Iv&&&v&&&!*
JD*Q,///D*Q,///D!T'***D1d7(+++OOD*---OOD&(F333JOOD&(F333OOD*---i"dE&MMJJJi"dE&MMJJJJJT5==&999T5==&999eJqL&9&9:::eJqL&9&9:::eAtGnn555eQWHoo666F""eJ&7&7888eF1Hoov>>>
""eF1Hoov>>>eJ&7&788888 #"r!   c                    dt           _        |                     t           j        d           dt           _        |                     t           j        d           |                     t          t
          t           dd           |                     t          t
          t           dd           |                     t          t
          t           dd            d S )NTFT_BOOLr)   r   )r7   rP   assertIsrC   rI   r6   r#   s    r   	test_boolzReadWriteTests.test_boolY   s    	bi&&&	bi''')Wb(A>>>)Wb(A>>>)Wb(DAAAAAr!   c                     |                      dt          t          t          t          f           |                      ddt
          t          t          f           d S )NT_BYTErF   T_UBYTEr   )rN   r   r   r   r   r	   r#   s    r   	test_bytezReadWriteTests.test_byteb   sb    Xx(0('; 	 	= 	= 	=Y9(0('; 	 	= 	= 	= 	= 	=r!   c                     |                      dt          t          t          t          f           |                      ddt
          t          t          f           d S )NT_SHORTrU   T_USHORTr   )rN   r   r
   r   r   r   r#   s    r   
test_shortzReadWriteTests.test_shorth   sb    Y((0('; 	 	= 	= 	=ZI(0('; 	 	= 	= 	= 	= 	=r!   c                     |                      dt          t          t          t          f           |                      ddt
          t          t          f           d S )NT_INTrU   T_UINTr   )rN   r   r   r   r   r   r   r#   s    r   test_intzReadWriteTests.test_intn   sb    Wgw(0('; 	 	= 	= 	=Xq((0)'< 	 	> 	> 	> 	> 	>r!   c                     |                      dt          t                     |                      ddt          t          t          f           d S )NT_LONGT_ULONGr   rU   )rN   r   r   r   r#   s    r   	test_longzReadWriteTests.test_longt   sO    Xx:::Y9(0)'< 	 	> 	> 	> 	> 	>r!   c                 L    |                      dt          t          d           d S )N
T_PYSSIZETF)rG   )rN   r   r   r#   s    r   test_py_ssize_tzReadWriteTests.test_py_ssize_ty   s&    \>>V[\\\\\r!   
T_LONGLONGzlong long not presentc                     |                      dt          t                     |                      ddt          t          t          f           d S )Nrg   T_ULONGLONGr   rU   )rN   r   r   r   r   r#   s    r   test_longlongzReadWriteTests.test_longlong|   sO    \9i@@@]Az(0*'= 	 	? 	? 	? 	? 	?r!   c           	      |    g d}d ddi g fD ]/}|D ]*}|                      t          t          t          ||           +0d S )N)rP   rT   rV   rY   rZ   r]   r^   ra   rb   rg   ri   re   y        	@zfull of eels)rC   rI   r6   r7   )r   integer_attributesnonintattrs       r   test_bad_assignmentsz#ReadWriteTests.test_bad_assignments   st       D."b8 	H 	HF* H H!!)Wb$GGGGH	H 	Hr!   c                     |                      t          j        d           |                     t          t
          t          dd           |                     t          t          t          d           d S )Nr2   T_STRING_INPLACEs)r8   r7   rq   rC   rI   r6   delattrr#   s    r   test_inplace_stringz"ReadWriteTests.test_inplace_string   sY    ,d333)Wb2DcJJJ)Wb2DEEEEEr!   r   )r%   r&   r'   r=   rA   rE   rN   rR   rW   r[   r_   rc   rf   unittest
skipUnlesshasattrr7   rj   ro   rt   r(   r!   r   r4   r4   &   s1       6 6 6 6: : : :
C C C BF#'!9 !9 !9 !9 !9FB B B= = == = => > >> > >
] ] ] X\224KLL? ? ML?
H H H"F F F F Fr!   r4   __main__)ru   test.supportr   r   import_moduler   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   TestCaser4   r%   mainr(   r!   r   <module>r}      s    & & & & & & ( ( ( ( ( (  K ( ( (# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #        5!' pF pF pF pF pFX& pF pF pFf zHMOOOOO r!   