Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_copy.cpython-38.opt-2.pyc
U

>��g@g�@s�ddlZddlZddlZddlZddlmZmZmZmZm	Z	m
Z
ddlZeeeefZe	e
fZ
ee
ZGdd�dej�Zdd�Zedkr�e��dS)�N)�le�lt�ge�gt�eq�nec@steZdZdd�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�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/d[d\�Z0d]d^�Z1d_d`�Z2dadb�Z3dcdd�Z4dedf�Z5dgdh�Z6didj�Z7dkdl�Z8dmdn�Z9dodp�Z:dqdr�Z;dsdt�Z<dudv�Z=dwdx�Z>dydz�Z?d{d|�Z@d}d~�ZAdd��ZBd�d��ZCd�d��ZDd�d��ZEd�d��ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZOd�S)��TestCopycCs&|�tjtj�|�ttjt��dS�N)�assertIs�copy�Error�errorZ
assertTrue�
issubclass�	Exception��self�r�-/opt/cppython/lib/python3.8/test/test_copy.py�test_exceptionsszTestCopy.test_exceptionscCsd}t�|�}|�||�dS�N�*)r�assertEqual�r�x�yrrr�test_copy_basics
zTestCopy.test_copy_basiccsJG�fdd�dt���d�}t�|�}|�|j|j�|�|j|j�dS)Ncs eZdZdd�Z�fdd�ZdS)z"TestCopy.test_copy_copy.<locals>.CcSs
||_dSr	��foo�rrrrr�__init__ sz+TestCopy.test_copy_copy.<locals>.C.__init__cs
�|j�Sr	rr��Crr�__copy__"sz+TestCopy.test_copy_copy.<locals>.C.__copy__N)�__name__�
__module__�__qualname__rr"rr rrr!sr!r)�objectrr�	__class__rrrr r�test_copy_copys

zTestCopy.test_copy_copycsPGdd�dt���fdd�}�d�}|�ttj|�t��|��t�|�}dS)Nc@seZdZdd�ZdS)z&TestCopy.test_copy_registry.<locals>.CcSst�|�}||_|Sr	�r&�__new__r��clsr�objrrrr*+s
z.TestCopy.test_copy_registry.<locals>.C.__new__N�r#r$r%r*rrrrr!*sr!cs�|jffSr	r�r-r rr�pickle_C/sz-TestCopy.test_copy_registry.<locals>.pickle_Cr)r&�assertRaises�	TypeErrorr�copyreg�pickle�rr0rrrr r�test_copy_registry)szTestCopy.test_copy_registrycsFG�fdd�dt�}g�|�}t�|�}|�||�|��dg�dS)Ncs eZdZ�fdd�Zdd�ZdS)z'TestCopy.test_copy_reduce_ex.<locals>.Ccs��d�dS�N����append�r�proto��crr�
__reduce_ex__8s
z5TestCopy.test_copy_reduce_ex.<locals>.C.__reduce_ex__cSs|�d�dS�Nzshouldn't call this�Zfailrrrr�
__reduce__;sz2TestCopy.test_copy_reduce_ex.<locals>.C.__reduce__N�r#r$r%r@rCrr>rrr!7sr!r8�r&rr
r�rr!rrrr>r�test_copy_reduce_ex6s
zTestCopy.test_copy_reduce_excsFG�fdd�dt�}g�|�}t�|�}|�||�|��dg�dS)NcseZdZ�fdd�ZdS)z$TestCopy.test_copy_reduce.<locals>.Ccs��d�dSr7r:rr>rrrCEs
z/TestCopy.test_copy_reduce.<locals>.C.__reduce__N�r#r$r%rCrr>rrr!Dsr!r8rErFrr>r�test_copy_reduceCs
zTestCopy.test_copy_reducecCs,Gdd�dt�}|�}|�tjtj|�dS)Nc@seZdZdd�ZdS)z"TestCopy.test_copy_cant.<locals>.CcSs|�d�rt|��t�||�S�NZ__reduce��
startswith�AttributeErrorr&�__getattribute__�r�namerrrrNPs
z3TestCopy.test_copy_cant.<locals>.C.__getattribute__N�r#r$r%rNrrrrr!Osr!)r&r1rr�rr!rrrr�test_copy_cantNszTestCopy.test_copy_cantcCs�Gdd�d�}Gdd�dt�}dd�}Gdd�dtjd	�}dd
tddd
dddddd|jdttd��td�tddd�||t|t	�g}|D]}|�
t�|�|�q�dS)Nc@seZdZdS)z*TestCopy.test_copy_atomic.<locals>.ClassicN�r#r$r%rrrr�ClassicZsrUc@seZdZdS)z+TestCopy.test_copy_atomic.<locals>.NewStyleNrTrrrr�NewStyle\srVcSsdSr	rrrrr�f^sz$TestCopy.test_copy_atomic.<locals>.fc@seZdZdS)z0TestCopy.test_copy_atomic.<locals>.WithMetaclassNrTrrrr�
WithMetaclass`srX��	metaclass.r��d���Q�	@TF��?�hello�helloሴsworld��
r8)r&�abc�ABCMeta�NotImplemented�__code__�bytes�range�slice�max�propertyr
r)rrUrVrWrX�testsrrrr�test_copy_atomicYs4

�zTestCopy.test_copy_atomiccCsVdddg}t�|�}|�||�|�||�g}t�|�}|�||�|�||�dS�Nr8r[��rr�assertIsNotrrrr�test_copy_listjs


zTestCopy.test_copy_listcCsNd}|�t�|�|�d}|�t�|�|�dddgf}|�t�|�|�dS)N�r8r[rorr8r[ro)r
r�rrrrr�test_copy_tupletszTestCopy.test_copy_tuplecCsVddd�}t�|�}|�||�|�||�i}t�|�}|�||�|�||�dS)Nr8r[�r�barrprrrr�test_copy_dict|s


zTestCopy.test_copy_dictcCsXdddh}t�|�}|�||�|�||�t�}t�|�}|�||�|�||�dSrn)rrrq�setrrrr�
test_copy_set�s


zTestCopy.test_copy_setcCs<tdddh�}|�t�|�|�t�}|�t�|�|�dSrn)�	frozensetr
rrtrrr�test_copy_frozenset�szTestCopy.test_copy_frozensetcCsVtd�}t�|�}|�||�|�||�t�}t�|�}|�||�|�||�dS)Nsabc)�	bytearrayrrrqrrrr�test_copy_bytearray�s

zTestCopy.test_copy_bytearraycCs,Gdd�d�}|d�}|�t�|�|�dS)Nc@seZdZdd�Zdd�ZdS)z*TestCopy.test_copy_inst_vanilla.<locals>.CcSs
||_dSr	rrrrrr�sz3TestCopy.test_copy_inst_vanilla.<locals>.C.__init__cSs|j|jkSr	r�r�otherrrr�__eq__�sz1TestCopy.test_copy_inst_vanilla.<locals>.C.__eq__N�r#r$r%rr�rrrrr!�sr!r�rrrRrrr�test_copy_inst_vanilla�szTestCopy.test_copy_inst_vanillacs0G�fdd�d���d�}|�t�|�|�dS)Ncs(eZdZdd�Z�fdd�Zdd�ZdS)z'TestCopy.test_copy_inst_copy.<locals>.CcSs
||_dSr	rrrrrr�sz0TestCopy.test_copy_inst_copy.<locals>.C.__init__cs
�|j�Sr	rrr rrr"�sz0TestCopy.test_copy_inst_copy.<locals>.C.__copy__cSs|j|jkSr	rrrrrr��sz.TestCopy.test_copy_inst_copy.<locals>.C.__eq__N)r#r$r%rr"r�rr rrr!�sr!rr�rtrr r�test_copy_inst_copy�szTestCopy.test_copy_inst_copycCs,Gdd�d�}|d�}|�t�|�|�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z.TestCopy.test_copy_inst_getinitargs.<locals>.CcSs
||_dSr	rrrrrr�sz7TestCopy.test_copy_inst_getinitargs.<locals>.C.__init__cSs|jfSr	rrrrr�__getinitargs__�sz>TestCopy.test_copy_inst_getinitargs.<locals>.C.__getinitargs__cSs|j|jkSr	rrrrrr��sz5TestCopy.test_copy_inst_getinitargs.<locals>.C.__eq__N�r#r$r%rr�r�rrrrr!�sr!rr�rRrrr�test_copy_inst_getinitargs�sz#TestCopy.test_copy_inst_getinitargscCsZGdd�dt�}|d�}t�|�}|�||�|�||�|�||�|�|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z-TestCopy.test_copy_inst_getnewargs.<locals>.CcSst�|�}||_|Sr	��intr*r�r,rrrrrr*�s
z5TestCopy.test_copy_inst_getnewargs.<locals>.C.__new__cSs|jfSr	rrrrr�__getnewargs__�sz<TestCopy.test_copy_inst_getnewargs.<locals>.C.__getnewargs__cSs|j|jkSr	rrrrrr��sz4TestCopy.test_copy_inst_getnewargs.<locals>.C.__eq__N�r#r$r%r*r�r�rrrrr!�sr!r�r�r�assertIsInstancerrqrrFrrr�test_copy_inst_getnewargs�s	
z"TestCopy.test_copy_inst_getnewargscCs\Gdd�dt�}|dd�}t�|�}|�||�|�||�|�||�|�|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z0TestCopy.test_copy_inst_getnewargs_ex.<locals>.CcSst�|�}||_|Sr	r�r�rrrr*�s
z8TestCopy.test_copy_inst_getnewargs_ex.<locals>.C.__new__cSsdd|jifS�Nrrrrrrr�__getnewargs_ex__�szBTestCopy.test_copy_inst_getnewargs_ex.<locals>.C.__getnewargs_ex__cSs|j|jkSr	rrrrrr��sz7TestCopy.test_copy_inst_getnewargs_ex.<locals>.C.__eq__N�r#r$r%r*r�r�rrrrr!�sr!rrr�rFrrr�test_copy_inst_getnewargs_ex�s	

z%TestCopy.test_copy_inst_getnewargs_excCs,Gdd�d�}|d�}|�t�|�|�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z+TestCopy.test_copy_inst_getstate.<locals>.CcSs
||_dSr	rrrrrr�sz4TestCopy.test_copy_inst_getstate.<locals>.C.__init__cSs
d|jiS�Nrrrrrr�__getstate__�sz8TestCopy.test_copy_inst_getstate.<locals>.C.__getstate__cSs|j|jkSr	rrrrrr��sz2TestCopy.test_copy_inst_getstate.<locals>.C.__eq__N�r#r$r%rr�r�rrrrr!�sr!rr�rRrrr�test_copy_inst_getstate�sz TestCopy.test_copy_inst_getstatecCs,Gdd�d�}|d�}|�t�|�|�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z+TestCopy.test_copy_inst_setstate.<locals>.CcSs
||_dSr	rrrrrr�sz4TestCopy.test_copy_inst_setstate.<locals>.C.__init__cSs|d|_dSr�r�r�staterrr�__setstate__�sz8TestCopy.test_copy_inst_setstate.<locals>.C.__setstate__cSs|j|jkSr	rrrrrr��sz2TestCopy.test_copy_inst_setstate.<locals>.C.__eq__N�r#r$r%rr�r�rrrrr!�sr!rr�rRrrr�test_copy_inst_setstate�sz TestCopy.test_copy_inst_setstatecCsFGdd�d�}|d�}|�t�|�|�|d�}|�t�|�|�dS)Nc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
z4TestCopy.test_copy_inst_getstate_setstate.<locals>.CcSs
||_dSr	rrrrrr�sz=TestCopy.test_copy_inst_getstate_setstate.<locals>.C.__init__cSs|jSr	rrrrrr��szATestCopy.test_copy_inst_getstate_setstate.<locals>.C.__getstate__cSs
||_dSr	rr�rrrr��szATestCopy.test_copy_inst_getstate_setstate.<locals>.C.__setstate__cSs|j|jkSr	rrrrrr��sz;TestCopy.test_copy_inst_getstate_setstate.<locals>.C.__eq__N�r#r$r%rr�r�r�rrrrr!�sr!rgr�rRrrr� test_copy_inst_getstate_setstate�s
	z)TestCopy.test_copy_inst_getstate_setstatecCsd}t�|�}|�||�dSr)r�deepcopyrrrrr�test_deepcopy_basic	s
zTestCopy.test_deepcopy_basiccCsZg}||g}t�|�}|�||�|�||�|�|d|d�|�|d|d�dS�Nrr8)rr�rrqr
rrrr�test_deepcopy_memos
zTestCopy.test_deepcopy_memocCs8Gdd�dt�}Gdd�d|d�}|�t�|�|�dS)Nc@seZdZdS)z/TestCopy.test_deepcopy_issubclass.<locals>.MetaNrTrrrr�Metasr�c@seZdZdS)z,TestCopy.test_deepcopy_issubclass.<locals>.CNrTrrrrr! sr!rY)�typerrr�)rr�r!rrr�test_deepcopy_issubclasssz!TestCopy.test_deepcopy_issubclasscsJG�fdd�dt���d�}t�|�}|�|j|j�|�|j|j�dS)Ncs"eZdZdd�Zd�fdd�	ZdS)z*TestCopy.test_deepcopy_deepcopy.<locals>.CcSs
||_dSr	rrrrrr&sz3TestCopy.test_deepcopy_deepcopy.<locals>.C.__init__Ncs
�|j�Sr	r�r�memor rr�__deepcopy__(sz7TestCopy.test_deepcopy_deepcopy.<locals>.C.__deepcopy__)N)r#r$r%rr�rr rrr!%sr!r)r&rr�rr'rrrr r�test_deepcopy_deepcopy$s

zTestCopy.test_deepcopy_deepcopycsPGdd�dt���fdd�}�d�}|�ttj|�t��|��t�|�}dS)Nc@seZdZdd�ZdS)z*TestCopy.test_deepcopy_registry.<locals>.CcSst�|�}||_|Sr	r)r+rrrr*1s
z2TestCopy.test_deepcopy_registry.<locals>.C.__new__Nr.rrrrr!0sr!cs�|jffSr	rr/r rrr05sz1TestCopy.test_deepcopy_registry.<locals>.pickle_Cr)r&r1r2rr�r3r4r5rr r�test_deepcopy_registry/szTestCopy.test_deepcopy_registrycsFG�fdd�dt�}g�|�}t�|�}|�||�|��dg�dS)Ncs eZdZ�fdd�Zdd�ZdS)z+TestCopy.test_deepcopy_reduce_ex.<locals>.Ccs��d�dSr7r:r<r>rrr@>s
z9TestCopy.test_deepcopy_reduce_ex.<locals>.C.__reduce_ex__cSs|�d�dSrArBrrrrrCAsz6TestCopy.test_deepcopy_reduce_ex.<locals>.C.__reduce__NrDrr>rrr!=sr!r8�r&rr�r
rrFrr>r�test_deepcopy_reduce_ex<s
z TestCopy.test_deepcopy_reduce_excsFG�fdd�dt�}g�|�}t�|�}|�||�|��dg�dS)NcseZdZ�fdd�ZdS)z(TestCopy.test_deepcopy_reduce.<locals>.Ccs��d�dSr7r:rr>rrrCKs
z3TestCopy.test_deepcopy_reduce.<locals>.C.__reduce__NrHrr>rrr!Jsr!r8r�rFrr>r�test_deepcopy_reduceIs
zTestCopy.test_deepcopy_reducecCs,Gdd�dt�}|�}|�tjtj|�dS)Nc@seZdZdd�ZdS)z&TestCopy.test_deepcopy_cant.<locals>.CcSs|�d�rt|��t�||�SrJrKrOrrrrNVs
z7TestCopy.test_deepcopy_cant.<locals>.C.__getattribute__NrQrrrrr!Usr!)r&r1rrr�rRrrr�test_deepcopy_cantTszTestCopy.test_deepcopy_cantcCsnGdd�d�}Gdd�dt�}dd�}dddd	d
ddd
dd|j||tt�g}|D]}|�t�|�|�qRdS)Nc@seZdZdS)z.TestCopy.test_deepcopy_atomic.<locals>.ClassicNrTrrrrrU`srUc@seZdZdS)z/TestCopy.test_deepcopy_atomic.<locals>.NewStyleNrTrrrrrVbsrVcSsdSr	rrrrrrWdsz(TestCopy.test_deepcopy_atomic.<locals>.frr[r\r]TFr^r_r`)r&rfrjrkr
rr�)rrUrVrWrlrrrr�test_deepcopy_atomic_s�zTestCopy.test_deepcopy_atomiccCsFddgdg}t�|�}|�||�|�||�|�|d|d�dS�Nr8r[ror�rr�rrqrrrr�test_deepcopy_listls

zTestCopy.test_deepcopy_listcCsbg}|�|�t�|�}tD]}|�t|||�q|�||�|�|d|�|�t	|�d�dSr�)
r;rr��comparisonsr1�RecursionErrorrqr
r�len�rrr�oprrr�test_deepcopy_reflexive_listss

z%TestCopy.test_deepcopy_reflexive_listcCsd}t�|�}|�||�dS�Nr�rr�r
rrrr�test_deepcopy_empty_tuple}s
z"TestCopy.test_deepcopy_empty_tuplecCsFddgdf}t�|�}|�||�|�||�|�|d|d�dSr�r�rrrr�test_deepcopy_tuple�s

zTestCopy.test_deepcopy_tuplecCsd}t�|�}|�||�dS)N)�r8r[ror�rrrr�!test_deepcopy_tuple_of_immutables�s
z*TestCopy.test_deepcopy_tuple_of_immutablescCspgf}|d�|�t�|�}tD]}|�t|||�q"|�||�|�|d|d�|�|dd|�dS�Nr)r;rr�r�r1r�rqr
r�rrr�test_deepcopy_reflexive_tuple�s
z&TestCopy.test_deepcopy_reflexive_tuplecCsHddgdd�}t�|�}|�||�|�||�|�|d|d�dS)Nr8r[rorvrr�rrrr�test_deepcopy_dict�s

zTestCopy.test_deepcopy_dictcCszi}||d<t�|�}tD]}|�t|||�qtD]}|�t|||�q4|�||�|�|d|�|�	t
|�d�dS)Nrr8)rr��order_comparisonsr1r2�equality_comparisonsr�rqr
rr�r�rrr�test_deepcopy_reflexive_dict�s
z%TestCopy.test_deepcopy_reflexive_dictcCs0i}g}t�||�}|�|t|�d|�dSr�)rr�r
�id�rr�rrrrr�test_deepcopy_keepalive�sz TestCopy.test_deepcopy_keepalivecCsni}ddddg}t�||�}|�||�|�t|�d�i}dg}t�||�}|�||�|�t|�d�dS)Nr8r[ro�r�)rr�rr�r�rrr�!test_deepcopy_dont_memo_immutable�sz*TestCopy.test_deepcopy_dont_memo_immutablecCsBGdd�d�}|dg�}t�|�}|�||�|�|j|j�dS)Nc@seZdZdd�Zdd�ZdS)z.TestCopy.test_deepcopy_inst_vanilla.<locals>.CcSs
||_dSr	rrrrrr�sz7TestCopy.test_deepcopy_inst_vanilla.<locals>.C.__init__cSs|j|jkSr	rrrrrr��sz5TestCopy.test_deepcopy_inst_vanilla.<locals>.C.__eq__Nr�rrrrr!�sr!r�rr�rrqrrFrrr�test_deepcopy_inst_vanilla�s


z#TestCopy.test_deepcopy_inst_vanillacsRG�fdd�d���dg�}t�|�}|�||�|�||�|�|j|j�dS)Ncs(eZdZdd�Z�fdd�Zdd�ZdS)z/TestCopy.test_deepcopy_inst_deepcopy.<locals>.CcSs
||_dSr	rrrrrr�sz8TestCopy.test_deepcopy_inst_deepcopy.<locals>.C.__init__cs�t�|j|��Sr	)rr�rr�r rrr��sz<TestCopy.test_deepcopy_inst_deepcopy.<locals>.C.__deepcopy__cSs|j|jkSr	rrrrrr��sz6TestCopy.test_deepcopy_inst_deepcopy.<locals>.C.__eq__N)r#r$r%rr�r�rr rrr!�sr!rr�rrr r�test_deepcopy_inst_deepcopy�s

z$TestCopy.test_deepcopy_inst_deepcopycCsNGdd�d�}|dg�}t�|�}|�||�|�||�|�|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z2TestCopy.test_deepcopy_inst_getinitargs.<locals>.CcSs
||_dSr	rrrrrr�sz;TestCopy.test_deepcopy_inst_getinitargs.<locals>.C.__init__cSs|jfSr	rrrrrr��szBTestCopy.test_deepcopy_inst_getinitargs.<locals>.C.__getinitargs__cSs|j|jkSr	rrrrrr��sz9TestCopy.test_deepcopy_inst_getinitargs.<locals>.C.__eq__Nr�rrrrr!�sr!rr�rFrrr�test_deepcopy_inst_getinitargs�s

z'TestCopy.test_deepcopy_inst_getinitargscCslGdd�dt�}|dg�}t�|�}|�||�|�||�|�||�|�|j|j�|�|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z1TestCopy.test_deepcopy_inst_getnewargs.<locals>.CcSst�|�}||_|Sr	r�r�rrrr*�s
z9TestCopy.test_deepcopy_inst_getnewargs.<locals>.C.__new__cSs|jfSr	rrrrrr��sz@TestCopy.test_deepcopy_inst_getnewargs.<locals>.C.__getnewargs__cSs|j|jkSr	rrrrrr��sz8TestCopy.test_deepcopy_inst_getnewargs.<locals>.C.__eq__Nr�rrrrr!�sr!r�r�rr�r�rrqrrFrrr�test_deepcopy_inst_getnewargs�s	

z&TestCopy.test_deepcopy_inst_getnewargscCsnGdd�dt�}|dgd�}t�|�}|�||�|�||�|�||�|�|j|j�|�|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z4TestCopy.test_deepcopy_inst_getnewargs_ex.<locals>.CcSst�|�}||_|Sr	r�r�rrrr*�s
z<TestCopy.test_deepcopy_inst_getnewargs_ex.<locals>.C.__new__cSsdd|jifSr�rrrrrr��szFTestCopy.test_deepcopy_inst_getnewargs_ex.<locals>.C.__getnewargs_ex__cSs|j|jkSr	rrrrrr�sz;TestCopy.test_deepcopy_inst_getnewargs_ex.<locals>.C.__eq__Nr�rrrrr!�sr!rrr�rFrrr� test_deepcopy_inst_getnewargs_ex�s	
z)TestCopy.test_deepcopy_inst_getnewargs_excCsNGdd�d�}|dg�}t�|�}|�||�|�||�|�|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z/TestCopy.test_deepcopy_inst_getstate.<locals>.CcSs
||_dSr	rrrrrr
sz8TestCopy.test_deepcopy_inst_getstate.<locals>.C.__init__cSs
d|jiSr�rrrrrr�sz<TestCopy.test_deepcopy_inst_getstate.<locals>.C.__getstate__cSs|j|jkSr	rrrrrr�sz6TestCopy.test_deepcopy_inst_getstate.<locals>.C.__eq__Nr�rrrrr!sr!rr�rFrrr�test_deepcopy_inst_getstates

z$TestCopy.test_deepcopy_inst_getstatecCsNGdd�d�}|dg�}t�|�}|�||�|�||�|�|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z/TestCopy.test_deepcopy_inst_setstate.<locals>.CcSs
||_dSr	rrrrrrsz8TestCopy.test_deepcopy_inst_setstate.<locals>.C.__init__cSs|d|_dSr�rr�rrrr�sz<TestCopy.test_deepcopy_inst_setstate.<locals>.C.__setstate__cSs|j|jkSr	rrrrrr�sz6TestCopy.test_deepcopy_inst_setstate.<locals>.C.__eq__Nr�rrrrr!sr!rr�rFrrr�test_deepcopy_inst_setstates

z$TestCopy.test_deepcopy_inst_setstatecCs�Gdd�d�}|dg�}t�|�}|�||�|�||�|�|j|j�|g�}t�|�}|�||�|�||�|�|j|j�dS)Nc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
z8TestCopy.test_deepcopy_inst_getstate_setstate.<locals>.CcSs
||_dSr	rrrrrr)szATestCopy.test_deepcopy_inst_getstate_setstate.<locals>.C.__init__cSs|jSr	rrrrrr�+szETestCopy.test_deepcopy_inst_getstate_setstate.<locals>.C.__getstate__cSs
||_dSr	rr�rrrr�-szETestCopy.test_deepcopy_inst_getstate_setstate.<locals>.C.__setstate__cSs|j|jkSr	rrrrrr�/sz?TestCopy.test_deepcopy_inst_getstate_setstate.<locals>.C.__eq__Nr�rrrrr!(sr!rr�rFrrr�$test_deepcopy_inst_getstate_setstate's	


z-TestCopy.test_deepcopy_inst_getstate_setstatecCsBGdd�d�}|�}||_t�|�}|�||�|�|j|�dS)Nc@seZdZdS)z0TestCopy.test_deepcopy_reflexive_inst.<locals>.CNrTrrrrr!>sr!)rrr�rqr
rFrrr�test_deepcopy_reflexive_inst=s
z%TestCopy.test_deepcopy_reflexive_instcCspGdd�dt�}t|d��}t�|�}|�||�|�||�|�|j|j�|�|j|j�|�|j|�dS)Nc@seZdZdS)z'TestCopy.test_deepcopy_range.<locals>.INrTrrrr�IGsr�rb)r�rhrr�rqr�stopr�)rr�rrrrr�test_deepcopy_rangeFs
zTestCopy.test_deepcopy_rangecCsFGdd�dt�}|�}t�|�}|�||�t�|�}|�||�dS)Nc@seZdZdd�ZdS)z+TestCopy.test_reconstruct_string.<locals>.CcSsdS)Nr9rrrrrrCUsz6TestCopy.test_reconstruct_string.<locals>.C.__reduce__NrHrrrrr!Tsr!)r&rr
r�rFrrr�test_reconstruct_stringSs

z TestCopy.test_reconstruct_stringcsXG�fdd�dt����}d|_t�|�}|�|j|j�t�|�}|�|j|j�dS)NcseZdZ�fdd�ZdS)z,TestCopy.test_reconstruct_nostate.<locals>.Ccs�dfSr�rrr rrrC_sz7TestCopy.test_reconstruct_nostate.<locals>.C.__reduce__NrHrr rrr!^sr!r)r&rrr
r'r�rrr r�test_reconstruct_nostate]s

z!TestCopy.test_reconstruct_nostatecsbG�fdd�dt����}dg|_t�|�}|�||�t�|�}|�||�|�|j|j�dS)Ncs eZdZ�fdd�Zdd�ZdS)z*TestCopy.test_reconstruct_state.<locals>.Ccs�d|jfSr���__dict__rr rrrCjsz5TestCopy.test_reconstruct_state.<locals>.C.__reduce__cSs|j|jkSr	r�rrrrr�lsz1TestCopy.test_reconstruct_state.<locals>.C.__eq__N�r#r$r%rCr�rr rrr!isr!r�r&rrrr�rqrrr r�test_reconstruct_statehs

zTestCopy.test_reconstruct_statecsbG�fdd�dt����}dg|_t�|�}|�||�t�|�}|�||�|�|j|j�dS)Ncs(eZdZ�fdd�Zdd�Zdd�ZdS)z3TestCopy.test_reconstruct_state_setstate.<locals>.Ccs�d|jfSr�r�rr rrrCxsz>TestCopy.test_reconstruct_state_setstate.<locals>.C.__reduce__cSs|j�|�dSr	)r��updater�rrrr�zsz@TestCopy.test_reconstruct_state_setstate.<locals>.C.__setstate__cSs|j|jkSr	r�rrrrr�|sz:TestCopy.test_reconstruct_state_setstate.<locals>.C.__eq__N)r#r$r%rCr�r�rr rrr!wsr!rr�rrr r�test_reconstruct_state_setstatevs

z(TestCopy.test_reconstruct_state_setstatecCsDGdd�dt�}|�}||_t�|�}|�||�|�|j|�dS)Nc@seZdZdS)z.TestCopy.test_reconstruct_reflexive.<locals>.CNrTrrrrr!�sr!)r&rrr�rqr
rFrrr�test_reconstruct_reflexive�s
z#TestCopy.test_reconstruct_reflexivecs�G�fdd�dt���ddgdg�}t�|�}|�||�|�||�|�|d|d�t�|�}|�||�|�||�|�|d|d�dS)Ncs eZdZ�fdd�Zdd�ZdS)z&TestCopy.test_reduce_4tuple.<locals>.Ccs�d|jt|�fSr�)r��iterrr rrrC�sz1TestCopy.test_reduce_4tuple.<locals>.C.__reduce__cSst|�t|�ko|j|jkSr	)�listr�rrrrr��s
�z-TestCopy.test_reduce_4tuple.<locals>.C.__eq__Nr�rr rrr!�sr!r8r[ror)r�rrrqr
r�rrr r�test_reduce_4tuple�s

zTestCopy.test_reduce_4tuplecs�G�fdd�dt���dddgfdg�}t�|�}|�||�|�||�|�|d|d�t�|�}|�||�|�||�|�|d|d�dS)Ncs eZdZ�fdd�Zdd�ZdS)z&TestCopy.test_reduce_5tuple.<locals>.Ccs�d|jd|��fSr�)r��itemsrr rrrC�sz1TestCopy.test_reduce_5tuple.<locals>.C.__reduce__cSst|�t|�ko|j|jkSr	)�dictr�rrrrr��s
�z-TestCopy.test_reduce_5tuple.<locals>.C.__eq__Nr�rr rrr!�sr!rr8r[)rwro)r�rrrqr
r�rrr r�test_reduce_5tuple�s

zTestCopy.test_reduce_5tuplecCs<Gdd�dt�}|�}dg|_t�|�}|�|j|j�dS)Nc@seZdZdgZdS)z#TestCopy.test_copy_slots.<locals>.CrN�r#r$r%�	__slots__rrrrr!�sr!r)r&rrr
rFrrr�test_copy_slots�s

zTestCopy.test_copy_slotscCsLGdd�dt�}|�}dg|_t�|�}|�|j|j�|�|j|j�dS)Nc@seZdZdgZdS)z'TestCopy.test_deepcopy_slots.<locals>.CrNr�rrrrr!�sr!r)r&rrr�rrqrFrrr�test_deepcopy_slots�s
zTestCopy.test_deepcopy_slotscCsxGdd�dt�}|ddid�}t�|�}|�||�|�|j|j�|�||�d|d<|�||�|�|j|j�dS)Ncs*eZdZd�fdd�	Z�fdd�Z�ZS)z/TestCopy.test_deepcopy_dict_subclass.<locals>.CNcs&|si}t|���|_t��|�dSr	)r��keys�_keys�superr)r�d�r'rrr�sz8TestCopy.test_deepcopy_dict_subclass.<locals>.C.__init__cs(t��||�||jkr$|j�|�dSr	)r��__setitem__r�r;)r�key�itemr�rrr��s
z;TestCopy.test_deepcopy_dict_subclass.<locals>.C.__setitem__)N)r#r$r%rr��
__classcell__rrr�rr!�sr!rr)r�r8rw)r�rr�rr�rq�assertNotEqualrFrrr�test_deepcopy_dict_subclass�s

z$TestCopy.test_deepcopy_dict_subclasscCs�Gdd�dt�}|ddgdg�}ddg|_t�|�}|�t|�t|��|�|j|j�|�|d|d�|�|j|j�dS)	Nc@seZdZdS)z+TestCopy.test_copy_list_subclass.<locals>.CNrTrrrrr!�sr!r8r[ror��r)r�rrrr
rFrrr�test_copy_list_subclass�s

z TestCopy.test_copy_list_subclasscCs�Gdd�dt�}|ddgdg�}ddg|_t�|�}|�t|�t|��|�|j|j�|�|d|d�|�|j|j�dS)	Nc@seZdZdS)z/TestCopy.test_deepcopy_list_subclass.<locals>.CNrTrrrrr!�sr!r8r[ror�r�r)r�rrr�rrqrFrrr�test_deepcopy_list_subclass�s

z$TestCopy.test_deepcopy_list_subclasscCsLGdd�dt�}|dddg�}|�t|�d�t�|�}|�t|�d�dS)Nc@seZdZdS)z,TestCopy.test_copy_tuple_subclass.<locals>.CNrTrrrrr!�sr!r8r[rors)�tuplerrrFrrr�test_copy_tuple_subclass�s

z!TestCopy.test_copy_tuple_subclasscCs~Gdd�dt�}|ddgdg�}|�t|�ddgdf�t�|�}|�t|�ddgdf�|�||�|�|d|d�dS)Nc@seZdZdS)z0TestCopy.test_deepcopy_tuple_subclass.<locals>.CNrTrrrrr!�sr!r8r[ror)r�rrr�rqrFrrr�test_deepcopy_tuple_subclass�s
z%TestCopy.test_deepcopy_tuple_subclasscCs&Gdd�dt�}|�ttj|��dS)Nc@seZdZdd�ZdS)z-TestCopy.test_getstate_exc.<locals>.EvilStatecSstd��dS)Nzain't got no stickin' state)�
ValueErrorrrrrr�sz:TestCopy.test_getstate_exc.<locals>.EvilState.__getstate__N)r#r$r%r�rrrr�	EvilStatesr�)r&r1r�r)rr�rrr�test_getstate_excszTestCopy.test_getstate_exccCsJ|�t�t�t�dd�}|�t�|�|�dd�}|�t�|�|�dS)NcSs||Sr	r�rrrrrr�z(TestCopy.test_copy_function.<locals>.foocSsdSr	rrrrr�<lambda>
rz-TestCopy.test_copy_function.<locals>.<lambda>)rr�
global_foo�rrrwrrr�test_copy_functions
zTestCopy.test_copy_functioncCsJ|�t�t�t�dd�}|�t�|�|�dd�}|�t�|�|�dS)NcSs||Sr	rrrrrrrz,TestCopy.test_deepcopy_function.<locals>.foocSsdSr	rrrrrrrz1TestCopy.test_deepcopy_function.<locals>.<lambda>)rrr�rrrrr�test_deepcopy_function
s
zTestCopy.test_deepcopy_functioncCsNGdd�dt�}|�}t�|�}||�}|�||�~||�}|�||�dS)Nc@seZdZdS)z"TestCopy._check_weakref.<locals>.CNrTrrrrr!sr!)r&�weakref�refr
)rZ_copyr!r-rrrrr�_check_weakrefs
zTestCopy._check_weakrefcCs|�tj�dSr	)r
rrrrr�test_copy_weakrefszTestCopy.test_copy_weakrefcCs|�tj�dSr	)r
rr�rrrr�test_deepcopy_weakref"szTestCopy.test_deepcopy_weakrefc
s�Gdd�dt���fdd�td�D�\}}}}|�}|||<|||<t�|�}|�||�|�||�|�|||�|�|||�|�t|�d�~~|�t|�d�����}}	|	||<|�||�dS)Nc@seZdZdS)z(TestCopy._check_copy_weakdict.<locals>.CNrTrrrrr!&sr!csg|]
}���qSrr��.0�ir rr�
<listcomp>(sz1TestCopy._check_copy_weakdict.<locals>.<listcomp>r�r[r8)r&rhrrqrr�ZassertNotIn)
rZ	_dicttype�a�br?r��u�vrrrr r�_check_copy_weakdict%s 
zTestCopy._check_copy_weakdictcCs|�tj�dSr	)rr�WeakKeyDictionaryrrrr�test_copy_weakkeydict9szTestCopy.test_copy_weakkeydictcCs|�tj�dSr	)rr�WeakValueDictionaryrrrr�test_copy_weakvaluedict<sz TestCopy.test_copy_weakvaluedictcs�Gdd�dt���fdd�td�D�\}}}}t��}|||<|||<t�|�}|�||�|�t|�d�|�	|||�|�	|||�|�||j
|j
�|�||j
|j
�~|�t|�d�dS)Nc@seZdZdd�ZdS)z-TestCopy.test_deepcopy_weakkeydict.<locals>.CcSs
||_dSr	�r�rrrrrrAsz6TestCopy.test_deepcopy_weakkeydict.<locals>.C.__init__N�r#r$r%rrrrrr!@sr!csg|]}�|��qSrrr
r rrrCsz6TestCopy.test_deepcopy_weakkeydict.<locals>.<listcomp>r�r[r8)r&rhrrrr�r�rr�rqr)rrrr?r�rrrr r�test_deepcopy_weakkeydict?s
z"TestCopy.test_deepcopy_weakkeydictcs�Gdd�dt���fdd�td�D�\}}}}t��}|||<|||<t�|�}|�||�|�t|�d�t	|�
�dd�d	�\\}}\}	}
|�||�|�|j|j�|�
||�|�|	|�|�|	j|j�|�
|
|�~~~	~
~|�t|�d
�dS)Nc@seZdZdd�ZdS)z/TestCopy.test_deepcopy_weakvaluedict.<locals>.CcSs
||_dSr	rrrrrrTsz8TestCopy.test_deepcopy_weakvaluedict.<locals>.C.__init__Nrrrrrr!Ssr!csg|]}�|��qSrrr
r rrrVsz8TestCopy.test_deepcopy_weakvaluedict.<locals>.<listcomp>r�r[cSs
|djSr�r)Zpairrrrr^rz6TestCopy.test_deepcopy_weakvaluedict.<locals>.<lambda>)r�r8)r&rhrrrr�r�rr��sortedr�rqrr
)rrrr?r�rrrr�z�trr r�test_deepcopy_weakvaluedictRs$
 z$TestCopy.test_deepcopy_weakvaluedictcCsTGdd�dt�}|�}|j|_t�|�}|�|j|j�|�|jj|�|��dS)Nc@seZdZdd�ZdS)z0TestCopy.test_deepcopy_bound_method.<locals>.FoocSsdSr	rrrrr�mksz2TestCopy.test_deepcopy_bound_method.<locals>.Foo.mN)r#r$r%r"rrrr�Foojsr#)r&r"rrr�rr
�__self__)rr#rW�grrr�test_deepcopy_bound_methodis
z#TestCopy.test_deepcopy_bound_methodN)Pr#r$r%rrr(r6rGrIrSrmrrrurxrzr|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�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr
rrrrrrr!r&rrrrrs�





	




	

	
rcCs||Sr	rrrrrrurr�__main__)rr3rrc�operatorrrrrrrZunittestr�r�r�ZTestCaserrr#�mainrrrr�<module>s$ l

F1le Man4ger