
    daf8                     x    d dl Z d dlmZ d dlZ G d de j                        Zedk(  r e j                          yy)    N)	os_helperc                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!y )!BoolTestc                     	  G d dt               }| j                  d       | j                  t        t        j
                  t         d       y # t        $ r Y 6w xY w)Nc                       e Zd Zy)!BoolTest.test_subclass.<locals>.CN)__name__
__module____qualname__     )/root/Python-3.12.4/Lib/test/test_bool.pyCr      s    r   r   zbool should not be subclassabler   )boolfail	TypeErrorassertRaisesint__new__)selfr   s     r   test_subclasszBoolTest.test_subclass
   sN    	9D 
 II78)S[[$:  		s   A 	AAc                     | j                  t        d      d       | j                  t        d      d       | j                  t        t        d            d       | j                  t        t        d            d       y NFFalseTTrue)assertEqualreprassertIsevalr   s    r   	test_reprzBoolTest.test_repr   sX    eg.dV,d4;'/d4:&-r   c                 p    | j                  t        d      d       | j                  t        d      d       y r   )r   strr    s    r   test_strzBoolTest.test_str   s*    UW-TF+r   c                     | j                  t        d      d       | j                  t        d      d       | j                  t        d      d       | j                  t        d      d       y )NFr   T   )r   r   assertIsNotr    s    r   test_intzBoolTest.test_int   sR    UQ'UU+TA&TD)r   c                     | j                  t        d      d       | j                  t        d      d       | j                  t        d      d       | j                  t        d      d       y )NF        T      ?)r   floatr'   r    s    r   
test_floatzBoolTest.test_float%   sR    us+uu-tc*td+r   c                     | j                  t        d      d       | j                  t        d      d       | j                  t        d      d       | j                  t        d      d       y )NFy                Ty      ?        )r   complexr    s    r   test_complexzBoolTest.test_complex+   sR    ,/--r   c                    | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  t        d      d       | j                  t        d      d       | j                  dd       | j                  dd       | j                  dd       | j                  t        d      d       | j                  t        d      d       | j                  t              5  d}| j                  | d       d d d        | j                  t              5  | j                  t        d      d       d d d        | j                  t              5  d}| j                  | d       d d d        | j                  t              5  | j                  t        d      d       d d d        | j                  d	d	       | j                  d
d
       | j                  d	d	       | j                  d
d
       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  d	d	       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       dD ]T  }dD ]M  }| j                  ||z  t        |      |z         | j                  ||z  t        t        |      |z               O V dD ]?  }dD ]6  }| j                  ||z  t        t        |      t        |      z               | j                  ||z  t        t        |      t        |      z               | j                  ||z  t        t        |      t        |      z               | j                  |t        |      z  t        |      t        |      z         | j                  |t        |      z  t        t        |      t        |      z               | j                  |t        |      z  t        |      t        |      z         | j                  |t        |      z  t        t        |      t        |      z               | j                  |t        |      z  t        |      t        |      z         | j                  |t        |      z  t        t        |      t        |      z               | j                  t        |      |z  t        |      t        |      z         | j                  t        |      |z  t        t        |      t        |      z               | j                  t        |      |z  t        |      t        |      z         | j                  t        |      |z  t        t        |      t        |      z               | j                  t        |      |z  t        |      t        |      z         | j                  t        |      |z  t        t        |      t        |      z               9 B | j                  ddk(  d       | j                  ddk(  d       | j                  ddk  d       | j                  ddk  d       | j                  ddk  d       | j                  ddk  d       | j                  ddkD  d       | j                  ddkD  d       | j                  ddk\  d       | j                  ddk\  d       | j                  ddk7  d       | j                  ddk7  d       dg}| j                  ||u d       | j                  ||ud       | j                  d|v d       | j                  d|v d       | j                  d|vd       | j                  d|vd       dd	i}| j                  ||u d       | j                  ||ud       | j                  d|v d       | j                  d|v d       | j                  d|vd       | j                  d|vd       | j                  dd       | j                  dd       y # 1 sw Y   xY w# 1 sw Y   gxY w# 1 sw Y   AxY w# 1 sw Y   xY w)Nr   Fr&   Tz~Falsez~True      r+   r*   )FT)r   r&   r4   )	r   r'   absassertWarnsDeprecationWarningr   r   r   r   )r   falsetruebiaxs          r   	test_mathzBoolTest.test_math1   s8   #'#'UQ'UU+"%#TA&TD)01 	)
 EeVR(	) 01 	1 T(^R0	1 01 	(DdUB'	( 01 	0T']B/	0 	!$#!$#a(e,Q'T*Q'T*A&A&E*a(e,Q'T*R(#!$%(#&!$%(#'#&!$%( 	8A 8  As1vqy1  AtCFAI78	8
  	@A  @ac4As1v#67ac4As1v#67ac4As1v#67  3q63q6#a&=9  3q64As1v+>?  3q63q6#a&=9  3q64As1v+>?  3q63q6#a&=9  3q64As1v+>?  Q3q6#a&=9  Q4As1v+>?  Q3q6#a&=9  Q4As1v+>?  Q3q6#a&=9  Q4As1v+>?@	@$ 	adD!adE"ac4 ac5!adD!adE"ac4 ac5!adD!adE"adD!adE"Ca1fd#aqj%(a1fd#a1fe$aqj%(aqj$'Fa1fd#aqj%(a1fd#a1fe$aqj%(aqj$'h&i&[	) 	)	1 	1	( 	(	0 	0s0    f'3f4,gg'f14f>ggc                    | j                  t        t        dd       | j                  t        d      d       | j                  t        d      d       | j                  t        d      d       | j                  t        d      d       | j                  t        d      d       | j                  t        d	      d       | j                  t               d       y )
N*   
   Tr&   r2   r   Fhello )r   r   r   r   r    s    r   test_convertzBoolTest.test_convert   s    )T2r2d2h%d1gt$d2h%d1gu%d7mT*d2h&dfe$r   c                 r    | j                  t        d      5  t        d       d d d        y # 1 sw Y   y xY w)Nzkeyword argumentrB   r>   )assertRaisesRegexr   r   r    s    r   test_keyword_argszBoolTest.test_keyword_args   s/    ##I/AB 	2J	 	 	s   -6c                     | j                  ddz  d       | j                  ddz  d       | j                  ddz  d       | j                  ddz  d       y )Nz%dF0T1z%x)r   r    s    r   test_formatzBoolTest.test_format   sR    s+c*s+c*r   c                 t    | j                  t        g d      d       | j                  t        g d      d       y )NappendTwobbleF)r   hasattrr    s    r   test_hasattrzBoolTest.test_hasattr   s,    gb(+T2gb(+U3r   c                 x    | j                  t        t              d       | j                  t        d      d       y )NTr&   F)r   callablelenr    s    r   test_callablezBoolTest.test_callable   s&    hsmT*hqk5)r   c                    | j                  t        dt              d       | j                  t        dt              d       | j                  t        dt              d       | j                  t        dt              d       | j                  t        dt              d       | j                  t        dt              d       y )NTFr&   r   )r   
isinstancer   r   r    s    r   test_isinstancezBoolTest.test_isinstance   s    jt,d3j-t4js+T2j,d3jD)51jD)51r   c                     | j                  t        t        t              d       | j                  t        t        t              d       y )NTF)r   
issubclassr   r   r    s    r   test_issubclasszBoolTest.test_issubclass   s,    js+T2jd+U3r   c                 X    | j                  di v d       | j                  dddiv d       y )Nr&   FT)r   r    s    r   test_containszBoolTest.test_contains   s*    a2gu%aAa5j$'r   c                    | j                  dj                  d      d       | j                  dj                  d      d       | j                  dj                         d       | j                  dj                         d       | j                  dj                         d       | j                  dj                         d       | j                  dj	                         d       | j                  dj	                         d       | j                  dj                         d       | j                  d	j                         d       | j                  dj                         d       | j                  dj                         d       | j                  dj                         d       | j                  dj                         d       | j                  d
j                         d       | j                  dj                         d       | j                  dj                         d       | j                  d	j                         d       | j                  dj                         d       | j                  dj                         d       | j                  d	j                         d       | j                  dj                         d       | j                  dj                  d      d       | j                  dj                  d      d       y )NxyzzTr>   Fxyz0123z@#$%0123XYZ     u   　X)r   endswithisalnumisalphaisdigitislower	isdecimal	isnumericisspaceistitleisupper
startswithr    s    r   test_stringzBoolTest.test_string   s   ennS)40ennS)51i'')40fnn&.emmot,fnn&.fnn&-emmou-emmot,emmou-f&&($/eoo'/f&&($/eoo'/ckkmT*fnn&-h&&($/emmou-ckkmT*ckkmU+emmot,emmou-e&&s+T2e&&s+U3r   c                 `   | j                  dd       | j                  dt               | j                  dd       | j                  dd       | j                  dt               | j                  dd       | j                  dd       | j                  dt               | j                  dd       y )Nr&   Tr   F)r   assertNotIsInstancer   r   r    s    r   test_booleanzBoolTest.test_boolean   s    1%  40k4(1%  40k4(1%  40k5)r   c                 n   	 t        t        j                  dd      5 }| j                  |j                  d       d d d        | j                  j                  d       t        j                  t        j                         y # 1 sw Y   IxY w# t        j                  t        j                         w xY w)Nwzutf-8)encodingFT)openr   TESTFNr   closedosremove)r   fs     r   test_fileclosedzBoolTest.test_fileclosed   s{    	(i&&g> /!ahh./MM!((D)IIi&&'	/ / IIi&&'s!   B B$B BB %B4c                     t         t        t        t        t        t
        t        t        t        t        t        fD ]  }| j                  t        |      d        y )NT)r   r/   dictr,   r   listobjectsetr#   tupletyper   )r   ts     r   
test_typeszBoolTest.test_types  s=    uc4sE4) 	)AMM$q'4(	)r   c                 6   dd l }| j                  |j                  d      d       | j                  |j                  d      d       | j                  |j                  d      d       | j                  |j                  d      d       | j                  |j	                  g d      d       | j                  |j	                  dgd      d       | j                  |j                  dd      d       | j                  |j                  dd      d       | j                  |j                  dd      d       | j                  |j                  dd      d       | j                  |j                  dd      d       | j                  |j                  dd      d       y )Nr   Fr&   T)operatorr   truthnot_containsltis_is_not)r   r   s     r   test_operatorzBoolTest.test_operator  s/   hnnQ'/hnnQ'.hmmA&.hmmA&-h''A.6h''Q/6hkk!Q'/hkk!Q'.hll4.5hll4/7hoodD159hoodE2D9r   c                     dd l }| j                  |j                  |j                  d            d       | j                  |j                  |j                  d            d       y )Nr   TF)marshalr   loadsdumps)r   r   s     r   test_marshalzBoolTest.test_marshal  sE    gmmGMM$$78$?gmmGMM%$895Ar   c           	      
   dd l }t        |j                  dz         D ]d  }| j                  |j	                  |j                  d|            d       | j                  |j	                  |j                  d|            d       f y )Nr   r&   TF)picklerangeHIGHEST_PROTOCOLr   r   r   )r   r   protos      r   test_picklezBoolTest.test_pickle!  sj    622Q67 	KEMM&,,v||D%'@A4HMM&,,v||E5'ABEJ	Kr   c                    dd l }| j                  |j                  dd      d       | j                  |j                  dd      d       | j                  |j                  dd      d       | j                  |j                  dd      d       | j                  |j                  dd      d	       | j                  |j                  dd      d
       y )Nr   T)protocols   I01
.Fs   I00
.r&   r4   s   .s   .)r   r   r   )r   r   s     r   test_picklevalueszBoolTest.test_picklevalues'  s    dQ7Cea8)DdQ7Cea8)DdQ79IJea8:JKr   c                 D     fd} G d dt               } | |               G d dt               } | |               G d dt              } | |               G d d	t              } | |               G d
 d      } j                  t        t         |              y )Nc                 :    j                  t        t        |       S Nr   r   r   )or   s    r   <lambda>z/BoolTest.test_convert_to_bool.<locals>.<lambda>5  s    $++ItQ? r   c                       e Zd Zd Zy)*BoolTest.test_convert_to_bool.<locals>.Fooc                     | S r   r   r    s    r   __bool__z3BoolTest.test_convert_to_bool.<locals>.Foo.__bool__7      r   Nr	   r
   r   r   r   r   r   Foor   6      r   r   c                       e Zd Zd Zy)*BoolTest.test_convert_to_bool.<locals>.Barc                      y)NYesr   r    s    r   r   z3BoolTest.test_convert_to_bool.<locals>.Bar.__bool__<  s    r   Nr   r   r   r   Barr   ;  s    r   r   c                       e Zd Zd Zy)*BoolTest.test_convert_to_bool.<locals>.Bazc                     | S r   r   r    s    r   r   z3BoolTest.test_convert_to_bool.<locals>.Baz.__bool__A  r   r   Nr   r   r   r   Bazr   @  r   r   r   c                       e Zd Zd Zy)+BoolTest.test_convert_to_bool.<locals>.Spamc                      y)Nr&   r   r    s    r   r   z4BoolTest.test_convert_to_bool.<locals>.Spam.__bool__G  s    r   Nr   r   r   r   Spamr   F  s    r   r   c                       e Zd Zd Zy)+BoolTest.test_convert_to_bool.<locals>.Eggsc                      y)Nr2   r   r    s    r   __len__z3BoolTest.test_convert_to_bool.<locals>.Eggs.__len__L      r   Nr	   r
   r   r   r   r   r   Eggsr   K  s    r   r   )r   r   r   
ValueErrorr   )r   checkr   r   r   r   r   s   `      r   test_convert_to_boolzBoolTest.test_convert_to_bool1  s     @	& 	 	ce	& 	 	ce	# 	 	ce	3 	 	df	 	 	*dDF3r   c                      G d d       G fdd      } |       }| j                  t              5  |dkD  rd}nd}d d d        ~y # 1 sw Y   ~y xY w)Nc                       e Zd Zd Zy)FBoolTest.test_interpreter_convert_to_bool_raises.<locals>.SymbolicBoolc                     t         r   )r   r    s    r   r   zOBoolTest.test_interpreter_convert_to_bool_raises.<locals>.SymbolicBool.__bool__R  s    r   Nr   r   r   r   SymbolicBoolr   Q  s     r   r   c                       e Zd Z fdZy)@BoolTest.test_interpreter_convert_to_bool_raises.<locals>.Symbolc                             S r   r   )r   otherr   s     r   __gt__zGBoolTest.test_interpreter_convert_to_bool_raises.<locals>.Symbol.__gt__V  s    #~%r   N)r	   r
   r   r   )r   s   r   Symbolr   U  s    &r   r   r   zx > 0 was truezx > 0 was false)r   r   )r   r   r>   msgr   s       @r   'test_interpreter_convert_to_bool_raisesz0BoolTest.test_interpreter_convert_to_bool_raisesP  sY    	  	 	& 	& Hy) 	(1u&'		( 	( s   A		Ac                     | j                  t        j                  dd      d       | j                  t        j                  dd      d       y )Ns           bigFs   abcdlittleT)r   r   
from_bytesr    s    r   test_from_byteszBoolTest.test_from_bytesd  s4    dooi7?doogx8$?r   c           	         dD ]   G fdd      }	 t         |              ! y # t        $ rV}	 t         |              n:# t        $ r.}| j                  t	        |      t	        |             Y d }~nd }~ww xY wY d }~}d }~ww xY w)N)illegalr2   l        c                       e Zd Z fdZy)!BoolTest.test_sane_len.<locals>.Ac                     S r   r   )r   badvals    r   r   z)BoolTest.test_sane_len.<locals>.A.__len__m  s    !Mr   Nr   )r   s   r   Ar   l  s    "r   r   )r   	ExceptionrU   r   r#   )r   r   e_boole_lenr   s       @r   test_sane_lenzBoolTest.test_sane_lenh  sw     / 
	>F" ">QS	
	>  >>H! >$$S[#e*==>>s8   '	BAB	A9$A4/B4A99BBc                      G d d      }| j                  t        t         |               G d d      }| j                  t        t         |              y )Nc                       e Zd ZdZy) BoolTest.test_blocked.<locals>.ANr   r   r   r   r   r   x  s    Hr   r   c                       e Zd Zd ZdZy) BoolTest.test_blocked.<locals>.Bc                      y)NrB   r   r    s    r   r   z(BoolTest.test_blocked.<locals>.B.__len__}  r   r   N)r	   r
   r   r   r   r   r   r   Br   |  s    Hr   r   r   )r   r   r   s      r   test_blockedzBoolTest.test_blockedw  s@    	 	)T13/	 	 	)T13/r   c                 ,   | j                  dj                  d       | j                  dj                  d       | j                  t	        dj                        t
               | j                  t	        dj                        t
               | j                  dj                  d       | j                  dj                  d       | j                  t	        dj                        t
               | j                  t	        dj                        t
               y )NTr&   r   F)r   realimagr   r   r   r    s    r   test_real_and_imagzBoolTest.test_real_and_imag  s    A&A&d499os+d499os+Q'Q'd5::&,d5::&,r   c                 t     G d d      }d } |       } ||       | j                  |j                  d       y )Nc                       e Zd Zd Zd Zy)2BoolTest.test_bool_called_at_least_once.<locals>.Xc                     d| _         y )Nr   countr    s    r   __init__z;BoolTest.test_bool_called_at_least_once.<locals>.X.__init__  s	    
r   c                 .    | xj                   dz  c_         y)Nr&   Tr   r    s    r   r   z;BoolTest.test_bool_called_at_least_once.<locals>.X.__bool__  s    

a
r   N)r	   r
   r   r   r   r   r   r   rg   r     s    r   rg   c                 
    | s	 y r   r   rG   s    r   r   z2BoolTest.test_bool_called_at_least_once.<locals>.f  s
    Dr   r&   )assertGreaterEqualr   )r   rg   r   r>   s       r   test_bool_called_at_least_oncez'BoolTest.test_bool_called_at_least_once  s5    	 		 C	!+r   c                    | j                  t        j                  t              d       | j                  t        j                  t        d      d       | j                  t        j                  t        d      d       | j                  t        j                  t        d      d       | j                  t        j                  t        d      d       y )NFr&   Tr   )r   r   r   r    s    r   test_bool_newzBoolTest.test_bool_new  s}    dll4(%0dll4+T2dll4+U3dll4/7dll4.5r   N)"r	   r
   r   r   r!   r$   r(   r-   r0   r?   rE   rI   rM   rR   rV   rY   r\   r^   rs   rv   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s    	;.,*,.y'v%+4*24(44*():B
KL4>(@>	0-, 6r   r   __main__)unittesttest.supportr   r}   TestCaser   r	   mainr   r   r   <module>r     s?     " 	Y6x   Y6x zHMMO r   