o
    GXîhì2  ã                   @   sF   d dl Z d dlmZ d dlZG dd„ de jƒZedkr!e  ¡  dS dS )é    N)Ú	os_helperc                   @   sô   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Zd3d4„ Zd5d6„ Zd7d8„ Zd9d:„ Zd;S )<ÚBoolTestc                 C   sH   z
G dd„ dt ƒ}W n	 ty   Y nw |  d¡ |  ttjt d¡ d S )Nc                   @   s   e Zd ZdS )z!BoolTest.test_subclass.<locals>.CN)Ú__name__Ú
__module__Ú__qualname__© r   r   ú8/opt/python-3.10.19/usr/lib/python3.10/test/test_bool.pyÚC   s    r	   zbool should not be subclassabler   )ÚboolÚ	TypeErrorZfailÚassertRaisesÚintÚ__new__)Úselfr	   r   r   r   Útest_subclass
   s   ÿ
zBoolTest.test_subclassc                 C   sL   |   tdƒd¡ |   tdƒd¡ |  ttdƒƒd¡ |  ttdƒƒd¡ d S ©NFÚFalseTÚTrue)ÚassertEqualÚreprÚassertIsÚeval©r   r   r   r   Ú	test_repr   s   zBoolTest.test_reprc                 C   s$   |   tdƒd¡ |   tdƒd¡ d S r   )r   Ústrr   r   r   r   Útest_str   ó   zBoolTest.test_strc                 C   óD   |   tdƒd¡ |  tdƒd¡ |   tdƒd¡ |  tdƒd¡ d S )NFr   Té   )r   r   ÚassertIsNotr   r   r   r   Útest_int   ó   zBoolTest.test_intc                 C   r   )NFç        Tç      ð?)r   Úfloatr   r   r   r   r   Ú
test_float%   r!   zBoolTest.test_floatc                 C   sD   |   tdƒd¡ |   tdƒd¡ |   tdƒd¡ |   tdƒd¡ d S )NFy                Ty      ð?        )r   Úcomplexr   r   r   r   Útest_complex+   r!   zBoolTest.test_complexc              	   C   s(  |   dd¡ |  dd¡ |   dd¡ |  dd¡ |   tdƒd¡ |  tdƒd¡ |   dd¡ |  dd¡ |   dd¡ |   tdƒd¡ |  tdƒd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |  dd¡ |   dd¡ |  dd¡ |   dd¡ |  dd¡ |   dd¡ |   dd¡ |  dd¡ |   dd¡ |  dd¡ |   dd¡ |  dd¡ |   dd¡ |   dd¡ |   dd¡ |  dd¡ |   d	d¡ |  d	d¡ |   d
d¡ |  d
d¡ |   dd¡ |  dd¡ |   dd¡ |  dd¡ |   dd¡ |  dd¡ dD ]#}dD ]}|   || t|ƒ| ¡ |  || tt|ƒ| ƒ¡ qqdD ]}dD ]ÿ}|  ||@ tt|ƒt|ƒ@ ƒ¡ |  ||B tt|ƒt|ƒB ƒ¡ |  ||A tt|ƒt|ƒA ƒ¡ |   |t|ƒ@ t|ƒt|ƒ@ ¡ |  |t|ƒ@ tt|ƒt|ƒ@ ƒ¡ |   |t|ƒB t|ƒt|ƒB ¡ |  |t|ƒB tt|ƒt|ƒB ƒ¡ |   |t|ƒA t|ƒt|ƒA ¡ |  |t|ƒA tt|ƒt|ƒA ƒ¡ |   t|ƒ|@ t|ƒt|ƒ@ ¡ |  t|ƒ|@ tt|ƒt|ƒ@ ƒ¡ |   t|ƒ|B t|ƒt|ƒB ¡ |  t|ƒ|B tt|ƒt|ƒB ƒ¡ |   t|ƒ|A t|ƒt|ƒA ¡ |  t|ƒ|A tt|ƒt|ƒA ƒ¡ q=q8|  ddkd¡ |  ddkd¡ |  ddk d¡ |  ddk d¡ |  ddkd¡ |  ddkd¡ |  ddkd¡ |  ddkd¡ |  ddkd¡ |  ddkd¡ |  ddkd¡ |  ddkd¡ dg}|  ||u d¡ |  ||ud¡ |  d|v d¡ |  d|v d¡ |  d|vd¡ |  d|vd¡ ddi}|  ||u d¡ |  ||ud¡ |  d|v d¡ |  d|v d¡ |  d|vd¡ |  d|vd¡ |  dd¡ |  dd¡ d S )Nr   Fr   Téÿÿÿÿéþÿÿÿé   é   r#   r"   )FT)r   r   r*   )r   r   Úabsr   r
   r   )r   ÚbÚiÚaÚxr   r   r   Ú	test_math1   s¾    þ
    $ $ $ $ $ (ñzBoolTest.test_mathc                 C   s‚   |   ttdd¡ |  tdƒd¡ |  tdƒd¡ |  tdƒd¡ |  tdƒd¡ |  tdƒd¡ |  td	ƒd¡ |  tƒ d¡ d S )
Né*   é
   Tr   r(   r   FZhelloÚ )r   r   r
   r   r   r   r   r   Útest_convertž   s   zBoolTest.test_convertc                 C   s<   |   td¡ tdd W d   ƒ d S 1 sw   Y  d S )Nzkeyword argumentr3   ©r0   )ZassertRaisesRegexr   r
   r   r   r   r   Útest_keyword_args¨   s   "ÿzBoolTest.test_keyword_argsc                 C   sD   |   dd d¡ |   dd d¡ |   dd d¡ |   dd d¡ d S )Nz%dFÚ0TÚ1z%x)r   r   r   r   r   Útest_format¬   r!   zBoolTest.test_formatc                 C   s(   |   tg dƒd¡ |   tg dƒd¡ d S )NÚappendTZwobbleF)r   Úhasattrr   r   r   r   Útest_hasattr²   ó   zBoolTest.test_hasattrc                 C   s$   |   ttƒd¡ |   tdƒd¡ d S )NTr   F)r   ÚcallableÚlenr   r   r   r   Útest_callable¶   r   zBoolTest.test_callablec                 C   sp   |   tdtƒd¡ |   tdtƒd¡ |   tdtƒd¡ |   tdtƒd¡ |   tdtƒd¡ |   tdtƒd¡ d S )NTFr   r   )r   Ú
isinstancer
   r   r   r   r   r   Útest_isinstanceº   s   zBoolTest.test_isinstancec                 C   s(   |   tttƒd¡ |   tttƒd¡ d S )NTF)r   Ú
issubclassr
   r   r   r   r   r   Útest_issubclassÂ   r>   zBoolTest.test_issubclassc                 C   s(   |   di v d¡ |   dddiv d¡ d S )Nr   FT)r   r   r   r   r   Útest_containsÆ   s   zBoolTest.test_containsc                 C   sŒ  |   d d¡d¡ |   d d¡d¡ |   d ¡ d¡ |   d ¡ d¡ |   d ¡ d¡ |   d ¡ d¡ |   d ¡ d¡ |   d ¡ d¡ |   d ¡ d¡ |   d	 ¡ d¡ |   d ¡ d¡ |   d ¡ d¡ |   d ¡ d¡ |   d ¡ d¡ |   d
 ¡ d¡ |   d ¡ d¡ |   d ¡ d¡ |   d	 ¡ d¡ |   d 	¡ d¡ |   d 	¡ d¡ |   d	 
¡ d¡ |   d 
¡ d¡ |   d d¡d¡ |   d d¡d¡ d S )NZxyzÚzTr0   FZxyz0123z@#$%Z0123ZXYZú õ   Â u   ã€€ÚX)r   ÚendswithÚisalnumÚisalphaÚisdigitÚislowerÚ	isdecimalÚ	isnumericÚisspaceÚistitleÚisupperÚ
startswithr   r   r   r   Útest_stringÊ   s0   zBoolTest.test_stringc                 C   sp   |   dd¡ |  dt¡ |  dd¡ |   dd¡ |  dt¡ |  dd¡ |   dd¡ |  dt¡ |  dd¡ d S )Nr   Tr   F)r   ZassertNotIsInstancer
   r   r   r   r   r   Útest_booleanä   s   zBoolTest.test_booleanc              	   C   sn   z/t tjddd}|  |jd¡ W d   ƒ n1 sw   Y  |  |jd¡ W t tj¡ d S t tj¡ w )NÚwzutf-8)ÚencodingFT)Úopenr   ZTESTFNr   ÚclosedÚosÚremove)r   Úfr   r   r   Útest_fileclosedñ   s   ÿzBoolTest.test_fileclosedc                 C   s4   t ttttttttt	t
fD ]
}|  t |ƒd¡ qd S )NT)r
   r&   Údictr$   r   ÚlistÚobjectÚsetr   ÚtupleÚtyper   )r   Útr   r   r   Ú
test_typesù   s
   ÿþzBoolTest.test_typesc                 C   sö   dd l }|  | d¡d¡ |  | d¡d¡ |  | d¡d¡ |  | d¡d¡ |  | g d¡d¡ |  | dgd¡d¡ |  | dd¡d¡ |  | dd¡d¡ |  | dd¡d¡ |  | dd¡d¡ |  | dd¡d¡ |  | dd¡d¡ d S )Nr   Fr   T)Úoperatorr   ÚtruthÚnot_ÚcontainsÚltÚis_Úis_not)r   rh   r   r   r   Útest_operatorÿ   s   zBoolTest.test_operatorc                 C   s<   dd l }|  | | d¡¡d¡ |  | | d¡¡d¡ d S )Nr   TF)Úmarshalr   ÚloadsÚdumps)r   rp   r   r   r   Útest_marshal  s   zBoolTest.test_marshalc              	   C   sT   dd l }t|jd ƒD ]}|  | | d|¡¡d¡ |  | | d|¡¡d¡ qd S )Nr   r   TF)ÚpickleÚrangeÚHIGHEST_PROTOCOLr   rq   rr   )r   rt   Úprotor   r   r   Útest_pickle  s
   þzBoolTest.test_picklec                 C   s   dd l }|  |jdddd¡ |  |jdddd¡ |  |jdddd¡ |  |jdddd¡ |  |jdddd	¡ |  |jdddd
¡ d S )Nr   T)Úprotocols   I01
.Fs   I00
.r   r*   s   €ˆ.s   €‰.)rt   r   rr   )r   rt   r   r   r   Útest_picklevalues  s   zBoolTest.test_picklevaluesc                    s–   ‡ fdd„}G dd„ dt ƒ}||ƒ ƒ G dd„ dt ƒ}||ƒ ƒ G dd„ dtƒ}||ƒ ƒ G d	d
„ d
tƒ}||ƒ ƒ G dd„ dƒ}ˆ  tt|ƒ ¡ d S )Nc                    s   ˆ   tt| ¡S ©N©r   r   r
   )Úor   r   r   Ú<lambda>'  s    z/BoolTest.test_convert_to_bool.<locals>.<lambda>c                   @   ó   e Zd Zdd„ ZdS )z*BoolTest.test_convert_to_bool.<locals>.Fooc                 S   ó   | S r{   r   r   r   r   r   Ú__bool__)  ó   z3BoolTest.test_convert_to_bool.<locals>.Foo.__bool__N©r   r   r   r   r   r   r   r   ÚFoo(  ó    r„   c                   @   r   )z*BoolTest.test_convert_to_bool.<locals>.Barc                 S   ó   dS )NZYesr   r   r   r   r   r   .  r‚   z3BoolTest.test_convert_to_bool.<locals>.Bar.__bool__Nrƒ   r   r   r   r   ÚBar-  r…   r‡   c                   @   r   )z*BoolTest.test_convert_to_bool.<locals>.Bazc                 S   r€   r{   r   r   r   r   r   r   3  r‚   z3BoolTest.test_convert_to_bool.<locals>.Baz.__bool__Nrƒ   r   r   r   r   ÚBaz2  r…   rˆ   c                   @   r   )z+BoolTest.test_convert_to_bool.<locals>.Spamc                 S   r†   )Nr   r   r   r   r   r   r   9  r‚   z4BoolTest.test_convert_to_bool.<locals>.Spam.__bool__Nrƒ   r   r   r   r   ÚSpam8  r…   r‰   c                   @   r   )z+BoolTest.test_convert_to_bool.<locals>.Eggsc                 S   r†   )Nr(   r   r   r   r   r   Ú__len__>  r‚   z3BoolTest.test_convert_to_bool.<locals>.Eggs.__len__N©r   r   r   rŠ   r   r   r   r   ÚEggs=  r…   rŒ   )rb   r   r   Ú
ValueErrorr
   )r   Úcheckr„   r‡   rˆ   r‰   rŒ   r   r   r   Útest_convert_to_bool#  s   



zBoolTest.test_convert_to_boolc                 C   s,   |   t dd¡d¡ |   t dd¡d¡ d S )Ns           ÚbigFs   abcdÚlittleT)r   r
   Ú
from_bytesr   r   r   r   Útest_from_bytesB  s   zBoolTest.test_from_bytesc                    sš   dD ]H‰ G ‡ fdd„dƒ}zt |ƒ ƒ W q tyJ } z*zt|ƒ ƒ W n ty? } z|  t|ƒt|ƒ¡ W Y d }~nd }~ww W Y d }~qd }~ww d S )N)Zillegalr(   l        c                       s   e Zd Z‡ fdd„ZdS )z!BoolTest.test_sane_len.<locals>.Ac                    s   ˆ S r{   r   r   ©Zbadvalr   r   rŠ   K  r‚   z)BoolTest.test_sane_len.<locals>.A.__len__Nr‹   r   r”   r   r   ÚAJ  s    r•   )r
   Ú	Exceptionr@   r   r   )r   r•   Ze_boolZe_lenr   r”   r   Útest_sane_lenF  s    €ÿ€ýúzBoolTest.test_sane_lenc                 C   s@   G dd„ dƒ}|   tt|ƒ ¡ G dd„ dƒ}|   tt|ƒ ¡ d S )Nc                   @   s   e Zd ZdZdS )z BoolTest.test_blocked.<locals>.ANrƒ   r   r   r   r   r•   V  s    r•   c                   @   s   e Zd Zdd„ ZdZdS )z BoolTest.test_blocked.<locals>.Bc                 S   r†   )Nr3   r   r   r   r   r   rŠ   [  r‚   z(BoolTest.test_blocked.<locals>.B.__len__N)r   r   r   rŠ   r   r   r   r   r   ÚBZ  s    r˜   r|   )r   r•   r˜   r   r   r   Útest_blockedU  s   zBoolTest.test_blockedc                 C   s„   |   djd¡ |   djd¡ |  tdjƒt¡ |  tdjƒt¡ |   djd¡ |   djd¡ |  tdjƒt¡ |  tdjƒt¡ d S )NTr   r   F)r   ÚrealÚimagr   re   r   r   r   r   r   Útest_real_and_imag`  s   zBoolTest.test_real_and_imagc                 C   s6   G dd„ dƒ}dd„ }|ƒ }||ƒ |   |jd¡ d S )Nc                   @   s   e Zd Zdd„ Zdd„ ZdS )z2BoolTest.test_bool_called_at_least_once.<locals>.Xc                 S   s
   d| _ d S )Nr   ©Úcountr   r   r   r   Ú__init__l  s   
z;BoolTest.test_bool_called_at_least_once.<locals>.X.__init__c                 S   s   |  j d7  _ dS )Nr   Tr   r   r   r   r   r   n  s   z;BoolTest.test_bool_called_at_least_once.<locals>.X.__bool__N)r   r   r   rŸ   r   r   r   r   r   rJ   k  s    rJ   c                 S   s
   | s	 d S r{   r   r6   r   r   r   r^   r  s   z2BoolTest.test_bool_called_at_least_once.<locals>.fr   )ZassertGreaterEqualrž   )r   rJ   r^   r0   r   r   r   Útest_bool_called_at_least_oncej  s
   z'BoolTest.test_bool_called_at_least_onceN) r   r   r   r   r   r   r    r%   r'   r1   r5   r7   r:   r=   rA   rC   rE   rF   rV   rW   r_   rg   ro   rs   rx   rz   r   r“   r—   r™   rœ   r    r   r   r   r   r      s<    m


r   Ú__main__)ZunittestZtest.supportr   r\   ZTestCaser   r   Úmainr   r   r   r   Ú<module>   s     uÿ