
    daf#                         d dl Z d dlmZ  ej                  d      Zd dlmZmZ dZ G d de      Z	 G d d      Z
 G d	 d
e j                        Zedk(  r e j                          yy)    N)import_helper	_testcapi)PY_SSIZE_T_MINPY_SSIZE_T_MAXc                       e Zd Zy)ByteArraySubclassN)__name__
__module____qualname__     8/root/Python-3.12.4/Lib/test/test_capi/test_bytearray.pyr   r   	   s    r   r   c                       e Zd Zd Zd Zy)	BytesLikec                     || _         y Nvalue)selfr   s     r   __init__zBytesLike.__init__   s	    
r   c                     | j                   S r   r   )r   s    r   	__bytes__zBytesLike.__bytes__   s    zzr   N)r	   r
   r   r   r   r   r   r   r   r      s    r   r   c                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
CAPITestc                    t         j                  }| j                   |t        d                   | j	                   |d             | j                   |t        d                   | j	                   |t        d                   | j	                   |d             | j	                   |g              | j	                   |t                            y N   abc   )r   bytearray_check
assertTrue	bytearrayassertFalser   r   objectr   checks     r   
test_checkzCAPITest.test_check   s    ))i/01v'/789y012q"r#vx)r   c                    t         j                  }| j                   |t        d                   | j	                   |d             | j	                   |t        d                   | j	                   |t        d                   | j	                   |d             | j	                   |g              | j	                   |t                            y r   )r   bytearray_checkexactr    r!   r"   r   r   r#   r$   s     r   test_checkexactzCAPITest.test_checkexact!   s    ..i/01v'089:y012q"r#vx)r   c                    t         j                  }| j                   |d      t        d             | j                   |dd      t        d             | j                   |d      t        d             | j                   |dd      t                      | j                   |t        d      t                      | j                  t         |t        d            d       | j                  t        |t        t               | j                  t        |dd       | j                  t        |dt               | j                  t        |t        d       | j                  t        |t        t               y )	Nr      s   ab   abc defr   r   r   )r   bytearray_fromstringandsizeassertEqualr!   NULLlenassertRaisesMemoryErrorr   SystemErrorr   )r   fromstringandsizes     r   test_fromstringandsizezCAPITest.test_fromstringandsize.   s   %AA*62If4EF*615y7GH*;7;9OP*32IK@*43Y[A.tQ78!<+'8$O+'8&"E+'8&.Q+'8$C+'8$Or   c                 B   t         j                  }| j                   |d      t        d             | j                   |t        d            t        d             | j                   |t	        d            t        d             | j                   |g d      t        d             | j                   |d      t        d             | j                  t        |t        d             | j                  t        |d       | j                  t        |t                      y )Nr   )a   b   c   r   s      abc)	r   bytearray_fromobjectr/   r!   r   r2   	TypeErrorr   r#   )r   
fromobjects     r   test_fromobjectzCAPITest.test_fromobject?   s    33
F+Yv->?If$56	&8IJ$5f$=>	&@QRL19V3DEA	)(<=)Z61BC)Z7)Z:r   c                     t         j                  }| j                   |t        d            d       | j                   |t	        d            d       y r   )r   bytearray_sizer/   r!   r   )r   sizes     r   	test_sizezCAPITest.test_sizeN   sB    ''i/0!4/78!<r   c                     t         j                  }| j                   |t        d      d      d       | j                   |t	        d      d      d       | j                   |t        d      d      d       y)zTest PyByteArray_AsString()r      s   abc r,      s   abc def N)r   bytearray_asstringr/   r!   r   )r   asstrings     r   test_asstringzCAPITest.test_asstringY   sb    //)F"3Q7B"3F";Q?J)K"8!<mLr   c           	         t         j                  }t        d      }| j                   ||d      t        d             | j                  |d       | j                   |dd      t        d             | j                   |dd      t        d             | j                   |t        d      d      t        d             | j                   |dt        d            t        d             | j                   |t        d      d      t        d             | j                   |dt        d            t        d             | j                   |t	        d      d	d
 d      t        d             | j                   |dt	        d      d	d
       t        d             | j                  t        |t	        d      ddd   d       | j                  t        |dt	        d      ddd          | j                  t        |dd       | j                  t        |dd       | j                  t        |dd       | j                  t        |g d       | j                  t        |dg        | j                  t        |g g        y)zTest PyByteArray_Concat()r   s   def   abcdefs   a bs   c ds   a bc dr   s   xabcy   rE   s   xdefys   axbyczNr+   s   dxeyfzdefr;   )r   bytearray_concatr!   r/   
memoryviewr2   r=   )r   concatbas      r   test_concatzCAPITest.test_concate   s   ++vF+Yy-ABV$/91EF19[3IJ	& 16:Ii<PQ	&(9:Ii<PQ	& 13769JKYv%6769JK
8 4Qq 96B"9-	/
8(<Qq(AB"9-	/ 	)VZ	-B3Q3-GP)VVZ	5J3Q35OP)VVU;)VUF;)VUE:)VR8)VVR8)VR4r   c                 `   t         j                  }t        d      }| j                   ||d      d       | j                  |t        d             | j                   ||d      d       | j                  t	        |      d       | j                  |dd t        d             | j                   ||d      d       | j                  t	        |      d       | j                  |dd t        d             | j                   ||d      d       | j                  |t                      t        d      }| j                   ||d      d       | j                  |t        d             | j                  t        |t               t               | j                  t        |t        d      t               y)	zTest PyByteArray_Resize()rK   r   r   r   
   Ni   i  )	r   bytearray_resizer!   r/   r1   r   r2   r3   r   )r   resizerQ   s      r   test_resizezCAPITest.test_resize   sX   ++y!A*Yv./B+R"%BQ6!23E*A.R%(BQ6!23A*Y[)y)A*Yv./+vy{NK+vyOr   N)r	   r
   r   r&   r)   r6   r?   rC   rI   rR   rW   r   r   r   r   r      s.    	*	*P";=M5BPr   r   __main__)unittesttest.supportr   import_moduler   r   r   r0   r!   r   r   TestCaser   r	   mainr   r   r   <module>r^      sl     &'M''4	 4		 	 HPx   HP` zHMMO r   