
    daf!                         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
y)
    N)import_helper	_testcapic                       e Zd Zy)set_subclassN__name__
__module____qualname__     2/root/Python-3.12.4/Lib/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/GH 	AJ	##I/HI 	QG	 			 		 		 	s$   !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/GH 	!	##I/HI 	#1b'"	# 	#		$ 	$	 		# 	#s$   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E 	+C#& +v;1 56  (I!>?++I7PQ +Xr*+	+ +	+
+ +	+ +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 &"%&& &	& {+ 	!	S!$	& && &	 	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   si   ''& 	*C#& *v;  1!5q9  Aq62  1!5q9  A3/  1!5q9  351  1!5q9  351++I7PQ *Hb)** *	* {+ 	!FHa 	!Wa(	* ** *	! 	!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"" "	" {+ 	M	S!	" "" "	 	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    ##& 	2C#& 2v;  x!4  351  x!4  3512 2	2 {+ 	&(O	U#2 2	 	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   )unittesttest.supportr   import_moduler   r!   r   r   r   TestCaser   r   r   r   <module>rn      sK     & (M''4		3 		 	G$(## G$r   