
    2hhQ+                     L   S SK r S SKJr  \R                  " S5      r\R                  " S5      r\R                  " S5      r " S S\5      r " S S	\	5      r
 " S
 S5      r " S S\\ R                  5      r " S S\\ R                  5      r\S:X  a  \ R                   " 5         gg)    N)import_helper	_testcapi_testlimitedcapi_testinternalcapic                       \ rS rSrSrg)set_subclass    N__name__
__module____qualname____firstlineno____static_attributes__r
       @/opt/python-3.13.8/usr/lib/python3.13/test/test_capi/test_set.pyr   r          r   r   c                       \ rS rSrSrg)frozenset_subclass   r
   Nr   r
   r   r   r   r      r   r   r   c                       \ rS rSrS rSrg)BaseSetTests   c                    U R                   " [        U[        5       /UQ76   U R                   " [        U[        S15      /UQ76   U R                   " [        U[        5       /UQ76   U R                   " [        U[        S15      /UQ76   g )N   )assertRaisesSystemError	frozensetr   )selfactionargss      r   assertImmutableBaseSetTests.assertImmutable   sr    +vy{BTB+vy!~EE+v/A/CKdK+v/A1#/FNNr   r
   N)r   r   r   r   r"   r   r
   r   r   r   r      s    Or   r   c                   n    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rSrg)TestSetCAPI   c                    [         R                  nU R                  U" [        5       5      5        U R                  U" SS15      5        U R	                  U" [        5       5      5        U R                  U" [        5       5      5        U R	                  U" [        5       5      5        U R	                  U" [        5       5      5        g Nr      )	r   	set_check
assertTruesetassertFalser   r   r   objectr   checks     r   test_set_checkTestSetCAPI.test_set_check   s     **ce%q!f&y{+,ln-.1345vx)r   c                    [         R                  nU R                  U" [        5       5      5        U R                  U" SS15      5        U R	                  U" [        5       5      5        U R	                  U" [        5       5      5        U R	                  U" [        5       5      5        U R	                  U" [        5       5      5        g r(   )	r   set_checkexactr+   r,   r-   r   r   r   r.   r/   s     r   test_set_check_exact TestSetCAPI.test_set_check_exact%   s     //ce%q!f&y{+,|~./1345vx)r   c                    [         R                  nU R                  U" [        5       5      5        U R	                  U" [        5       5      5        U R	                  U" [        SS15      5      5        U R                  U" [        5       5      5        U R	                  U" [        5       5      5        U R                  U" [        5       5      5        g r(   )	r   frozenset_checkr-   r,   r+   r   r   r   r.   r/   s     r   test_frozenset_check TestSetCAPI.test_frozenset_check/   s     00su&ik*+iA/01|~./0234vx)r   c                    [         R                  nU R                  U" [        5       5      5        U R	                  U" [        5       5      5        U R	                  U" [        SS15      5      5        U R                  U" [        5       5      5        U R                  U" [        5       5      5        U R                  U" [        5       5      5        g r(   )	r   frozenset_checkexactr-   r,   r+   r   r   r   r.   r/   s     r   test_frozenset_check_exact&TestSetCAPI.test_frozenset_check_exact9   s     55su&ik*+iA/01|~./1345vx)r   c                    [         R                  nU R                  U" [        5       5      5        U R                  U" SS15      5        U R                  U" [	        5       5      5        U R                  U" [	        SS15      5      5        U R                  U" [        5       5      5        U R                  U" [        5       5      5        U R                  U" [        5       5      5        g r(   )	r   anyset_checkr+   r,   r   r   r   r-   r.   r/   s     r   test_anyset_checkTestSetCAPI.test_anyset_checkC   s     --ce%q!f&ik*+iA/01ln-.0234vx)r   c                    [         R                  nU R                  U" [        5       5      5        U R                  U" SS15      5        U R                  U" [	        5       5      5        U R                  U" [	        SS15      5      5        U R                  U" [        5       5      5        U R                  U" [        5       5      5        U R                  U" [        5       5      5        g r(   )	r   anyset_checkexactr+   r,   r   r-   r   r   r.   r/   s     r   test_anyset_check_exact#TestSetCAPI.test_anyset_check_exactN   s     22ce%q!f&ik*+iA/01|~./1345vx)r   c                 |   [         R                  nU R                  U" 5       R                  [        5        U R                  U" 5       [	        5       5        U R                  U" S5      SS15        U R                  U" / SQ5      SS15        U R                  [        S5         U" [        5       5        S S S 5        U R                  [        S5         U" S5        S S S 5        U R                  [        S5         U" S0 45        S S S 5        g ! , (       d  f       N_= f! , (       d  f       NI= f! , (       d  f       g = fN)r   r   r)   r   r)   object is not iterableunhashable type: 'dict')r   set_newassertEqual	__class__r,   assertRaisesRegex	TypeErrorr.   )r   rK   s     r   test_set_newTestSetCAPI.test_set_newY   s    "**,,c2CE*+aV4+aV4##I/GHFH I##I/GHAJ I##I/HIQG JI	 IHHHIIs$   !D	D7D-
D
D*-
D;c                    [         R                  nU R                  U" 5       R                  [        5        U R                  U" 5       [	        5       5        U R                  U" S5      [	        SS15      5        U R                  U" / SQ5      [	        SS15      5        U R                  [        S5         U" [        5       5        S S S 5        U R                  [        S5         U" S5        S S S 5        U R                  [        S5         U" S0 45        S S S 5        g ! , (       d  f       N_= f! , (       d  f       NI= f! , (       d  f       g = frH   )r   frozenset_newrL   rM   r   rN   rO   r.   )r   rS   s     r   test_frozenset_newTestSetCAPI.test_frozenset_newf   s    (6622I>)+6y19aV3DEy19aV3DE##I/GH&(# I##I/GH! I##I/HI1b'" JI	 IHHHIIs$   3D"	D.	D?
D+.
D<?
Ec                     [         R                  nU R                  U" [        5       5      S5        U R                  U" [	        5       5      S5        U R                  U" 1 Sk5      S5        U R                  U" [	        1 Sk5      5      S5        U R                  U" [        S5      5      S5        U R                  U" [        S5      5      S5        U R                  [        5         U" [        5       5        S S S 5        g ! , (       d  f       g = fNr   >   r   r)   r)   )r   r)      rX   )
r   set_sizerL   r,   r   r   r   r   r   r.   r   get_sizes     r   test_set_sizeTestSetCAPI.test_set_sizes   s    #,,#%!,)+.2),a0)I"67;,y"9:A>"4Y"?@!D{+VX ,++s   %C??
Dc                    [         R                  nU R                  U" [        5       5      S5        U R                  U" [	        5       5      S5        U R                  U" 1 Sk5      S5        U R                  U" [	        1 Sk5      5      S5        U R                  U" [        S5      5      S5        U R                  U" [        S5      5      S5        g rW   )r   set_get_sizerL   r,   r   r   r   rZ   s     r   test_set_get_sizeTestSetCAPI.test_set_get_size   s    ))#%!,)+.2),a0)I"67;,y"9:A>"4Y"?@!Dr   c                    [         R                  n[        [        [        [
        4 H{  nU R                  US9   U" S5      nU R                  U" US5      5        U R                  U" US5      5        U R                  [        S5         U" U/ 5        S S S 5        S S S 5        M}     g ! , (       d  f       N= f! , (       d  f       M  = f)Nclsr   r)   r   missingunhashable type: 'list')r   set_containsr,   r   r   r   subTestr+   r-   rN   rO   )r   containsrd   instances       r   test_set_containsTestSetCAPI.test_set_contains   s    #00L2DEC#&v;1 56  (I!>?++I7PQXr* R	 '& F
 RQ	 '&s$   AB8
B'B8'
B51B88
C	c                 z   [         R                  n[        [        4 H  nU R	                  US9   U" S5      nU R                  U" US5      S5        U R                  USS15        U R                  U" US5      S5        U R                  U1 Sk5        U R                  [        S5         U" U/ 5        S S S 5        S S S 5        M     U R                  [        5         U" [        5       S5        S S S 5        U R                  US5        g ! , (       d  f       N\= f! , (       d  f       GM  = f! , (       d  f       NE= f)	Nrc   re   r   r   r)   rX   >   r   r)   rX   rg   )r   set_addr,   r   ri   rL   rN   rO   r   r   r.   r"   )r   addrd   rk   s       r   test_addTestSetCAPI.test_add   s    &&&C#&v;  Xq!115  Aq62  Xq!115  95++I7PQ"% R '& ' {+! ,S!$	 RQ '& ,+s0   A9D(
D2DD,
DD
D)	,
D:c                 H   [         R                  n[        [        4 GH  nU R	                  US9   U" S5      nU R                  U" US5      S5        U R                  USS15        U R                  U" US5      S5        U R                  US15        U R                  U" US5      S5        U R                  U[        5       5        U R                  U" US5      S5        U R                  U[        5       5        U R                  [        S5         U" U/ 5        S S S 5        S S S 5        GM     U R                  [        5         U" [        5       S5        S S S 5        U R                  US5        g ! , (       d  f       N]= f! , (       d  f       GMs  = f! , (       d  f       NE= f)Nrc   re   rX   r   r   r)   rg   )r   set_discardr,   r   ri   rL   rN   rO   r   r   r.   r"   )r   discardrd   rk   s       r   test_discardTestSetCAPI.test_discard   sO   "..&C#&v;  1!5q9  Aq62  1!5q9  A3/  1!5q9  351  1!5q9  351++I7PQHb) R '& ' {+FHa  ,Wa(	 RQ '& ,+s0   CF 
E/F F/
E=9F  
F	
F!c                    [         R                  nSn[        [        4 H  nU R	                  US9   U" U5      nU R                  U" U5      U5        U R                  [        U5      S5        U R                  U" U5      U5        U R                  [        U5      S5        U R                  [        5         U" U5        S S S 5        S S S 5        M     U R                  [        5         U" [        5       5        S S S 5        U R                  U5        g ! , (       d  f       NZ= f! , (       d  f       GM  = f! , (       d  f       ND= f)Nre   rc   r   r   )r   set_popr,   r   ri   assertInrL   lenr   KeyErrorr   r.   r"   )r   poporigrd   rk   s        r   test_popTestSetCAPI.test_pop   s    &&&C#&t9c(mT2  X2c(mT2  X2&&x0M 1 '& ' {+M ,S!	 10 '& ,+s0   BD#5	D>D#'D6
D D##
D3	6
Ec                    [         R                  n[        [        4 H  nU R	                  US9   U" S5      nU R                  U" U5      S5        U R                  U[        5       5        U R                  U" U5      S5        U R                  U[        5       5        S S S 5        M     U R                  [        5         U" [        5       5        S S S 5        U R                  U5        g ! , (       d  f       M  = f! , (       d  f       N2= f)Nrc   re   r   )
r   	set_clearr,   r   ri   rL   r   r   r.   r"   )r   clearrd   rk   s       r   
test_clearTestSetCAPI.test_clear   s     **&C#&v;  x!4  351  x!4  351 '& ' {+&(O ,U# '& ,+s   A-C(=C:(
C7	:
Dr
   N)r   r   r   r   r1   r5   r9   r=   rA   rE   rP   rT   r\   r`   rl   rq   rv   r   r   r   r
   r   r   r%   r%      sN    ******#	E+%$),""$r   r%   c                        \ rS rSrS rS rSrg)TestInternalCAPI   c           
         [         R                  n[        [        4 GH  nSSSS/[        S5      [        S5      [	        S5      [        S5      4 H  nU R                  X#S9   U" 5       nU R                  U" XC5      S5        U R                  USS15        U" U5      nU R                  U" XC5      S5        U R                  USS15        S S S 5        M     U R                  [        S5         U" U" 5       S5        S S S 5        U R                  [        S	5         U" U" 5       0 /5        S S S 5        GM     U R                  [        5         U" [        5       S5        S S S 5        U R                  US5        g ! , (       d  f       GM8  = f! , (       d  f       N= f! , (       d  f       GM  = f! , (       d  f       NX= f)
Nab)abr   r   )rd   itr   rI   r   rJ   )r   
set_updater,   r   r   r   ri   rL   rN   rO   r   r   r.   r"   )r   updaterd   r   rk   s        r   test_set_update TestInternalCAPI.test_set_update   sk   "--&CZ#s4y,t"4 (:4(@B \\c\1"uH$$VH%91=$$XSz:"2wH$$VH%91=$$XSz: 21B ''	3KLsua  M''	3LMsurd# NM ' {+68T" ,VT* 21 MLMM++s1   "A(E8,FFF/8
F
F	
F,	/
F=c                 F   [         R                  n[        [        [        [
        4 H  nU R                  US9   U" S5      nSn/ n U" X45      nUc  OVUu  ptpUR                  U	5        U R                  US5        U R                  X5        U R                  [        U	5      U5        Mb  U R                  U[        U5      5        S S S 5        M     U R                  [        5         U" [        5       S5        S S S 5        g ! , (       d  f       M  = f! , (       d  f       g = f)Nrc   abcr   r   )r   set_next_entryr,   r   r   r   ri   appendrL   rz   hashlistr   r   r.   )
r   set_nextrd   rk   positemsresrchash_items
             r   test_set_next_entry$TestInternalCAPI.test_set_next_entry   s    $33y2DEC#&u:"81C{+.(BULL&$$R+MM$1$$T$Z7    X7 '& F {+VXq! ,+ '& ,+s   BD %D 
D	
D r
   N)r   r   r   r   r   r   r   r
   r   r   r   r      s    +0"r   r   __main__)unittesttest.supportr   import_moduler   r   r   r,   r   r   r   r   TestCaser%   r   r   mainr
   r   r   <module>r      s     & ''4	 ../AB !//0CD 	3 		 	O OA$, 1 1 A$J+"|X%6%6 +"^ zMMO r   