
    9bh+"                         d dl Z d dlmZ  ej                  d      Z G d de      Z G d de      Z G d d	e j                        Z
ed
k(  r e j                          yy)    N)import_helper	_testcapic                       e Zd Zy)set_subclassN__name__
__module____qualname__     A/opt/python-3.12.12/usr/lib/python3.12/test/test_capi/test_set.pyr   r          r   r   c                       e Zd Zy)frozenset_subclassNr   r   r   r   r   r      r   r   r   c                   l    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y)TestSetCAPIc                     | j                   t        |t               g|   | j                   t        |t        dh      g|   | j                   t        |t               g|   | j                   t        |t        dh      g|  y )N   )assertRaisesSystemError	frozensetr   )selfactionargss      r   assertImmutablezTestSetCAPI.assertImmutable   sz    +vy{BTB+vy!~EE+v/A/CKdK+v/A1#/FNNr   c                    t         j                  }| j                   |t                            | j                   |ddh             | j	                   |t                            | j                   |t                            | j	                   |t                            | j	                   |t                            y Nr      )	r   	set_check
assertTruesetassertFalser   r   r   objectr   checks     r   test_set_checkzTestSetCAPI.test_set_check   s    ##ce%q!f&y{+,ln-.1345vx)r   c                    t         j                  }| j                   |t                            | j                   |ddh             | j	                   |t                            | j	                   |t                            | j	                   |t                            | j	                   |t                            y r   )	r   set_checkexactr    r!   r"   r   r   r   r#   r$   s     r   test_set_check_exactz TestSetCAPI.test_set_check_exact    s    ((ce%q!f&y{+,|~./1345vx)r   c                    t         j                  }| j                   |t                            | j	                   |t                            | j	                   |t        ddh                   | j                   |t                            | j	                   |t                            | j                   |t                            y r   )	r   frozenset_checkr"   r!   r    r   r   r   r#   r$   s     r   test_frozenset_checkz TestSetCAPI.test_frozenset_check*   s    ))su&ik*+iA/01|~./0234vx)r   c                    t         j                  }| j                   |t                            | j	                   |t                            | j	                   |t        ddh                   | j                   |t                            | j                   |t                            | j                   |t                            y r   )	r   frozenset_checkexactr"   r!   r    r   r   r   r#   r$   s     r   test_frozenset_check_exactz&TestSetCAPI.test_frozenset_check_exact4   s    ..su&ik*+iA/01|~./1345vx)r   c                    t         j                  }| j                   |t                            | j                   |ddh             | j                   |t	                            | j                   |t	        ddh                   | j                   |t                            | j                   |t                            | j                   |t                            y r   )	r   anyset_checkr    r!   r   r   r   r"   r#   r$   s     r   test_anyset_checkzTestSetCAPI.test_anyset_check>   s    &&ce%q!f&ik*+iA/01ln-.0234vx)r   c                    t         j                  }| j                   |t                            | j                   |ddh             | j                   |t	                            | j                   |t	        ddh                   | j                   |t                            | j                   |t                            | j                   |t                            y r   )	r   anyset_checkexactr    r!   r   r"   r   r   r#   r$   s     r   test_anyset_check_exactz#TestSetCAPI.test_anyset_check_exactI   s    ++ce%q!f&ik*+iA/01|~./1345vx)r   c                 ^   t         j                  }| j                   |       j                  t               | j                   |       t	                      | j                   |d      ddh       | j                   |g d      ddh       | j                  t        d      5   |t                      d d d        | j                  t        d      5   |d       d d d        | j                  t        d      5   |di f       d d d        y # 1 sw Y   ZxY w# 1 sw Y   ?xY w# 1 sw Y   y xY wN)r   r   r   r   r   zobject is not iterablezunhashable type: 'dict')r   set_newassertEqual	__class__r!   assertRaisesRegex	TypeErrorr#   )r   r8   s     r   test_set_newzTestSetCAPI.test_set_newT   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                    t         j                  }| j                   |       j                  t               | j                   |       t	                      | j                   |d      t	        ddh             | j                   |g d      t	        ddh             | j                  t        d      5   |t                      d d d        | j                  t        d      5   |d       d d d        | j                  t        d      5   |di f       d d d        y # 1 sw Y   ZxY w# 1 sw Y   ?xY w# 1 sw Y   y xY wr7   )r   frozenset_newr9   r:   r   r;   r<   r#   )r   r?   s     r   test_frozenset_newzTestSetCAPI.test_frozenset_newa   s    !//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)	D5D&)D25D>c                    t         j                  }| j                   |t                     d       | j                   |t	                     d       | j                   |h d      d       | j                   |t	        h d            d       | j                   |t        d            d       | j                   |t        d            d       | j                  t              5   |t                      d d d        y # 1 sw Y   y xY wNr   >   r   r   r   )r   r      rC   )
r   set_sizer9   r!   r   r   r   r   r   r#   r   get_sizes     r   test_set_sizezTestSetCAPI.test_set_sizen   s    %%#%!,)+.2),a0)I"67;,y"9:A>"4Y"?@!D{+VX ,++s   %C??Dc                    t         j                  }| j                   |t                     d       | j                   |t	                     d       | j                   |h d      d       | j                   |t	        h d            d       | j                   |t        d            d       | j                   |t        d            d       y rB   )r   set_get_sizer9   r!   r   r   r   rE   s     r   test_set_get_sizezTestSetCAPI.test_set_get_sizez   s    ))#%!,)+.2),a0)I"67;,y"9:A>"4Y"?@!Dr   c                    t         j                  }t        t        t        t
        fD ]}  }| j                  |      5   |d      }| j                   ||d             | j                   ||d             | j                  t        d      5   ||g        d d d        d d d         y # 1 sw Y   xY w# 1 sw Y   xY w)Nclsr   r   r   missingunhashable type: 'list')r   set_containsr!   r   r   r   subTestr    r"   r;   r<   )r   containsrM   instances       r   test_set_containszTestSetCAPI.test_set_contains   s    ))L2DEC#&v;1 56  (I!>?++I7PQXr* R	 '& F
 RQ	 '&s$   AB4
B(B4(B1-B44B=	c                 \   t         j                  }t        t        fD ]  }| j	                  |      5   |d      }| j                   ||d      d       | j                  |ddh       | j                   ||d      d       | j                  |h d       | j                  t        d      5   ||g        d d d        d d d         | j                  t              5   |t               d       d d d        | j                  |d       y # 1 sw Y   UxY w# 1 sw Y   xY w# 1 sw Y   5xY w)	NrL   rN   r   r   r   rC   >   r   r   rC   rP   )r   set_addr!   r   rR   r9   r;   r<   r   r   r#   r   )r   addrM   rT   s       r   test_addz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	5DD"	DDD	"D+c                 *   t         j                  }t        t        fD ]  }| j	                  |      5   |d      }| j                   ||d      d       | j                  |ddh       | j                   ||d      d       | j                  |dh       | j                   ||d      d       | j                  |t                      | j                   ||d      d       | j                  |t                      | j                  t        d      5   ||g        d d d        d d d         | j                  t              5   |t               d       d d d        | j                  |d       y # 1 sw Y   VxY w# 1 sw Y   ixY w# 1 sw Y   5xY w)NrL   rN   rC   r   r   r   rP   )r   set_discardr!   r   rR   r9   r;   r<   r   r   r#   r   )r   discardrM   rT   s       r   test_discardz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E<
E0E<F	0E95E<<F		Fc                 p   t         j                  }d}t        t        fD ]  }| j	                  |      5   ||      }| j                   ||      |       | j                  t        |      d       | j                   ||      |       | j                  t        |      d       | j                  t              5   ||       d d d        d d d         | j                  t              5   |t                      d d d        | j                  |       y # 1 sw Y   SxY w# 1 sw Y   
xY w# 1 sw Y   4xY w)NrN   rL   r   r   )r   set_popr!   r   rR   assertInr9   lenr   KeyErrorr   r#   r   )r   poporigrM   rT   s        r   test_popz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8	DD(D,DDD)	,D5c                    t         j                  }t        t        fD ]  }| j	                  |      5   |d      }| j                   ||      d       | j                  |t                      | j                   ||      d       | j                  |t                      d d d         | j                  t              5   |t                      d d d        | j                  |       y # 1 sw Y   xY w# 1 sw Y   'xY w)NrL   rN   r   )
r   	set_clearr!   r   rR   r9   r   r   r#   r   )r   clearrM   rT   s       r   
test_clearzTestSetCAPI.test_clear   s    ##&C#&v;  x!4  351  x!4  351 '& ' {+&(O ,U# '& ,+s   A-C)>C5)C2	5C>N)r   r	   r
   r   r&   r)   r,   r/   r2   r5   r=   r@   rG   rJ   rU   rY   r]   re   ri   r   r   r   r   r      sT    O******#	E+%$),""$r   r   __main__)unittesttest.supportr   import_moduler   r!   r   r   r   TestCaser   r   mainr   r   r   <module>rp      sf     & (M''4		3 		 	G$(## G$V zHMMO r   