403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.153
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_set.cpython-36.opt-1.pyc
3

�w2_��@s�ddlZddlmZddlZddlZddlZddlZddlZddlm	Z	m
Z
ddlZddlZddl
ZddlZddlZGdd�de�Zdd�ZGdd	�d	�ZGd
d�d�ZGdd
�d
e�ZGdd�d�ZGdd�deej�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�deej�ZGdd�de �Z!Gdd�de�Z"e�Z#Gd d!�d!�Z$Gd"d#�d#e$ej�Z%Gd$d%�d%e$ej�Z&Gd&d'�d'e$ej�Z'Gd(d)�d)e$ej�Z(Gd*d+�d+e$ej�Z)Gd,d-�d-e$ej�Z*Gd.d/�d/e$ej�Z+d0d1�Z,d2d3�Z-Gd4d5�d5ej�Z.Gd6d7�d7ej�Z/Gd8d9�d9ej�Z0Gd:d;�d;ej�Z1Gd<d=�d=ej�Z2Gd>d?�d?�Z3Gd@dA�dAe3ej�Z4GdBdC�dCe3ej�Z5GdDdE�dEe3ej�Z6GdFdG�dGe3ej�Z7GdHdI�dIe3ej�Z8GdJdK�dK�Z9GdLdM�dMe9ej�Z:GdNdO�dOe9ej�Z;GdPdQ�dQe9ej�Z<GdRdS�dSe9ej�Z=GdTdU�dUe9ej�Z>GdVdW�dWe9ej�Z?GdXdY�dY�Z@GdZd[�d[e@ej�ZAGd\d]�d]e@ej�ZBGd^d_�d_e@ej�ZCGd`da�dae@ej�ZDGdbdc�dce@ej�ZEGddde�deej�ZFdfdg�ZGGdhdi�di�ZHGdjdk�dk�ZIGdldm�dm�ZJGdndo�do�ZKGdpdq�dq�ZLGdrds�ds�ZMGdtdu�du�ZNddvlmOZOdwdx�ZPGdydz�dzej�ZQGd{d|�d|�ZRGd}d~�d~�ZSGdd��d�ej�ZTd�d��ZUd�d��ZVd�d��ZWd�d��ZXGd�d��d�ej�ZYeZd�k�r�ej[�dS)��N)�support)�	randrange�shufflec@seZdZdS)�PassThruN)�__name__�
__module__�__qualname__�r	r	�2/opt/alt/python36/lib64/python3.6/test/test_set.pyrsrccst�dVdS)N�)rr	r	r	r
�check_pass_thrusrc@seZdZdd�Zdd�ZdS)�BadCmpcCsdS)Nrr	)�selfr	r	r
�__hash__szBadCmp.__hash__cCst�dS)N)�RuntimeError)r�otherr	r	r
�__eq__sz
BadCmp.__eq__N)rrrrrr	r	r	r
r
sr
c@seZdZdZdd�ZdS)�ReprWrapperz*Used to test self-referential repr() callscCs
t|j�S)N)�repr�value)rr	r	r
�__repr__szReprWrapper.__repr__N)rrr�__doc__rr	r	r	r
rsrc@s eZdZdZdd�Zdd�ZdS)�HashCountingIntzBint-like object that counts the number of times __hash__ is calledcGs
d|_dS)Nr)�
hash_count)r�argsr	r	r
�__init__#szHashCountingInt.__init__cCs|jd7_tj|�S)Nr)r�intr)rr	r	r
r%szHashCountingInt.__hash__N)rrrrrrr	r	r	r
r!src@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9S):�TestJointOpscCs2d|_}d|_d|_|j|�|_tj|�|_dS)NZ
simsalabimZ
madagascarZ4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)�word�	otherword�letters�thetype�s�dict�fromkeys�d)rrr	r	r
�setUp,s

zTestJointOps.setUpcCs*|jt|jgd�|jtt�jdd�dS)N�r)�a)�assertRaises�	TypeErrorr!�setr)rr	r	r
�test_new_or_init3szTestJointOps.test_new_or_initcCsHt|j�}t|j�}|j||�|jt|jt��|jt|jgg�dS)N)	�sortedr"r%�assertEqualr)rr!rr*)r�actual�expectedr	r	r
�test_uniquification7s


z TestJointOps.test_uniquificationcCs|jt|j�t|j��dS)N)r.�lenr"r%)rr	r	r
�test_len>szTestJointOps.test_lencCsfx&|jD]}|j||jk||jk�qW|jt|jjgg�|jt|j�g�}|j	|j|j�|�dS)N)
r r.r"r%r)r*�__contains__r!�	frozenset�assertIn)r�cr"r	r	r
�
test_containsAs
zTestJointOps.test_containscCs�|jj|j�}x.|jD]$}|j||k||jkp6||jk�qW|j|j|j|j��|jt|�|j	�|j
t|jjt��|j
t
|jjgg�x�tttjtttfD]�}|j|jd�j|d��td��|j|jd�j|d��td��|j|jd�j|d��td��|j|jd�j|d��td	��|j|jd�j|d�|d
��td��q�W|j�}|j|jtdg�|tdg��|jddg��dS)
N�abcba�cdc�abcd�efgfe�abcefg�ccb�abc�ef�abcefZfgrr')r"�unionrr r.r%r!r�type�basetyper)rrr*r+r5r#r$�str�list�tuple)r�ur7�C�xr	r	r
�
test_unionHs$    *zTestJointOps.test_unioncCsr|jj|j�}|j|jt|j�B|�|j|jt|j�B|�y|j|jBWntk
rbYnX|jd�dS)Nz(s|t did not screen-out general iterables)r"rBrr.r+r5r*�fail)r�ir	r	r
�test_or[szTestJointOps.test_orcCs�|jj|j�}x.|jD]$}|j||k||jko6||jk�qW|j|j|j|j��|jt|�|j	�|j
t|jjt��x�t
ttjtttfD]�}|j|jd�j|d��t
d��|j|jd�j|d��t
d��|j|jd�j|d��t
d��|j|jd�j|d��t
d��|j|jd�j|d	�|d
��t
d��q�W|jd�}|j�}|jt�k�rr|jt|�t|��n|jt|�t|��dS)Nr9r:�ccr<�r>�bcr@ZcbcfZbag�b)r"�intersectionrr r.r%r!rrCrDr)rrr+r5r#r$rErFrG�id�assertNotEqual)rrMr7rIr"�zr	r	r
�test_intersectionfs"$    *
zTestJointOps.test_intersectionc	Cs�dd�}x~dD]v}|j|�}xfdD]^}xXtttjtttfD]B}||�}|j|�}|||�}|j	||�|j
|d
kpx|dk�q:Wq"WqWdS)NcSst|�j|�S)z&Pure python equivalent of isdisjoint())r+rS)�s1�s2r	r	r
�f{sz'TestJointOps.test_isdisjoint.<locals>.frPr(�abr?�ababacr:rOr<r>r@TF)
rPr(r[r?r\r:rOr<r>r@)
rPr(r[r?r\r:rOr<r>r@)r!r+r5r#r$rErFrG�
isdisjointr.�
assertTrue)	rrZZlargrXZrargrIrYr/r0r	r	r
�test_isdisjointzs




zTestJointOps.test_isdisjointcCsr|jj|j�}|j|jt|j�@|�|j|jt|j�@|�y|j|j@Wntk
rbYnX|jd�dS)Nz(s&t did not screen-out general iterables)r"rSrr.r+r5r*rL)rrMr	r	r
�test_and�szTestJointOps.test_andcCsn|jj|j�}x.|jD]$}|j||k||jko6||jk�qW|j|j|j|j��|jt|�|j	�|j
t|jjt��|j
t
|jjgg�x�tttjtttfD]�}|j|jd�j|d��td��|j|jd�j|d��td��|j|jd�j|d��td��|j|jd�j|d��td��|j|jd�j�td��|j|jd�j|d�|d	��td
��q�WdS)Nr9r:r[r<r?r>r(r@rRr7)r"�
differencerr r.r%r!rrCrDr)rrr*r+r5r#r$rErFrG)rrMr7rIr	r	r
�test_difference�s$    zTestJointOps.test_differencecCsr|jj|j�}|j|jt|j�|�|j|jt|j�|�y|j|jWntk
rbYnX|jd�dS)Nz(s-t did not screen-out general iterables)r"rarr.r+r5r*rL)rrMr	r	r
�test_sub�szTestJointOps.test_subcCs.|jj|j�}x.|jD]$}|j||k||jk||jkA�qW|j|j|j|j��|jt|�|j	�|j
t|jjt��|j
t
|jjgg�x�tttjtttfD]�}|j|jd�j|d��td��|j|jd�j|d��td��|j|jd�j|d��td��|j|jd�j|d��td	��q�WdS)
Nr9r:�abdr<r=r>r(r@rA)r"�symmetric_differencerr r.r%r!rrCrDr)rrr*r+r5r#r$rErFrG)rrMr7rIr	r	r
�test_symmetric_difference�s$   z&TestJointOps.test_symmetric_differencecCsr|jj|j�}|j|jt|j�A|�|j|jt|j�A|�y|j|jAWntk
rbYnX|jd�dS)Nz(s^t did not screen-out general iterables)r"rerr.r+r5r*rL)rrMr	r	r
�test_xor�szTestJointOps.test_xorcCs||j|jt|j��|j|jt|j��|j|j|jkd�|j|jt|j��|j|jt|j��|j|j|jkd�dS)NFT)r.r"r+rr5rUr)rr	r	r
�
test_equality�szTestJointOps.test_equalitycCs2ttdddddg�}|j|�}|jt|�d�dS)NZabcdefZbcdZbdcbZfedZfedccba�)�mapr5r!r.r2)r�tr"r	r	r
�test_setOfFrozensets�s
z!TestJointOps.test_setOfFrozensetscCs�t|jdddg�\}}}|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|jtd�jd��|jtd�jd��|jtd�jd��|jtd�jd��dS)Nr[Zabcde�defr(r?Zcbs)rjr!r^ZassertFalser+�issubset�
issuperset)r�p�q�rr	r	r
�test_sub_and_super�szTestJointOps.test_sub_and_supercCs�x�ttjd�D]z}tj|j|�}tj|�}|j|j|d|j|f�t|j�tt	fkrd|j_
tj|j|�}tj|�}|j|jj
|j
�qWdS)Nrz%s != %s�
)�range�pickle�HIGHEST_PROTOCOL�dumpsr"�loadsr.rCr+r5rJ)rrMrp�dupr	r	r
�
test_pickling�s

zTestJointOps.test_picklingcCs�x�ttjd�D]�}t|j�}|j|j�}tj||�}tj|�}|j|t	j
j�|j|j|�|�tj|�}yt
|�}Wntk
r�wYnXtj||�}tj|�}|j|j|�||j|f��qWdS)Nr)rurvrw�iterr"r!rxryZassertIsInstance�collectionsr?�Iteratorr.�next�
StopIteration)r�protoZitorg�datar%�itZdropr	r	r
�test_iterator_pickling�s



z#TestJointOps.test_iterator_picklingcs�G�fdd�d���d�}|j|g�}tj|�}|jt|�t|��x|D]}|}qJW|jt|�t|��|j|jd|j�dS)Ncs*eZdZdd�Zdd�Zd�fdd�	ZdS)	z*TestJointOps.test_deepcopy.<locals>.TracercSs
||_dS)N)r)rrr	r	r
rsz3TestJointOps.test_deepcopy.<locals>.Tracer.__init__cSs|jS)N)r)rr	r	r
rsz3TestJointOps.test_deepcopy.<locals>.Tracer.__hash__Ncs�|jd�S)Nr)r)r�memo)�Tracerr	r
�__deepcopy__
sz7TestJointOps.test_deepcopy.<locals>.Tracer.__deepcopy__)N)rrrrrr�r	)r�r	r
r�sr�rtr)r!�copy�deepcopyrUrTr.r)rrkr"rz�elemZnewtr	)r�r
�
test_deepcopys

zTestJointOps.test_deepcopycsRGdd�d��t�fdd�td�D��}x$|D]}||_||_t|g�|_q.WdS)Nc@seZdZdS)zTestJointOps.test_gc.<locals>.AN)rrrr	r	r	r
�Asr�c3s|]}��VqdS)Nr	)�.0rM)r�r	r
�	<genexpr>sz'TestJointOps.test_gc.<locals>.<genexpr>i�)r+ru�cycle�sub)rr"r�r	)r�r
�test_gcs
zTestJointOps.test_gccCsVGdd�d|j�}|�}t�}|j|�|j||�|j|�|j|�|j|�dS)Nc@seZdZdd�ZdS)z6TestJointOps.test_subclass_with_custom_hash.<locals>.HcSstt|�d@�S)Ni���)rrT)rr	r	r
r"sz?TestJointOps.test_subclass_with_custom_hash.<locals>.H.__hash__N)rrrrr	r	r	r
�H!sr�)r!r+�addr6�remove�discard)rr�r"rZr	r	r
�test_subclass_with_custom_hashs


z+TestJointOps.test_subclass_with_custom_hashcCs||jt�g�}|jt|jt�t�g�|jt|jt��t|d�rx|jt|jt��|jt|jt��|jt|jt��dS)Nr�)	r!r
r)rr4�hasattrr�r�r�)rr"r	r	r
�test_badcmp,s
zTestJointOps.test_badcmpcCsbt�}|j|g�}||_|jtkr4|jt|�d�n*t|�jd�d}|jt|�d||f�dS)Nz
{set(...)}�(rz
%s({%s(...)}))rr!rr+r.r�	partition)r�wr"�namer	r	r
�test_cyclical_repr7s
zTestJointOps.test_cyclical_reprcCszt�}|j|g�}||_ttjd�}z:|jt|��|j�ttjd�}|j	|j
�t|��Wd|j�tjtj�XdS)Nr�rr)
rr!r�openr�TESTFN�writerE�closer.�readr�unlink)rr�r"�for	r	r
�test_cyclical_printAsz TestJointOps.test_cyclical_printcCs:d}tjttt|���}|jtdd�|D��|�|j|�}|jtdd�|D��|�|j|�|jtdd�|D��|�t	|d�r�|j
|�|jtdd�|D��|�tjt|��}|jtdd�|D��|�tjt|��}|jtd	d�|D��|�tjt|�d
�}|jtdd�|D��|�|j|tj|d
��dS)Nrtcss|]}|jVqdS)N)r)r�r�r	r	r
r�Rsz<TestJointOps.test_do_not_rehash_dict_keys.<locals>.<genexpr>css|]}|jVqdS)N)r)r�r�r	r	r
r�Tscss|]}|jVqdS)N)r)r�r�r	r	r
r�Vs�symmetric_difference_updatecss|]}|jVqdS)N)r)r�r�r	r	r
r�Yscss|]}|jVqdS)N)r)r�r�r	r	r
r�[scss|]}|jVqdS)N)r)r�r�r	r	r
r�]s�{css|]}|jVqdS)N)r)r�r�r	r	r
r�_s)
r#r$rjrrur.�sumr!rar�r�r+r5)r�nr%r"Zd2Zd3r	r	r
�test_do_not_rehash_dict_keysOs"



z)TestJointOps.test_do_not_rehash_dict_keyscCsXGdd�dt�}|�}tj|�}t|dg�}t|�|_~~tj�|j|�dkd�dS)Nc@seZdZdS)z/TestJointOps.test_container_iterator.<locals>.CN)rrrr	r	r	r
rIdsrIrzCycle was not collected)	�object�weakref�refr+r|rJ�gcZcollectr^)rrI�objr�Z	containerr	r	r
�test_container_iteratorbs

z$TestJointOps.test_container_iteratorcCstj|t|j�dS)N)rZcheck_free_after_iteratingr|r!)rr	r	r
�test_free_after_iteratingnsz&TestJointOps.test_free_after_iteratingN)rrrr&r,r1r3r8rKrNrWr_r`rbrcrfrgrhrlrsr{r�r�r�r�r�r�r�r�r�r�r	r	r	r
r)s8


rc@s�eZdZeZeZdd�Zdd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zej e!ed3�d4�d5d6��Z"d7S)8�TestSetcCsj|j�}|j|j�|j|t|j��|j|j�|j|t|j��|jt|j|d�|jt|jd�dS)Nr'r)r!rrr.r+rr)r*)rr"r	r	r
�	test_inituszTestSet.test_initcCs0|jtd��}|j|�}|jt|�t|��dS)Nri)r!rurUrT)rr"rkr	r	r
�test_constructor_identity~s
z!TestSet.test_constructor_identitycCs(tdddg�}dddh}|j||�dS)Nrr'ri)r+r.)rr"rkr	r	r
�test_set_literal�s
zTestSet.test_set_literalcCs6dddh}|jt|�d�|j�}|jt|�t�dS)Nrg�?T)r.r2�poprCr)rr"Zstored_valuer	r	r
� test_set_literal_insertion_order�s
z(TestSet.test_set_literal_insertion_ordercs<g��fdd�}|d�|d�|d�h}|j�dddg�dS)Ncs�j|�dS)N)�append)r�)�eventsr	r
�record�sz9TestSet.test_set_literal_evaluation_order.<locals>.recordrr'ri)r.)rr�r"r	)r�r
�!test_set_literal_evaluation_order�sz)TestSet.test_set_literal_evaluation_ordercCs|jtt|j�dS)N)r)r*�hashr")rr	r	r
�	test_hash�szTestSet.test_hashcCs0|jj�|j|jt��|jt|j�d�dS)Nr)r"�clearr.r+r2)rr	r	r
�
test_clear�s
zTestSet.test_clearcCsD|jj�}|j|j|�|jt|j�t|��|jt|�|j�dS)N)r"r�r.rUrTrCrD)rrzr	r	r
�	test_copy�s
zTestSet.test_copycCsT|jjd�|jd|j�|jj�}|jjd�|j|j|�|jt|jjg�dS)N�Q)r"r�r6r�r.r)r*)rrzr	r	r
�test_add�s
zTestSet.test_addcCs�|jjd�|jd|j�|jt|jjd�|jt|jjg�|jt|j�g�}|j	|j|j�|�|j|j|j��|j|j|j�|�|jt|jj|j|j��dS)Nr(r�)
r"r��assertNotInr)�KeyErrorr*r!r5rr6)rr"r	r	r
�test_remove�szTestSet.test_removecCsdx^dD]V}y|jj|�Wn8tk
rR}z|jd}|j||�WYdd}~XqX|j�qWdS)Nr�rr�r)r�r�)r"r�r�rr.rL)r�v1�e�v2r	r	r
�test_remove_keyerror_unpacking�s

z&TestSet.test_remove_keyerror_unpackingcCsr|jddg�}y|jj|�WnFtk
rd}z*|j|jd|kdj||jd��WYdd}~Xn
X|j�dS)Nri�rzKeyError should be {0}, not {1})r!r"r�r�r^r�formatrL)r�keyr�r	r	r
�test_remove_keyerror_set�s z TestSet.test_remove_keyerror_setcCs�|jjd�|jd|j�|jjd�|jt|jjg�|jt|j�g�}|j|j|j�|�|j|j|j��|j|j|j�|�|j|j|j��dS)Nr(r�)	r"r�r�r)r*r!r5rr6)rr"r	r	r
�test_discard�szTestSet.test_discardcCsDx.tt|j��D]}|jj�}|j||j�qW|jt|jj�dS)N)rur2r"r�r�r)r�)rrMr�r	r	r
�test_pop�s
zTestSet.test_popcCs>|jj|j�}|j|d�x"|j|jD]}|j||j�q(W|jt|jjt��|jt	|jjgg�x\dD]T\}}xJt
ttj
tttfD]4}|jd	�}|j|j||��d�|j|t
|��q�WqlWxtdD]l}d}xbt
ttj
tttfD]L}|jd	�}|j|j||�||��d�|j|t
|�t
|�Bt
|�B��q�Wq�WdS)Nr:r;r<r=r>r?r@rAr9�abcdaZahi�r:r;�r<r=�r>r?�r@rA)r�r�r�r�)r:r<r>r@r�)r"�updaterr.rr6r)rrr*r+r5r#r$rErFrGr!)r�retvalr7rprqrIr"r	r	r
�test_update�s"


zTestSet.test_updatecCs<|jt|j�O_x"|j|jD]}|j||j�q"WdS)N)r"r+rrr6)rr7r	r	r
�test_ior�szTestSet.test_iorc	Cs:|jj|j�}|j|d�xF|j|jD]6}||jkrP||jkrP|j||j�q(|j||j�q(W|jt|jjt	��|jt
|jjgg�x�dD]�\}}x�ttt
jtttfD]�}|jd�}|j|j||��d�|j|t|��d}|j|�}d	}|j|j||�||��d�|j|td�t|�@t|�@�q�Wq�WdS)Nr:r7r<rPr>rQr@r9Zcbc�r:r7�r<rP�r>rQ�r@rP)r�r�r�r�)r"�intersection_updaterr.rr6r�r)rrr*r+r5r#r$rErFrGr!)	rr�r7rprqrIr"Zssrkr	r	r
�test_intersection_update�s$

z TestSet.test_intersection_updatecCs`|jt|j�M_xF|j|jD]6}||jkrJ||jkrJ|j||j�q"|j||j�q"WdS)N)r"r+rrr6r�)rr7r	r	r
�	test_iands
zTestSet.test_iandcCs~|jj|j�}|j|d�xF|j|jD]6}||jkrP||jkrP|j||j�q(|j||j�q(W|jt|jjt	��|jt
|jjgg�|jt
|jjgg�x�dD]�\}}x�tt
tjtttfD]�}|jd�}|j|j||��d�|j|t|��|jd	�}|j�|j||jd	��|jd	�}|j|d
��|j||jd��|jd	�}|j|d�|d
��|j||jd��q�Wq�WdS)Nr:r[r<r?r>r(r@r9Z
abcdefghihZabaZcdefghihZefghih�r:r[�r<r?�r>r(�r@r?)r�r�r�r�)r"�difference_updaterr.rr6r�r)rrr*r�r+r5r#r$rErFrGr!)rr�r7rprqrIr"r	r	r
�test_difference_updates.



zTestSet.test_difference_updatecCs`|jt|j�8_xF|j|jD]6}||jkrJ||jkrJ|j||j�q"|j||j�q"WdS)N)r"r+rrr6r�)rr7r	r	r
�	test_isub1s
zTestSet.test_isubcCs�|jj|j�}|j|d�xF|j|jD]6}||jk||jkArP|j||j�q(|j||j�q(W|jt|jjt	��|jt
|jjgg�x\dD]T\}}xJttt
jtttfD]4}|jd	�}|j|j||��d�|j|t|��q�Wq�WdS)Nr:rdr<r=r>r(r@rAr9�r:rd�r<r=�r>r(�r@rA)r�r�r�r�)r"r�rr.rr6r�r)rrr*r+r5r#r$rErFrGr!)rr�r7rprqrIr"r	r	r
� test_symmetric_difference_update9s
z(TestSet.test_symmetric_difference_updatecCs`|jt|j�N_xF|j|jD]6}||jk||jkArJ|j||j�q"|j||j�q"WdS)N)r"r+rrr6r�)rr7r	r	r
�	test_ixorIs
zTestSet.test_ixorcCst|jj�}||O}|j||j�||M}|j||j�||8}|j||j��|jj�}||N}|j||j��dS)N)r"r�r.r!)rrkr	r	r
�test_inplace_on_selfQs

zTestSet.test_inplace_on_selfcCs>|jd�}tj|�}|jt|�t|��d}|jtt|�dS)NZgallahad)r!r��proxyr.rEr)�ReferenceError)rr"rpr	r	r
�test_weakref]s


zTestSet.test_weakrefcCs�Gdd�d�}dddh}|�}||k|j|j�|�}||k|j|j�|�}||k|j|j�|�}||k|j|j�dS)Nc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
z5TestSet.test_rich_compare.<locals>.TestRichSetComparecSs
d|_dS)NTF)�	gt_called)r�some_setr	r	r
�__gt__fsz<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__gt__cSs
d|_dS)NTF)�	lt_called)rr�r	r	r
�__lt__isz<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__lt__cSs
d|_dS)NTF)�	ge_called)rr�r	r	r
�__ge__lsz<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__ge__cSs
d|_dS)NTF)�	le_called)rr�r	r	r
�__le__osz<TestSet.test_rich_compare.<locals>.TestRichSetCompare.__le__N)rrrr�r�r�r�r	r	r	r
�TestRichSetCompareesr�rr'ri)r^r�r�r�r�)rr�ZmysetZmyobjr	r	r
�test_rich_compareds
zTestSet.test_rich_compare�
test_c_apiz*C API test only available in a debug buildcCs|jt�j�d�dS)NT)r.r+r�)rr	r	r
r��szTestSet.test_c_apiN)#rrrr+r!rDr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��unittestZ
skipUnlessr�r�r	r	r	r
r�qs:	$r�c@seZdZdS)�SetSubclassN)rrrr	r	r	r
r��sr�c@seZdZeZeZdS)�TestSetSubclassN)rrrr�r!r+rDr	r	r	r
r�src@seZdZgdfdd�ZdS)�SetSubclassWithKeywordArgsNcCstj||�dS)N)r+r)r�iterable�newargr	r	r
r�sz#SetSubclassWithKeywordArgs.__init__)rrrrr	r	r	r
r�src@seZdZdd�ZdS)�TestSetSubclassWithKeywordArgscCstdd�dS)z=SF bug #1486663 -- this used to erroneously raise a TypeErrorr)rN)r)rr	r	r
�test_keywords_in_subclass�sz8TestSetSubclassWithKeywordArgs.test_keywords_in_subclassN)rrrrr	r	r	r
r�src@sTeZdZeZeZdd�Zdd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dS)�
TestFrozenSetcCs.|j|j�}|j|j�|j|t|j��dS)N)r!rrrr.r+)rr"r	r	r
r��szTestFrozenSet.test_initcCsnt�}t�tg�tf�td�t�tg�tf�td�ttd��tt��t|�|g}|jtttt|���d�dS)NrPrr)r5rur.r2r+rjrT)rrZ�efsr	r	r
�test_singleton_empty_frozenset�sz,TestFrozenSet.test_singleton_empty_frozensetcCs0|jtd��}|j|�}|jt|�t|��dS)Nri)r!rur.rT)rr"rkr	r	r
r��s
z'TestFrozenSet.test_constructor_identitycs�|jt|jd��t|jd���d��fdd�t��D�}t�}x,td�D] }t|�|jt|j|���qJW|jt|�d�dS)NZabcdebZebecda�dcsg|]}t���qSr	)r)r�rM)r�r	r
�
<listcomp>�sz+TestFrozenSet.test_hash.<locals>.<listcomp>��r)r.r�r!rur+rr�r2)r�seqZresultsrMr	)r�r
r��szTestFrozenSet.test_hashcCs$|jj�}|jt|j�t|��dS)N)r"r�r.rT)rrzr	r	r
r��s
zTestFrozenSet.test_copycCsrttd��td�dg}|j|�}|jt|��}|j||�|jt|�t|��i}d||<|j||d�dS)NrtZabcdefgZapple�*)rFrur!�reversedr.rUrT)rrZkey1Zkey2r%r	r	r
�test_frozen_as_dictkey�s
z$TestFrozenSet.test_frozen_as_dictkeycCs"|jd�}|jt|�t|��dS)NZabcdcda)r!r.r�)rrZr	r	r
�test_hash_caching�s
zTestFrozenSet.test_hash_cachingc
	s�d}t�}|j}dd�t|�D�}x2td|�D]"�|tt�fdd�|D����q0W|jt|�d|�dd�}dd	�}xftd
�D]Z}d|}|d�xDt|fD]8}t�fdd
�tt|||���D��}	|jd|	|�q�Wq�WdS)N�
cSsg|]}|dd|>f�qS)rr	)r�rMr	r	r
r
�sz9TestFrozenSet.test_hash_effectiveness.<locals>.<listcomp>r'csg|]\}}|�@r|�qSr	r	)r�r��m)rMr	r
r
�scSs<t�g}x&t|d�D]}t|�}|j|�qW|d|�S)Nr)r5rur�)r��numsrMZnumr	r	r
�zf_range�s
z7TestFrozenSet.test_hash_effectiveness.<locals>.zf_rangecss6x0tt|�d�D]}tttj||��EdHqWdS)Nr)rur2rjr5�	itertools�combinations)r"rMr	r	r
�powerset�sz7TestFrozenSet.test_hash_effectiveness.<locals>.powerset�rcsh|]}|�@�qSr	r	)r��h)�maskr	r
�	<setcomp>�sz8TestFrozenSet.test_hash_effectiveness.<locals>.<setcomp>r�)	r+r�rur�r5r.r2rjZ
assertGreater)
rr�Z
hashvaluesZaddhashvalueZ	elemmasksrrrkrrHr	)rMrr
�test_hash_effectiveness�s"$z%TestFrozenSet.test_hash_effectivenessN)rrrr5r!rDr�rr�r�r�rrrr	r	r	r
r�s	

rc@seZdZdS)�FrozenSetSubclassN)rrrr	r	r	r
r�src@s4eZdZeZeZdd�Zdd�Zdd�Z	dd�Z
d	S)
�TestFrozenSetSubclasscCs0|jtd��}|j|�}|jt|�t|��dS)Nri)r!rurUrT)rr"rkr	r	r
r��s
z/TestFrozenSetSubclass.test_constructor_identitycCs$|jj�}|jt|j�t|��dS)N)r"r�rUrT)rrzr	r	r
r��s
zTestFrozenSetSubclass.test_copycCs"|j�}|j|�}|j||�dS)N)r!r.)rr"rkr	r	r
�test_nested_empty_constructors
z3TestFrozenSetSubclass.test_nested_empty_constructorcCs�|j}t�}|�}|�|g�|f�|d�|�|g�|f�|d�|td��||��|t��||||�||�g}|jtttt|���t|��dS)NrPr)r!r5rur.r2r+rjrT)rZ	FrozensetrZ�Frr	r	r
rsz4TestFrozenSetSubclass.test_singleton_empty_frozensetN)rrrrr!r5rDr�r�rrr	r	r	r
r�src@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/S)0�TestBasicOpscCs"|jdk	r|jt|j�|j�dS)N)rr.r+)rr	r	r
�	test_reprs
zTestBasicOps.test_reprcCslt|j�}|j|jd��|j|jd��|dd�jd�}|j�dd�|jD�}|j�|j||�dS)N�{�}rz, cSsg|]}t|��qSr	)r)r�rr	r	r
r
#sz:TestBasicOps.check_repr_against_values.<locals>.<listcomp>���)	rr+r^�
startswith�endswith�split�sort�valuesr.)r�text�resultZsorted_repr_valuesr	r	r
�check_repr_against_valuess
z&TestBasicOps.check_repr_against_valuescCsfzJttjd�}|jt|j��|j�ttjd�}|j|j�t	|j��Wd|j�tj
tj�XdS)Nr�rr)r�rr�r�rEr+r�r.r�rr�)rr�r	r	r
�
test_print'szTestBasicOps.test_printcCs|jt|j�|j�dS)N)r.r2r+�length)rr	r	r
�test_length2szTestBasicOps.test_lengthcCs|j|j|j�dS)N)r.r+)rr	r	r
�test_self_equality5szTestBasicOps.test_self_equalitycCs|j|j|j�dS)N)r.r+rz)rr	r	r
�test_equivalent_equality8sz%TestBasicOps.test_equivalent_equalitycCs|j|jj�|j�dS)N)r.r+r�rz)rr	r	r
r�;szTestBasicOps.test_copycCs|j|jB}|j||j�dS)N)r+r.rz)rr,r	r	r
�test_self_union>szTestBasicOps.test_self_unioncCs|jtB}|j||j�dS)N)r+�	empty_setr.rz)rr,r	r	r
�test_empty_unionBs
zTestBasicOps.test_empty_unioncCst|jB}|j||j�dS)N)r4r+r.rz)rr,r	r	r
�test_union_emptyFs
zTestBasicOps.test_union_emptycCs|j|j@}|j||j�dS)N)r+r.rz)rr,r	r	r
�test_self_intersectionJsz#TestBasicOps.test_self_intersectioncCs|jt@}|j|t�dS)N)r+r4r.)rr,r	r	r
�test_empty_intersectionNs
z$TestBasicOps.test_empty_intersectioncCst|j@}|j|t�dS)N)r4r+r.)rr,r	r	r
�test_intersection_emptyRs
z$TestBasicOps.test_intersection_emptycCs"|jj|j�}|j||j�dS)N)r+r]r.)rr,r	r	r
�test_self_isdisjointVsz!TestBasicOps.test_self_isdisjointcCs|jjt�}|j|d�dS)NT)r+r]r4r.)rr,r	r	r
�test_empty_isdisjointZsz"TestBasicOps.test_empty_isdisjointcCstj|j�}|j|d�dS)NT)r4r]r+r.)rr,r	r	r
�test_isdisjoint_empty^sz"TestBasicOps.test_isdisjoint_emptycCs|j|jA}|j|t�dS)N)r+r.r4)rr,r	r	r
�test_self_symmetric_differencebsz+TestBasicOps.test_self_symmetric_differencecCs|jtA}|j||j�dS)N)r+r4r.)rr,r	r	r
�test_empty_symmetric_differencefs
z,TestBasicOps.test_empty_symmetric_differencecCs|j|j}|j|t�dS)N)r+r.r4)rr,r	r	r
�test_self_differencejsz!TestBasicOps.test_self_differencecCs|jt}|j||j�dS)N)r+r4r.rz)rr,r	r	r
�test_empty_differencens
z"TestBasicOps.test_empty_differencecCst|j}|j|t�dS)N)r4r+r.)rr,r	r	r
�test_empty_difference_revrs
z&TestBasicOps.test_empty_difference_revcCsBx|jD]}|j||j�qWt|j�}|j|j�t|j��dS)N)r+r6r*r|r.�__length_hint__r2)r�vZsetiterr	r	r
�test_iterationvs
zTestBasicOps.test_iterationcCsNxHttjd�D]6}tj|j|�}tj|�}|j|j|d|j|f�qWdS)Nrz%s != %s)rurvrwrxr+ryr.)rr�rpr�r	r	r
r{|s


zTestBasicOps.test_picklingN)rrrr"r-r.r0r1r2r�r3r5r6r7r8r9r:r;r<r=r>r?r@rArDr{r	r	r	r
r!s.r!c@seZdZdd�ZdS)�TestBasicOpsEmptycCs4d|_g|_t|j�|_t|j�|_d|_d|_dS)Nz	empty setrzset())�caser*r+rzr/r)rr	r	r
r&�szTestBasicOpsEmpty.setUpN)rrrr&r	r	r	r
rE�srEc@s$eZdZdd�Zdd�Zdd�ZdS)�TestBasicOpsSingletoncCs6d|_dg|_t|j�|_t|j�|_d|_d|_dS)Nzunit set (number)rirz{3})rFr*r+rzr/r)rr	r	r
r&�szTestBasicOpsSingleton.setUpcCs|jd|j�dS)Nri)r6r+)rr	r	r
�test_in�szTestBasicOpsSingleton.test_incCs|jd|j�dS)Nr')r�r+)rr	r	r
�test_not_in�sz!TestBasicOpsSingleton.test_not_inN)rrrr&rHrIr	r	r	r
rG�srGc@s$eZdZdd�Zdd�Zdd�ZdS)�TestBasicOpsTuplecCs6d|_dg|_t|j�|_t|j�|_d|_d|_dS)Nzunit set (tuple)r�zerorz
{(0, 'zero')})rrK)rFr*r+rzr/r)rr	r	r
r&�szTestBasicOpsTuple.setUpcCs|jd|j�dS)NrrK)rrK)r6r+)rr	r	r
rH�szTestBasicOpsTuple.test_incCs|jd|j�dS)N�	)r�r+)rr	r	r
rI�szTestBasicOpsTuple.test_not_inN)rrrr&rHrIr	r	r	r
rJ�srJc@seZdZdd�ZdS)�TestBasicOpsTriplecCs<d|_ddtjg|_t|j�|_t|j�|_d|_d|_dS)Nz
triple setrrKri)rF�operatorr�r*r+rzr/r)rr	r	r
r&�szTestBasicOpsTriple.setUpN)rrrr&r	r	r	r
rM�srMc@seZdZdd�Zdd�ZdS)�TestBasicOpsStringcCs4d|_dddg|_t|j�|_t|j�|_d|_dS)Nz
string setr(rRr7ri)rFr*r+rzr/)rr	r	r
r&�s
zTestBasicOpsString.setUpcCs|j�dS)N)r-)rr	r	r
r"�szTestBasicOpsString.test_reprN)rrrr&r"r	r	r	r
rO�srOc@seZdZdd�Zdd�ZdS)�TestBasicOpsBytescCs4d|_dddg|_t|j�|_t|j�|_d|_dS)Nz	bytes set�a�b�cri)rFr*r+rzr/)rr	r	r
r&�s
zTestBasicOpsBytes.setUpcCs|j�dS)N)r-)rr	r	r
r"�szTestBasicOpsBytes.test_reprN)rrrr&r"r	r	r	r
rP�srPc@s$eZdZdd�Zdd�Zdd�ZdS)�TestBasicOpsMixedStringBytescCsVtj�|_|jj�tjdt�d|_ddddg|_t	|j�|_	t	|j�|_
d|_dS)N�ignorezstring and bytes setr(rRrQrRr�)rZcheck_warnings�_warning_filters�	__enter__�warnings�simplefilter�BytesWarningrFr*r+rzr/)rr	r	r
r&�s

z"TestBasicOpsMixedStringBytes.setUpcCs|jjddd�dS)N)rV�__exit__)rr	r	r
�tearDown�sz%TestBasicOpsMixedStringBytes.tearDowncCs|j�dS)N)r-)rr	r	r
r"�sz&TestBasicOpsMixedStringBytes.test_reprN)rrrr&r\r"r	r	r	r
rT�s
rTccst�dVdS)NT)r*r	r	r	r
�baditer�sr]ccs
dVdS)NTr	r	r	r	r
�gooditer�sr^c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�TestExceptionPropagationz?SF 628246:  Set constructor should not trap iterator TypeErrorscCs|jttt��dS)N)r)r*r+r])rr	r	r
�test_instanceWithException�sz3TestExceptionPropagation.test_instanceWithExceptioncCsHtdddg�td�tdddd��ttd��td�tt��dS)Nrr'ri)ZoneZtwoZthreer?)rr'ri)r+rur^)rr	r	r
�test_instancesWithoutException�sz7TestExceptionPropagation.test_instancesWithoutExceptioncCsPtdddg�}yx|D]}|jdg�qWWntk
r@YnX|jd�dS)Nrr'rir�z0no exception when changing size during iteration)r+r�rrL)rr"rMr	r	r
�test_changingSizeWhileIteratings
z8TestExceptionPropagation.test_changingSizeWhileIteratingN)rrrrr`rarbr	r	r	r
r_�s	r_c@seZdZdd�ZdS)�
TestSetOfSetscCs\tdg�}t|g�}|j�}|jt|�t�|j|�|j|�|j|t��|j|�dS)Nr)r5r+r�r.rCr�r�r�)r�innerZouter�elementr	r	r
�test_constructor
s



zTestSetOfSets.test_constructorN)rrrrfr	r	r	r
rcsrcc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%S)&�
TestBinaryOpscCstd�|_dS)Nr'r��)r'r�rh)r+)rr	r	r
r&szTestBinaryOps.setUpcCs|j|jtdddd���dS)Nrri�)r'r�rh)r.r+)rr	r	r
�test_eqszTestBinaryOps.test_eqcCs$|jtdg�B}|j|td��dS)Nr'r�rh)r'r�rh)r+r.)rr,r	r	r
�test_union_subset szTestBinaryOps.test_union_subsetcCs2|jtddddg�B}|j|tddddg��dS)Nr'r�rh�)r+r.)rr,r	r	r
�test_union_superset$sz!TestBinaryOps.test_union_supersetcCs2|jtdddg�B}|j|tdddddg��dS)Nrir�rir'rh)r+r.)rr,r	r	r
�test_union_overlap(sz TestBinaryOps.test_union_overlapcCs,|jtdg�B}|j|tddddg��dS)Nrlr'r�rh)r+r.)rr,r	r	r
�test_union_non_overlap,sz$TestBinaryOps.test_union_non_overlapcCs"|jtd�@}|j|td��dS)Nr'r�)r'r�)r'r�)r+r.)rr,r	r	r
�test_intersection_subset0sz&TestBinaryOps.test_intersection_subsetcCs0|jtddddg�@}|j|tdddg��dS)Nr'r�rhrl)r+r.)rr,r	r	r
�test_intersection_superset4sz(TestBinaryOps.test_intersection_supersetcCs*|jtdddg�@}|j|tdg��dS)Nrir�ri)r+r.)rr,r	r	r
�test_intersection_overlap8sz'TestBinaryOps.test_intersection_overlapcCs |jtdg�@}|j|t�dS)Nrl)r+r.r4)rr,r	r	r
�test_intersection_non_overlap<sz+TestBinaryOps.test_intersection_non_overlapcCs |jjtd��}|j|d�dS)Nr'r�F)r'r�)r+r]r.)rr,r	r	r
�test_isdisjoint_subset@sz$TestBinaryOps.test_isdisjoint_subsetcCs(|jjtddddg��}|j|d�dS)Nr'r�rhrlF)r+r]r.)rr,r	r	r
�test_isdisjoint_supersetDsz&TestBinaryOps.test_isdisjoint_supersetcCs&|jjtdddg��}|j|d�dS)Nrir�riF)r+r]r.)rr,r	r	r
�test_isdisjoint_overlapHsz%TestBinaryOps.test_isdisjoint_overlapcCs"|jjtdg��}|j|d�dS)NrlT)r+r]r.)rr,r	r	r
�test_isdisjoint_non_overlapLsz)TestBinaryOps.test_isdisjoint_non_overlapcCs$|jtd�A}|j|tdg��dS)Nr'r�rh)r'r�)r+r.)rr,r	r	r
�test_sym_difference_subsetPsz(TestBinaryOps.test_sym_difference_subsetcCs$|jtd�A}|j|tdg��dS)Nr'r�rhrl)r'r�rhrl)r+r.)rr,r	r	r
�test_sym_difference_supersetTsz*TestBinaryOps.test_sym_difference_supersetcCs*|jtd�A}|j|tddddg��dS)Nrir�rir'rh)rir�ri)r+r.)rr,r	r	r
�test_sym_difference_overlapXsz)TestBinaryOps.test_sym_difference_overlapcCs,|jtdg�A}|j|tddddg��dS)Nrlr'r�rh)r+r.)rr,r	r	r
�test_sym_difference_non_overlap\sz-TestBinaryOps.test_sym_difference_non_overlapN)rrrr&rjrkrmrnrorprqrrrsrtrurvrwrxryrzr{r	r	r	r
rgs$rgc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+S),�
TestUpdateOpscCstd�|_dS)Nr'r�rh)r'r�rh)r+)rr	r	r
r&cszTestUpdateOps.setUpcCs*|jtdg�O_|j|jtd��dS)Nr'r�rh)r'r�rh)r+r.)rr	r	r
rkfszTestUpdateOps.test_union_subsetcCs8|jtddddg�O_|j|jtddddg��dS)Nr'r�rhrl)r+r.)rr	r	r
rmjsz!TestUpdateOps.test_union_supersetcCs8|jtdddg�O_|j|jtdddddg��dS)Nrir�rir'rh)r+r.)rr	r	r
rnnsz TestUpdateOps.test_union_overlapcCs2|jtdg�O_|j|jtddddg��dS)Nrlr'r�rh)r+r.)rr	r	r
rorsz$TestUpdateOps.test_union_non_overlapcCs6|jjtdddg��|j|jtdddddg��dS)Nrir�rir'rh)r+r�r.)rr	r	r
�test_union_method_callvsz$TestUpdateOps.test_union_method_callcCs(|jtd�M_|j|jtd��dS)Nr'r�)r'r�)r'r�)r+r.)rr	r	r
rpzsz&TestUpdateOps.test_intersection_subsetcCs6|jtddddg�M_|j|jtdddg��dS)Nr'r�rhrl)r+r.)rr	r	r
rq~sz(TestUpdateOps.test_intersection_supersetcCs0|jtdddg�M_|j|jtdg��dS)Nrir�ri)r+r.)rr	r	r
rr�sz'TestUpdateOps.test_intersection_overlapcCs&|jtdg�M_|j|jt�dS)Nrl)r+r.r4)rr	r	r
rs�sz+TestUpdateOps.test_intersection_non_overlapcCs.|jjtdddg��|j|jtdg��dS)Nrir�ri)r+r�r.)rr	r	r
�test_intersection_method_call�sz+TestUpdateOps.test_intersection_method_callcCs*|jtd�N_|j|jtdg��dS)Nr'r�rh)r'r�)r+r.)rr	r	r
rx�sz(TestUpdateOps.test_sym_difference_subsetcCs*|jtd�N_|j|jtdg��dS)Nr'r�rhrl)r'r�rhrl)r+r.)rr	r	r
ry�sz*TestUpdateOps.test_sym_difference_supersetcCs0|jtd�N_|j|jtddddg��dS)Nrir�rir'rh)rir�ri)r+r.)rr	r	r
rz�sz)TestUpdateOps.test_sym_difference_overlapcCs2|jtdg�N_|j|jtddddg��dS)Nrlr'r�rh)r+r.)rr	r	r
r{�sz-TestUpdateOps.test_sym_difference_non_overlapcCs4|jjtdddg��|j|jtddddg��dS)Nrir�rir'rh)r+r�r.)rr	r	r
�test_sym_difference_method_call�sz-TestUpdateOps.test_sym_difference_method_callcCs*|jtd�8_|j|jtdg��dS)Nr'r�rh)r'r�)r+r.)rr	r	r
�test_difference_subset�sz$TestUpdateOps.test_difference_subsetcCs(|jtd�8_|j|jtg��dS)Nr'r�rhrl)r'r�rhrl)r+r.)rr	r	r
�test_difference_superset�sz&TestUpdateOps.test_difference_supersetcCs,|jtd�8_|j|jtddg��dS)Nrir�rir'rh)rir�ri)r+r.)rr	r	r
�test_difference_overlap�sz%TestUpdateOps.test_difference_overlapcCs0|jtdg�8_|j|jtdddg��dS)Nrlr'r�rh)r+r.)rr	r	r
�test_difference_non_overlap�sz)TestUpdateOps.test_difference_non_overlapcCs0|jjtdddg��|j|jtddg��dS)Nrir�rir'rh)r+r�r.)rr	r	r
�test_difference_method_call�sz)TestUpdateOps.test_difference_method_callN)rrrr&rkrmrnror}rprqrrrsr~rxryrzr{rr�r�r�r�r�r	r	r	r
r|bs*r|c@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�
TestMutatecCsdddg|_t|j�|_dS)Nr(rRr7)r*r+)rr	r	r
r&�szTestMutate.setUpcCs"|jjd�|j|jtd��dS)Nr7r?)r+r�r.)rr	r	r
�test_add_present�szTestMutate.test_add_presentcCs"|jjd�|j|jtd��dS)Nr%r;)r+r�r.)rr	r	r
�test_add_absent�szTestMutate.test_add_absentcCsNt�}d}x0|jD]&}|j|�|d7}|jt|�|�qW|j||j�dS)Nrr)r+r*r�r.r2)rZtmp�expected_lenrCr	r	r
�test_add_until_full�s
zTestMutate.test_add_until_fullcCs"|jjd�|j|jtd��dS)NrRZac)r+r�r.)rr	r	r
�test_remove_present�szTestMutate.test_remove_presentcCs4y|jjd�|jd�Wntk
r.YnXdS)Nr%z7Removing missing element should have raised LookupError)r+r�rL�LookupError)rr	r	r
�test_remove_absent�s
zTestMutate.test_remove_absentcCsDt|j�}x4|jD]*}|jj|�|d8}|jt|j�|�qWdS)Nr)r2r+r*r�r.)rr�rCr	r	r
�test_remove_until_empty�s

z"TestMutate.test_remove_until_emptycCs"|jjd�|j|jtd��dS)Nr7r[)r+r�r.)rr	r	r
�test_discard_present�szTestMutate.test_discard_presentcCs"|jjd�|j|jtd��dS)Nr%r?)r+r�r.)rr	r	r
�test_discard_absent�szTestMutate.test_discard_absentcCs |jj�|jt|j�d�dS)Nr)r+r�r.r2)rr	r	r
r��s
zTestMutate.test_clearcCsTi}x|jrd||jj�<qW|jt|�t|j��x|jD]}|j||�q<WdS)N)r+r�r.r2r*r6)rZpoppedrCr	r	r
r��szTestMutate.test_popcCs$|jjf�|j|jt|j��dS)N)r+r�r.r*)rr	r	r
�test_update_empty_tuple�sz"TestMutate.test_update_empty_tuplecCs$|jjd�|j|jt|j��dS)Nr()r()r+r�r.r*)rr	r	r
�test_update_unit_tuple_overlap�sz)TestMutate.test_update_unit_tuple_overlapcCs*|jjd�|j|jt|jdg��dS)Nr(rV)r(rV)r+r�r.r*)rr	r	r
�"test_update_unit_tuple_non_overlap�sz-TestMutate.test_update_unit_tuple_non_overlapN)rrrr&r�r�r�r�r�r�r�r�r�r�r�r�r�r	r	r	r
r��s	r�c@s0eZdZddd�Zdddddd	d
�Zdd�Zd
S)�TestSubsetsrnro)z<=z>=z==z!=�>�<z>=z<=)z==z!=r�r�z<=z>=cCs�|j}|j}x�d	D]�}||jk}td|dt��}|j||�|tjkrnt|tj|�}||�}|j||�tj	|}td|dt��}|j||�|tjkrt|tj|�}||�}|j||�qWdS)
N�!=�==r��<=r��>=rJ�y)r�r�r�r�r�r�)
�left�right�cases�eval�localsr.r��case2method�getattr�reverse)rrJr�rFr0r,�methodZrcaser	r	r
�
test_issubsets"




zTestSubsets.test_issubsetN)rrrr�r�r�r	r	r	r
r�sr�c@s eZdZe�Ze�ZdZdZdS)�TestSubsetEqualEmptyz
both empty�==�<=�>=N)r�r�r�)rrrr+r�r�r�r�r	r	r	r
r�(sr�c@s,eZdZeddg�Zeddg�ZdZdZdS)	�TestSubsetEqualNonEmptyrr'z
equal pair�==�<=�>=N)r�r�r�)rrrr+r�r�r�r�r	r	r	r
r�0sr�c@s&eZdZe�Zeddg�ZdZdZdS)	�TestSubsetEmptyNonEmptyrr'zone empty, one non-empty�!=r��<=N)r�r�r�)rrrr+r�r�r�r�r	r	r	r
r�8sr�c@s*eZdZedg�Zeddg�ZdZdZdS)	�TestSubsetPartialrr'z&one a non-empty proper subset of other�!=r��<=N)r�r�r�)rrrr+r�r�r�r�r	r	r	r
r�@s
r�c@s(eZdZedg�Zedg�ZdZdZdS)�TestSubsetNonOverlaprr'zneither empty, neither containsz!=N)rrrr+r�r�r�r�r	r	r	r
r�Hs

r�c@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�TestOnlySetsInBinaryOpscCsT|j|j|jkd�|j|j|jkd�|j|j|jkd�|j|j|jkd�dS)NFT)r.rr+)rr	r	r
�
test_eq_neRsz"TestOnlySetsInBinaryOps.test_eq_necs��jt�fdd���jt�fdd���jt�fdd���jt�fdd���jt�fdd���jt�fdd���jt�fdd���jt�fd	d��dS)
Ncs�j�jkS)N)r+rr	)rr	r
�<lambda>Zsz:TestOnlySetsInBinaryOps.test_ge_gt_le_lt.<locals>.<lambda>cs�j�jkS)N)r+rr	)rr	r
r�[scs�j�jkS)N)r+rr	)rr	r
r�\scs�j�jkS)N)r+rr	)rr	r
r�]scs�j�jkS)N)rr+r	)rr	r
r�_scs�j�jkS)N)rr+r	)rr	r
r�`scs�j�jkS)N)rr+r	)rr	r
r�ascs�j�jkS)N)rr+r	)rr	r
r�bs)r)r*)rr	)rr
�test_ge_gt_le_ltYsz(TestOnlySetsInBinaryOps.test_ge_gt_le_ltcCs8y|j|jO_Wntk
r(YnX|jd�dS)Nzexpected TypeError)r+rr*rL)rr	r	r
�test_update_operatords
z,TestOnlySetsInBinaryOps.test_update_operatorcCs.|jr|jj|j�n|jt|jj|j�dS)N)�otherIsIterabler+r�rr)r*)rr	r	r
r�lsz#TestOnlySetsInBinaryOps.test_updatecsV�jt�fdd���jt�fdd���jr>�jj�j�n�jt�jj�j�dS)Ncs�j�jBS)N)r+rr	)rr	r
r�ssz4TestOnlySetsInBinaryOps.test_union.<locals>.<lambda>cs�j�jBS)N)rr+r	)rr	r
r�ts)r)r*r�r+rBr)rr	)rr
rKrs
z"TestOnlySetsInBinaryOps.test_unioncCs8y|j|jM_Wntk
r(YnX|jd�dS)Nzexpected TypeError)r+rr*rL)rr	r	r
�!test_intersection_update_operatorzs
z9TestOnlySetsInBinaryOps.test_intersection_update_operatorcCs.|jr|jj|j�n|jt|jj|j�dS)N)r�r+r�rr)r*)rr	r	r
r��s
z0TestOnlySetsInBinaryOps.test_intersection_updatecsV�jt�fdd���jt�fdd���jr>�jj�j�n�jt�jj�j�dS)Ncs�j�j@S)N)r+rr	)rr	r
r��sz;TestOnlySetsInBinaryOps.test_intersection.<locals>.<lambda>cs�j�j@S)N)rr+r	)rr	r
r��s)r)r*r�r+rSr)rr	)rr
rW�s
z)TestOnlySetsInBinaryOps.test_intersectioncCs8y|j|jN_Wntk
r(YnX|jd�dS)Nzexpected TypeError)r+rr*rL)rr	r	r
�#test_sym_difference_update_operator�s
z;TestOnlySetsInBinaryOps.test_sym_difference_update_operatorcCs.|jr|jj|j�n|jt|jj|j�dS)N)r�r+r�rr)r*)rr	r	r
�test_sym_difference_update�s
z2TestOnlySetsInBinaryOps.test_sym_difference_updatecsV�jt�fdd���jt�fdd���jr>�jj�j�n�jt�jj�j�dS)Ncs�j�jAS)N)r+rr	)rr	r
r��sz=TestOnlySetsInBinaryOps.test_sym_difference.<locals>.<lambda>cs�j�jAS)N)rr+r	)rr	r
r��s)r)r*r�r+rer)rr	)rr
�test_sym_difference�s
z+TestOnlySetsInBinaryOps.test_sym_differencecCs8y|j|j8_Wntk
r(YnX|jd�dS)Nzexpected TypeError)r+rr*rL)rr	r	r
�test_difference_update_operator�s
z7TestOnlySetsInBinaryOps.test_difference_update_operatorcCs.|jr|jj|j�n|jt|jj|j�dS)N)r�r+r�rr)r*)rr	r	r
r��s
z.TestOnlySetsInBinaryOps.test_difference_updatecsV�jt�fdd���jt�fdd���jr>�jj�j�n�jt�jj�j�dS)Ncs�j�jS)N)r+rr	)rr	r
r��sz9TestOnlySetsInBinaryOps.test_difference.<locals>.<lambda>cs�j�jS)N)rr+r	)rr	r
r��s)r)r*r�r+rar)rr	)rr
rb�s
z'TestOnlySetsInBinaryOps.test_differenceN)rrrr�r�r�r�rKr�r�rWr�r�r�r�r�rbr	r	r	r
r�Psr�c@seZdZdd�ZdS)�TestOnlySetsNumericcCstd�|_d|_d|_dS)Nrr'ri�F)rr'ri)r+rr�)rr	r	r
r&�s
zTestOnlySetsNumeric.setUpN)rrrr&r	r	r	r
r��sr�c@seZdZdd�ZdS)�TestOnlySetsDictcCs td�|_ddd�|_d|_dS)Nrr'rir�)rriT)rr'ri)r+rr�)rr	r	r
r&�s
zTestOnlySetsDict.setUpN)rrrr&r	r	r	r
r��sr�c@seZdZdd�ZdS)�TestOnlySetsOperatorcCstd�|_tj|_d|_dS)Nrr'riF)rr'ri)r+rNr�rr�)rr	r	r
r&�s
zTestOnlySetsOperator.setUpN)rrrr&r	r	r	r
r��sr�c@seZdZdd�ZdS)�TestOnlySetsTuplecCstd�|_d|_d|_dS)	Nrr'rir�rhT)rr'ri)r'r�rh)r+rr�)rr	r	r
r&�s
zTestOnlySetsTuple.setUpN)rrrr&r	r	r	r
r��sr�c@seZdZdd�ZdS)�TestOnlySetsStringcCstd�|_d|_d|_dS)Nrr'rir?T)rr'ri)r+rr�)rr	r	r
r&�s
zTestOnlySetsString.setUpN)rrrr&r	r	r	r
r��sr�c@seZdZdd�ZdS)�TestOnlySetsGeneratorcCs$dd�}td�|_|�|_d|_dS)Ncss xtddd�D]
}|VqWdS)Nrrtr')ru)rMr	r	r
�gen�sz(TestOnlySetsGenerator.setUp.<locals>.genrr'riT)rr'ri)r+rr�)rr�r	r	r
r&�s
zTestOnlySetsGenerator.setUpN)rrrr&r	r	r	r
r��sr�c@seZdZdd�Zdd�ZdS)�TestCopyingcCsh|jj�}t|td�}t|jtd�}|jt|�t|��x*tt|��D]}|j||||k�qFWdS)N)r�)r+r�r-rr.r2rur^)rrz�dup_list�set_listrMr	r	r
r��s
zTestCopying.test_copycCshtj|j�}t|td�}t|jtd�}|jt|�t|��x(tt|��D]}|j||||�qHWdS)N)r�)r�r�r+r-rr.r2ru)rrzr�r�rMr	r	r
�test_deep_copyszTestCopying.test_deep_copyN)rrrr�r�r	r	r	r
r��sr�c@seZdZdd�ZdS)�TestCopyingEmptycCst�|_dS)N)r+)rr	r	r
r&
szTestCopyingEmpty.setUpN)rrrr&r	r	r	r
r�sr�c@seZdZdd�ZdS)�TestCopyingSingletoncCstdg�|_dS)NZhello)r+)rr	r	r
r&szTestCopyingSingleton.setUpN)rrrr&r	r	r	r
r�sr�c@seZdZdd�ZdS)�TestCopyingTriplecCstdddg�|_dS)NrKr)r+)rr	r	r
r&szTestCopyingTriple.setUpN)rrrr&r	r	r	r
r�sr�c@seZdZdd�ZdS)�TestCopyingTuplecCstdg�|_dS)Nrr')rr')r+)rr	r	r
r&szTestCopyingTuple.setUpN)rrrr&r	r	r	r
r�sr�c@seZdZdd�ZdS)�TestCopyingNestedcCstdg�|_dS)Nrr'rir��rr'�rir�)r�r�)r+)rr	r	r
r&%szTestCopyingNested.setUpN)rrrr&r	r	r	r
r�$sr�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestIdentitiescCstd�|_td�|_dS)NZabracadabraZalacazam)r+r(rR)rr	r	r
r&+s
zTestIdentities.setUpcCs�|j|j}}|j|||k�|j|||k�|j||@|k�|j||@|k�|j||B|k�|j||B|k�|j||A||Bk�dS)N)r(rRr^)rr(rRr	r	r
�test_binopsVsSubsets/sz#TestIdentities.test_binopsVsSubsetscCsj|j|j}}|j||@||@�|j||B||B�|j||A||A�||krf|j||||�dS)N)r(rRr.rU)rr(rRr	r	r
�test_commutativity9sz!TestIdentities.test_commutativitycCs�|j|j}}|j||||@B||B||B�|j||@||AB||B�|j|||B||B�|j|||B||B�|j||||@B|�|j||||@B|�|j||||B||A�dS)N)r(rRr.)rr(rRr	r	r
�test_summationsAs$zTestIdentities.test_summationscCsZ|j|jt�}}}|j|||@|�|j|||@|�|j||@||A@|�dS)N)r(rRr+r.)rr(rRrKr	r	r
�test_exclusionLszTestIdentities.test_exclusionN)rrrr&r�r�r�r�r	r	r	r
r�*s

r�ccsx|D]
}|VqWdS)zRegular generatorNr	)�seqnrMr	r	r
�RUs
r�c@s eZdZdZdd�Zdd�ZdS)�GzSequence using __getitem__cCs
||_dS)N)r�)rr�r	r	r
r\sz
G.__init__cCs
|j|S)N)r�)rrMr	r	r
�__getitem__^sz
G.__getitem__N)rrrrrr�r	r	r	r
r�Zsr�c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�Iz Sequence using iterator protocolcCs||_d|_dS)Nr)r�rM)rr�r	r	r
rcsz
I.__init__cCs|S)Nr	)rr	r	r
�__iter__fsz
I.__iter__cCs2|jt|j�krt�|j|j}|jd7_|S)Nr)rMr2r�r�)rrCr	r	r
�__next__hs
z
I.__next__N)rrrrrr�r�r	r	r	r
r�asr�c@s eZdZdZdd�Zdd�ZdS)�Igz9Sequence using iterator protocol defined with a generatorcCs||_d|_dS)Nr)r�rM)rr�r	r	r
rpszIg.__init__ccsx|jD]
}|VqWdS)N)r�)r�valr	r	r
r�sszIg.__iter__N)rrrrrr�r	r	r	r
r�nsr�c@s eZdZdZdd�Zdd�ZdS)�Xz Missing __getitem__ and __iter__cCs||_d|_dS)Nr)r�rM)rr�r	r	r
rysz
X.__init__cCs2|jt|j�krt�|j|j}|jd7_|S)Nr)rMr2r�r�)rrCr	r	r
r�|s
z
X.__next__N)rrrrrr�r	r	r	r
r�wsr�c@s eZdZdZdd�Zdd�ZdS)�NzIterator missing __next__()cCs||_d|_dS)Nr)r�rM)rr�r	r	r
r�sz
N.__init__cCs|S)Nr	)rr	r	r
r��sz
N.__iter__N)rrrrrr�r	r	r	r
r��sr�c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�EzTest propagation of exceptionscCs||_d|_dS)Nr)r�rM)rr�r	r	r
r�sz
E.__init__cCs|S)Nr	)rr	r	r
r��sz
E.__iter__cCsdddS)Nrirr	)rr	r	r
r��sz
E.__next__N)rrrrrr�r�r	r	r	r
r��sr�c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�SzTest immediate stopcCsdS)Nr	)rr�r	r	r
r�sz
S.__init__cCs|S)Nr	)rr	r	r
r��sz
S.__iter__cCst�dS)N)r�)rr	r	r
r��sz
S.__next__N)rrrrrr�r�r	r	r	r
r��sr�)�chaincCsttdd�ttt|�����S)z Test multiple tiers of iteratorscSs|S)Nr	)rJr	r	r
r��szL.<locals>.<lambda>)r�rjr�r�r�)r�r	r	r
�L�sr�c@s$eZdZdd�Zdd�Zdd�ZdS)�TestVariousIteratorArgsc	Cs�x�ttfD]�}x�ddtd�d
tddd�fD]|}x@ttttttfD],}|j	t
|||��td	�t
||�td	��q@W|jt
|t|��|jt
|t|��|jt|t|��q*Wq
WdS)N�123rPi��do�333333�?i�i�ri)r�)r�r�)r+r5rur�r�r�r�r�r�r.r-rr)r*r�r��ZeroDivisionErrorr�)rZconsr"�gr	r	r
rf�s ,z(TestVariousIteratorArgs.test_constructorc	Cs�td�}x�ddtd�dtddd	�d
fD]�}x�|j|j|j|j|jfD]�}x^ttt	t
tfD]L}||�}|||��}t|t
�r�|j||�qX|jt|td�t|td��qXW|jt|t|��|jt|t|��|jt|t|��qDWq&WdS)
NZnovemberr�rPi�r��333333�?i�i�ri�december)r�)r�r�)r+rurBrSrarer]r�r�r�r�r��
isinstance�boolr.r-rr)r*r�r�r�r�)rr"r��methr�r0r/r	r	r
�test_inline_methods�s"
 z+TestVariousIteratorArgs.test_inline_methodsc	Cs��x�ddtd�dtddd�d	fD]�}x�dD]�}xlttttttfD]X}td�}|j�}t	||�t
||���t	||�||��|jt|t
d�t|t
d��q@W|jtt	td�|�t|��|jtt	td�|�t|��|jtt	td�|�t|��q*Wq WdS)Nr�rPi�r��333333�?i�i�rir�r�r�r�r�Zjanuary)r�)r�r�)r�r�r�r�)rur�r�r�r�r�r�r+r�r�rFr.r-rr)r*r�r�r�r�)rr�Zmethnamer�r"rkr	r	r
�test_inplace_methods�s$ z,TestVariousIteratorArgs.test_inplace_methodsN)rrrrfr�r�r	r	r	r
r��s	r�c@seZdZdd�Zdd�ZdS)�bad_eqcCstrtj�t�||kS)N)�be_bad�set2r�r�)rrr	r	r
r�sz
bad_eq.__eq__cCsdS)Nrr	)rr	r	r
r�szbad_eq.__hash__N)rrrrrr	r	r	r
r��sr�c@seZdZdd�Zdd�ZdS)�bad_dict_clearcCstrtj�||kS)N)r��dict2r�)rrr	r	r
r�szbad_dict_clear.__eq__cCsdS)Nrr	)rr	r	r
r�szbad_dict_clear.__hash__N)rrrrrr	r	r	r
r��sr�c@s$eZdZdd�Zdd�Zdd�ZdS)�
TestWeirdBugscCsZdat�h}dd�td�D�ada|jt|jt�dat�h}t�diada|j	t�dS)NFcSsh|]
}t��qSr	)r�)r�rMr	r	r
r�sz4TestWeirdBugs.test_8420_set_merge.<locals>.<setcomp>�KT)
r�r�rur�r)r�r�r�r�r�)rZset1r	r	r
�test_8420_set_merge�s
z!TestWeirdBugs.test_8420_set_mergecCsXttd��}|j�|jtd��t|�}|j�ttd��}|jtd��t|�dS)Nr	)r+rur�r�r|rF)rr"Zsir(r	r	r
�test_iter_and_mutate�sz"TestWeirdBugs.test_iter_and_mutatecsBG�fdd�d��t���fdd�td�D��dh}|j��dS)Ncs eZdZdd�Z�fdd�ZdS)z.TestWeirdBugs.test_merge_and_mutate.<locals>.XcSstd�S)Nr)r�)rr	r	r
r�sz7TestWeirdBugs.test_merge_and_mutate.<locals>.X.__hash__cs�j�dS)NF)r�)r�o)rr	r
r�sz5TestWeirdBugs.test_merge_and_mutate.<locals>.X.__eq__N)rrrrrr	)rr	r
r��sr�csh|]
}���qSr	r	)r�rM)r�r	r
rsz6TestWeirdBugs.test_merge_and_mutate.<locals>.<setcomp>rtr)r+rur�)rr"r	)r�rr
�test_merge_and_mutate�s
z#TestWeirdBugs.test_merge_and_mutateN)rrrr�r�r�r	r	r	r
r��sr�ccs^t|�}y4tt|�g�}x t|�D]}|V||BVq"WWntk
rXt�VYnXdS)z-Generates all subsets of a set or sequence U.N)r|r5rrr�)�UrJr�r	r	r
rsrcs0dd�t|�D��t�fdd�tt|��D��S)z!Graph of n-dimensional hypercube.cSsg|]}t|g��qSr	)r5)r�rJr	r	r
r
szcube.<locals>.<listcomp>cs&g|]��t�fdd��D��f�qS)csg|]}�|A�qSr	r	)r�r")rJr	r
r
sz#cube.<locals>.<listcomp>.<listcomp>)r5)r�)�
singletons)rJr
r
s)rur#r)r�r	)rr
�cubesrcspi}xf|D]^�xX|�D]L���fdd�|�D�}��fdd�|�D�}t||�|t��g�<qWq
W|S)z�Graph, the vertices of which are edges of G,
    with two vertices being adjacent iff the corresponding
    edges share a vertex.cs g|]}|�krt�|g��qSr	)r5)r�rV)rJr�r	r
r
szlinegraph.<locals>.<listcomp>cs g|]}|�krt�|g��qSr	)r5)r�rV)rJr�r	r
r
s)r5)r�r�ZnxZnyr	)rJr�r
�	linegraphs
 rcCs�t�}x�|j�D]�\}}x�|D]�}x�||D]�}||kr:q,|||kr\|jt|||g��q,x�||D]z}||krtqf|||kr�|jt||||g��qfxF||D]:}||ks�||kr�q�|||kr�|jt|||||g��q�WqfWq,WqWqW|S)zKReturn a set of faces in G.  Where a face is a set of vertices on that face)r+�itemsr�r5)r�rZr��edgesr�Zv3Zv4Zv5r	r	r
�faces#s&
,rc@seZdZdd�Zdd�ZdS)�
TestGraphscCs�td�}t|�}|jt|�d�x |j�D]}|jt|�d�q*Wtdd�|j�D��}|j||�t|�}|jt|�d�x|D]}|jt|�d�q�WdS)Nrirlcss|]}|D]
}|Vq
qdS)Nr	)r�rrCr	r	r
r�Fsz'TestGraphs.test_cube.<locals>.<genexpr>rhr�)rr+r.r2r*r)rr�Z	vertices1�edgeZ	vertices2Z	cubefaces�facer	r	r
�	test_cube?s
zTestGraphs.test_cubecCstd�}t|�}|jt|�d�t|�}x |j�D]}|jt|�d�q2Wtdd�|j�D��}|j||�t|�}tjt	�}x |D]}|t|�d7<q�W|j|dd�|j|dd�x:|D]2}	|	}
|jt|
�d	�x|
D]}|j
||�q�Wq�WdS)
Nri�r�css|]}|D]
}|Vq
qdS)Nr	)r�rrr	r	r
r�[sz0TestGraphs.test_cuboctahedron.<locals>.<genexpr>rrlrhr')rrr.r2r+r*rr}�defaultdictrr6)rr�Z
cuboctahedronZverticesrZ
otherverticesZ	cubofacesZ	facesizesrZvertexrZcubevertr	r	r
�test_cuboctahedronNs&



zTestGraphs.test_cuboctahedronN)rrrr	rr	r	r	r
r=sr�__main__)\r�Ztestrr�r�rNr�rvZrandomrrrXr}�collections.abcr�string�	Exceptionrrr
rrrrZTestCaser�r+r�rrrrr5rrr4r!rErGrJrMrOrPrTr]r^r_rcrgr|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr�mainr	r	r	r
�<module>s�JRo


IVJ&t+
	
	)	*1


Youez - 2016 - github.com/yon3zu
LinuXploit