
    daf                     P   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mZ  G d d      Zd Z G d	 d
      Z G d dee j8                        Z G d dee j8                        Zedk(  r e j@                          yy)    N)import_helper)warnings_helper	_testcapi)_test_structmembersType_OldAPI_test_structmembersType_NewAPI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y)Indexc                     || _         y Nvalue)selfr   s     </root/Python-3.12.4/Lib/test/test_capi/test_structmembers.py__init__zIndex.__init__   s	    
    c                     | j                   S r   r   r   s    r    	__index__zIndex.__index__   s    zzr"   N)__name__
__module____qualname__r!   r%    r"   r    r   r      s    r"   r   c                 *     | ddddddddd	d
ddd      S )NF                           grt#@g3$@hir)   )clss    r    _make_test_objectr6      s5    u r"   c                   l    e Zd 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d Zd Zd Zy)ReadWriteTestsc                 8    t        | j                        | _        y r   )r6   r5   tsr$   s    r    setUpzReadWriteTests.setUp-   s    #DHH-r"   Nc                 v    ||}| j                   }t        |||       | j                  t        ||      |       y r   )r:   setattrassertEqualgetattrr   namer   expectedr:   s        r    _test_writezReadWriteTests._test_write0   s9    HWWD% T*H5r"   c                     | j                   }| j                  t        t        |||       || j	                  t        ||      |       y y r   )r:   assertWarnsRuntimeWarningr=   r>   r?   r@   s        r    
_test_warnzReadWriteTests._test_warn7   sC    WW"dEBWR.9  r"   c                 V    | j                   }| j                  t        t        |||       y r   )r:   assertRaisesOverflowErrorr=   )r   rA   r   r:   s       r    _test_overflowzReadWriteTests._test_overflow=   s!    WW-"dEBr"   )	hardlimit
indexlimitc          	         |||f}| j                   }| j                  ||       | j                  ||       |\  }}| j                  ||dz
         | j                  ||dz          | j                  |ddz         | j                  |ddz          ||k  r(| j                  ||       | j                  ||dz
  |       ||k  r(| j                  ||dz   |       | j                  ||       |du rM| j	                  t
        t        ||t        |             | j	                  t
        t        ||t        |             y | j                  |t        |      |       | j                  |t        |      |       | j                  |t        |dz
               | j                  |t        |dz                | j                  |t        ddz               | j                  |t        ddz                ||k  r:| j                  |t        |             | j                  |t        |dz
        |       ||k  r;| j                  |t        |dz         |       | j                  |t        |             y y )Nr+   r,   i  F)r:   rC   rK   rG   rI   	TypeErrorr=   r   )	r   rA   minvalmaxvalrL   rM   r:   
hardminval
hardmaxvals	            r    _test_int_rangezReadWriteTests._test_int_rangeA   s"   (IWWv&v&!*
JD*Q,/D*Q,/D!T'*D1d7(+OOD*-OOD&(F3JOOD&(F3OOD*-i"dE&MJi"dE&MJT5=&9T5=&9eJqL&9:eJqL&9:eAtGn5eQWHo6F"eJ&78eF1Hov>
"eF1Hov>eJ&78 #r"   c                 V   | j                   }d|_        | j                  |j                  d       d|_        | j                  |j                  d       | j                  t        t
        |dd       | j                  t        t
        |dd       | j                  t        t
        |dd        y )NTFT_BOOLr+   r   )r:   rV   assertIsrI   rO   r=   r   r:   s     r    	test_boolzReadWriteTests.test_boole   s    WW	bii&	bii')Wb(A>)Wb(A>)Wb(DAr"   c                     | j                  dt        t        t        t        f       | j                  ddt
        t        t        f       y )NT_BYTErL   T_UBYTEr   )rT   r	   r   r   r   r
   r$   s    r    	test_bytezReadWriteTests.test_byteo   sD    Xx(0('; 	 	=Y9(0('; 	 	=r"   c                     | j                  dt        t        t        t        f       | j                  ddt
        t        t        f       y )NT_SHORTr\   T_USHORTr   )rT   r   r   r   r   r   r$   s    r    
test_shortzReadWriteTests.test_shortu   sD    Y((0('; 	 	=ZI(0('; 	 	=r"   c                     | j                  dt        t        t        t        f       | j                  ddt
        t        t        f       y )NT_INTr\   T_UINTr   )rT   r   r   r   r   r   r   r$   s    r    test_intzReadWriteTests.test_int{   sD    Wgw(0('; 	 	=Xq((0)'< 	 	>r"   c                     | j                  dt        t               | j                  ddt        t        t        f       y )NT_LONGT_ULONGr   r\   )rT   r   r   r   r$   s    r    	test_longzReadWriteTests.test_long   s5    Xx:Y9(0)'< 	 	>r"   c                 >    | j                  dt        t        d       y )N
T_PYSSIZETF)rM   )rT   r   r   r$   s    r    test_py_ssize_tzReadWriteTests.test_py_ssize_t   s    \>>V[\r"   c                     | j                  dt        t               | j                  ddt        t        t        f       y )N
T_LONGLONGT_ULONGLONGr   r\   )rT   r   r   r   r   r$   s    r    test_longlongzReadWriteTests.test_longlong   s5    \9i@]Az(0*'= 	 	?r"   c           	          | j                   }g d}d ddi g fD ]&  }|D ]  }| j                  t        t        |||       ! ( y )N)rV   r[   r]   r`   ra   rd   re   rh   ri   ro   rp   rl   y        	@zfull of eels)r:   rI   rO   r=   )r   r:   integer_attributesnonintattrs        r    test_bad_assignmentsz#ReadWriteTests.test_bad_assignments   sX    WW D."b8 	HF* H!!)Wb$GH	Hr"   c                     | j                   }| j                  |j                  d       | j                  t        t
        |dd       | j                  t        t        |d       y )Nr4   T_STRING_INPLACEs)r:   r>   rx   rI   rO   r=   delattrrX   s     r    test_inplace_stringz"ReadWriteTests.test_inplace_string   sM    WW,,d3)Wb2DcJ)Wb2DEr"   r   )r&   r'   r(   r;   rC   rG   rK   rT   rY   r^   rb   rf   rj   rm   rq   rv   r{   r)   r"   r    r8   r8   ,   sX    .6:C BF#'"9HB==>>
]?
H$Fr"   r8   c                       e Zd ZeZy)ReadWriteTests_OldAPIN)r&   r'   r(   r   r5   r)   r"   r    r}   r}          
(Cr"   r}   c                       e Zd ZeZy)ReadWriteTests_NewAPIN)r&   r'   r(   r   r5   r)   r"   r    r   r      r~   r"   r   __main__)!unittesttest.supportr   r   import_moduler   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   r8   TestCaser}   r   r&   mainr)   r"   r    <module>r      s     & (   K (      "xF xFt)NH,=,= ))NH,=,= ) zHMMO r"   