HEX
Server: Apache
System: Linux opal14.opalstack.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User: curbgloabal_opal (1234)
PHP: 8.1.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib64/python3.6/test/__pycache__/test_copy.cpython-36.pyc
3


 \(g�@s�dZddlZddlZddlZddlZddlmZmZmZm	Z	m
Z
mZddlZeeee	fZ
e
efZe
eZGdd�dej�Zdd�Zedkr�ej�dS)	zUnit tests for the copy module.�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&|jtjtj�|jttjt��dS)N)�assertIs�copy�Error�errorZ
assertTrue�
issubclass�	Exception)�self�r�!/usr/lib64/python3.6/test_copy.py�test_exceptionsszTestCopy.test_exceptionscCsd}tj|�}|j||�dS)N�*)r
�assertEqual)r�x�yrrr�test_copy_basics
zTestCopy.test_copy_basiccsJG�fdd�dt���d�}tj|�}|j|j|j�|j|j|j�dS)Ncs eZdZdd�Z�fdd�ZdS)z"TestCopy.test_copy_copy.<locals>.CcSs
||_dS)N)�foo)rrrrr�__init__ sz+TestCopy.test_copy_copy.<locals>.C.__init__cs
�|j�S)N)r)r)�Crr�__copy__"sz+TestCopy.test_copy_copy.<locals>.C.__copy__N)�__name__�
__module__�__qualname__rrr)rrrrsrr)�objectr
r�	__class__r)rrrr)rr�test_copy_copys

zTestCopy.test_copy_copycsPGdd�dt���fdd�}�d�}|jttj|�tj�|��tj|�}dS)Nc@seZdZdd�ZdS)z&TestCopy.test_copy_registry.<locals>.CcSstj|�}||_|S)N)r�__new__r)�clsr�objrrrr"+s
z.TestCopy.test_copy_registry.<locals>.C.__new__N)rrrr"rrrrr*srcs�|jffS)N)r)r$)rrr�pickle_C/sz-TestCopy.test_copy_registry.<locals>.pickle_Cr)r�assertRaises�	TypeErrorr
�copyreg�pickle)rr%rrr)rr�test_copy_registry)szTestCopy.test_copy_registrycsFG�fdd�dt�}g�|�}tj|�}|j||�|j�dg�dS)Ncs eZdZ�fdd�Zdd�ZdS)z'TestCopy.test_copy_reduce_ex.<locals>.Ccs�jd�dS)N��)�append)r�proto)�crr�
__reduce_ex__8s
z5TestCopy.test_copy_reduce_ex.<locals>.C.__reduce_ex__cSs|jd�dS)Nzshouldn't call this)�fail)rrrr�
__reduce__;sz2TestCopy.test_copy_reduce_ex.<locals>.C.__reduce__N)rrrr0r2r)r/rrr7srr+)rr
r	r)rrrrr)r/r�test_copy_reduce_ex6s
zTestCopy.test_copy_reduce_excsFG�fdd�dt�}g�|�}tj|�}|j||�|j�dg�dS)NcseZdZ�fdd�ZdS)z$TestCopy.test_copy_reduce.<locals>.Ccs�jd�dS)Nr+r,)r-)r)r/rrr2Es
z/TestCopy.test_copy_reduce.<locals>.C.__reduce__N)rrrr2r)r/rrrDsrr+)rr
r	r)rrrrr)r/r�test_copy_reduceCs
zTestCopy.test_copy_reducecCs,Gdd�dt�}|�}|jtjtj|�dS)Nc@seZdZdd�ZdS)z"TestCopy.test_copy_cant.<locals>.CcSs|jd�rt|��tj||�S)N�__reduce)�
startswith�AttributeErrorr�__getattribute__)r�namerrrr8Ps
z3TestCopy.test_copy_cant.<locals>.C.__getattribute__N)rrrr8rrrrrOsr)rr&r
r)rrrrrr�test_copy_cantNszTestCopy.test_copy_cantcCs�Gdd�d�}Gdd�dt�}dd�}Gdd�dtjd	�}dd
tddd
dddddd|jdttd��td�tddd�||t|g}x|D]}|j	t
j
|�|�q�WdS)Nc@seZdZdS)z*TestCopy.test_copy_atomic.<locals>.ClassicN)rrrrrrr�ClassicZsr;c@seZdZdS)z+TestCopy.test_copy_atomic.<locals>.NewStyleN)rrrrrrr�NewStyle\sr<cSsdS)Nrrrrr�f^sz$TestCopy.test_copy_atomic.<locals>.fc@seZdZdS)z0TestCopy.test_copy_atomic.<locals>.WithMetaclassN)rrrrrrr�
WithMetaclass`sr>)�	metaclass.r��dg��Q�	@TFy�?�hellouhelloሴsworld��
r+)r�abc�ABCMeta�NotImplemented�__code__�bytes�range�slice�maxr	r
)rr;r<r=r>�testsrrrr�test_copy_atomicYs
zTestCopy.test_copy_atomiccCsVdddg}tj|�}|j||�|j||�g}tj|�}|j||�|j||�dS)Nr+r@�)r
r�assertIsNot)rrrrrr�test_copy_listjs


zTestCopy.test_copy_listcCsNd}|jtj|�|�f}|jtj|�|�dddgf}|jtj|�|�dS)Nr+r@rO)r+r@rO)r	r
)rrrrr�test_copy_tupletszTestCopy.test_copy_tuplecCsVddd�}tj|�}|j||�|j||�i}tj|�}|j||�|j||�dS)Nr+r@)r�bar)r
rrP)rrrrrr�test_copy_dict|s


zTestCopy.test_copy_dictcCsXdddh}tj|�}|j||�|j||�t�}tj|�}|j||�|j||�dS)Nr+r@rO)r
rrP�set)rrrrrr�
test_copy_set�s


zTestCopy.test_copy_setcCs<tdddh�}|jtj|�|�t�}|jtj|�|�dS)Nr+r@rO)�	frozensetr	r
)rrrrr�test_copy_frozenset�szTestCopy.test_copy_frozensetcCsVtd�}tj|�}|j||�|j||�t�}tj|�}|j||�|j||�dS)Nsabc)�	bytearrayr
rrP)rrrrrr�test_copy_bytearray�s

zTestCopy.test_copy_bytearraycCs,Gdd�d�}|d�}|jtj|�|�dS)Nc@seZdZdd�Zdd�ZdS)z*TestCopy.test_copy_inst_vanilla.<locals>.CcSs
||_dS)N)r)rrrrrr�sz3TestCopy.test_copy_inst_vanilla.<locals>.C.__init__cSs|j|jkS)N)r)r�otherrrr�__eq__�sz1TestCopy.test_copy_inst_vanilla.<locals>.C.__eq__N)rrrrr\rrrrr�srr)rr
)rrrrrr�test_copy_inst_vanilla�szTestCopy.test_copy_inst_vanillacs0G�fdd�d���d�}|jtj|�|�dS)Ncs(eZdZdd�Z�fdd�Zdd�ZdS)z'TestCopy.test_copy_inst_copy.<locals>.CcSs
||_dS)N)r)rrrrrr�sz0TestCopy.test_copy_inst_copy.<locals>.C.__init__cs
�|j�S)N)r)r)rrrr�sz0TestCopy.test_copy_inst_copy.<locals>.C.__copy__cSs|j|jkS)N)r)rr[rrrr\�sz.TestCopy.test_copy_inst_copy.<locals>.C.__eq__N)rrrrrr\r)rrrr�srr)rr
)rrr)rr�test_copy_inst_copy�szTestCopy.test_copy_inst_copycCs,Gdd�d�}|d�}|jtj|�|�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z.TestCopy.test_copy_inst_getinitargs.<locals>.CcSs
||_dS)N)r)rrrrrr�sz7TestCopy.test_copy_inst_getinitargs.<locals>.C.__init__cSs|jfS)N)r)rrrr�__getinitargs__�sz>TestCopy.test_copy_inst_getinitargs.<locals>.C.__getinitargs__cSs|j|jkS)N)r)rr[rrrr\�sz5TestCopy.test_copy_inst_getinitargs.<locals>.C.__eq__N)rrrrr_r\rrrrr�srr)rr
)rrrrrr�test_copy_inst_getinitargs�sz#TestCopy.test_copy_inst_getinitargscCsZGdd�dt�}|d�}tj|�}|j||�|j||�|j||�|j|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z-TestCopy.test_copy_inst_getnewargs.<locals>.CcSstj|�}||_|S)N)�intr"r)r#rrrrrr"�s
z5TestCopy.test_copy_inst_getnewargs.<locals>.C.__new__cSs|jfS)N)r)rrrr�__getnewargs__�sz<TestCopy.test_copy_inst_getnewargs.<locals>.C.__getnewargs__cSs|j|jkS)N)r)rr[rrrr\�sz4TestCopy.test_copy_inst_getnewargs.<locals>.C.__eq__N)rrrr"rbr\rrrrr�srr)rar
�assertIsInstancerrPr)rrrrrrr�test_copy_inst_getnewargs�s	
z"TestCopy.test_copy_inst_getnewargscCs\Gdd�dt�}|dd�}tj|�}|j||�|j||�|j||�|j|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z0TestCopy.test_copy_inst_getnewargs_ex.<locals>.CcSstj|�}||_|S)N)rar"r)r#rrrrrr"�s
z8TestCopy.test_copy_inst_getnewargs_ex.<locals>.C.__new__cSsfd|jifS)Nr)r)rrrr�__getnewargs_ex__�szBTestCopy.test_copy_inst_getnewargs_ex.<locals>.C.__getnewargs_ex__cSs|j|jkS)N)r)rr[rrrr\�sz7TestCopy.test_copy_inst_getnewargs_ex.<locals>.C.__eq__N)rrrr"rer\rrrrr�srr)r)rar
rcrrPr)rrrrrrr�test_copy_inst_getnewargs_ex�s	

z%TestCopy.test_copy_inst_getnewargs_excCs,Gdd�d�}|d�}|jtj|�|�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z+TestCopy.test_copy_inst_getstate.<locals>.CcSs
||_dS)N)r)rrrrrr�sz4TestCopy.test_copy_inst_getstate.<locals>.C.__init__cSs
d|jiS)Nr)r)rrrr�__getstate__�sz8TestCopy.test_copy_inst_getstate.<locals>.C.__getstate__cSs|j|jkS)N)r)rr[rrrr\�sz2TestCopy.test_copy_inst_getstate.<locals>.C.__eq__N)rrrrrgr\rrrrr�srr)rr
)rrrrrr�test_copy_inst_getstate�sz TestCopy.test_copy_inst_getstatecCs,Gdd�d�}|d�}|jtj|�|�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z+TestCopy.test_copy_inst_setstate.<locals>.CcSs
||_dS)N)r)rrrrrr�sz4TestCopy.test_copy_inst_setstate.<locals>.C.__init__cSs|d|_dS)Nr)r)r�staterrr�__setstate__�sz8TestCopy.test_copy_inst_setstate.<locals>.C.__setstate__cSs|j|jkS)N)r)rr[rrrr\�sz2TestCopy.test_copy_inst_setstate.<locals>.C.__eq__N)rrrrrjr\rrrrr�srr)rr
)rrrrrr�test_copy_inst_setstate�sz TestCopy.test_copy_inst_setstatecCsFGdd�d�}|d�}|jtj|�|�|d�}|jtj|�|�dS)Nc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
z4TestCopy.test_copy_inst_getstate_setstate.<locals>.CcSs
||_dS)N)r)rrrrrr�sz=TestCopy.test_copy_inst_getstate_setstate.<locals>.C.__init__cSs|jS)N)r)rrrrrg�szATestCopy.test_copy_inst_getstate_setstate.<locals>.C.__getstate__cSs
||_dS)N)r)rrirrrrj�szATestCopy.test_copy_inst_getstate_setstate.<locals>.C.__setstate__cSs|j|jkS)N)r)rr[rrrr\�sz;TestCopy.test_copy_inst_getstate_setstate.<locals>.C.__eq__N)rrrrrgrjr\rrrrr�srrg)rr
)rrrrrr� test_copy_inst_getstate_setstate�s
	z)TestCopy.test_copy_inst_getstate_setstatecCsd}tj|�}|j||�dS)Nr)r
�deepcopyr)rrrrrr�test_deepcopy_basic	s
zTestCopy.test_deepcopy_basiccCsZg}||g}tj|�}|j||�|j||�|j|d|d�|j|d|d�dS)Nrr+)r
rmrrPr	)rrrrrr�test_deepcopy_memos
zTestCopy.test_deepcopy_memocCs8Gdd�dt�}Gdd�d|d�}|jtj|�|�dS)Nc@seZdZdS)z/TestCopy.test_deepcopy_issubclass.<locals>.MetaN)rrrrrrr�Metasrpc@seZdZdS)z,TestCopy.test_deepcopy_issubclass.<locals>.CN)rrrrrrrr sr)r?)�typerr
rm)rrprrrr�test_deepcopy_issubclasssz!TestCopy.test_deepcopy_issubclasscsJG�fdd�dt���d�}tj|�}|j|j|j�|j|j|j�dS)Ncs"eZdZdd�Zd�fdd�	ZdS)z*TestCopy.test_deepcopy_deepcopy.<locals>.CcSs
||_dS)N)r)rrrrrr&sz3TestCopy.test_deepcopy_deepcopy.<locals>.C.__init__Ncs
�|j�S)N)r)r�memo)rrr�__deepcopy__(sz7TestCopy.test_deepcopy_deepcopy.<locals>.C.__deepcopy__)N)rrrrrtr)rrrr%srr)rr
rmrr r)rrrr)rr�test_deepcopy_deepcopy$s

zTestCopy.test_deepcopy_deepcopycsPGdd�dt���fdd�}�d�}|jttj|�tj�|��tj|�}dS)Nc@seZdZdd�ZdS)z*TestCopy.test_deepcopy_registry.<locals>.CcSstj|�}||_|S)N)rr"r)r#rr$rrrr"1s
z2TestCopy.test_deepcopy_registry.<locals>.C.__new__N)rrrr"rrrrr0srcs�|jffS)N)r)r$)rrrr%5sz1TestCopy.test_deepcopy_registry.<locals>.pickle_Cr)rr&r'r
rmr(r))rr%rrr)rr�test_deepcopy_registry/szTestCopy.test_deepcopy_registrycsFG�fdd�dt�}g�|�}tj|�}|j||�|j�dg�dS)Ncs eZdZ�fdd�Zdd�ZdS)z+TestCopy.test_deepcopy_reduce_ex.<locals>.Ccs�jd�dS)Nr+r,)r-)rr.)r/rrr0>s
z9TestCopy.test_deepcopy_reduce_ex.<locals>.C.__reduce_ex__cSs|jd�dS)Nzshouldn't call this)r1)rrrrr2Asz6TestCopy.test_deepcopy_reduce_ex.<locals>.C.__reduce__N)rrrr0r2r)r/rrr=srr+)rr
rmr	r)rrrrr)r/r�test_deepcopy_reduce_ex<s
z TestCopy.test_deepcopy_reduce_excsFG�fdd�dt�}g�|�}tj|�}|j||�|j�dg�dS)NcseZdZ�fdd�ZdS)z(TestCopy.test_deepcopy_reduce.<locals>.Ccs�jd�dS)Nr+r,)r-)r)r/rrr2Ks
z3TestCopy.test_deepcopy_reduce.<locals>.C.__reduce__N)rrrr2r)r/rrrJsrr+)rr
rmr	r)rrrrr)r/r�test_deepcopy_reduceIs
zTestCopy.test_deepcopy_reducecCs,Gdd�dt�}|�}|jtjtj|�dS)Nc@seZdZdd�ZdS)z&TestCopy.test_deepcopy_cant.<locals>.CcSs|jd�rt|��tj||�S)Nr5)r6r7rr8)rr9rrrr8Vs
z7TestCopy.test_deepcopy_cant.<locals>.C.__getattribute__N)rrrr8rrrrrUsr)rr&r
rrm)rrrrrr�test_deepcopy_cantTszTestCopy.test_deepcopy_cantc
CsnGdd�d�}Gdd�dt�}dd�}dddd	d
ddd
dd|j||tg
}x|D]}|jtj|�|�qPWdS)Nc@seZdZdS)z.TestCopy.test_deepcopy_atomic.<locals>.ClassicN)rrrrrrrr;`sr;c@seZdZdS)z/TestCopy.test_deepcopy_atomic.<locals>.NewStyleN)rrrrrrrr<bsr<cSsdS)Nrrrrrr=dsz(TestCopy.test_deepcopy_atomic.<locals>.frr@rAg��Q�	@TFy�?rBuhelloሴ)rrHrLr	r
rm)rr;r<r=rMrrrr�test_deepcopy_atomic_s

zTestCopy.test_deepcopy_atomiccCsFddgdg}tj|�}|j||�|j||�|j|d|d�dS)Nr+r@rOr)r
rmrrP)rrrrrr�test_deepcopy_listls

zTestCopy.test_deepcopy_listcCsfg}|j|�tj|�}xtD]}|jt|||�qW|j||�|j|d|�|jt	|�d�dS)Nrr+)
r-r
rm�comparisonsr&�RecursionErrorrPr	r�len)rrr�oprrr�test_deepcopy_reflexive_listss


z%TestCopy.test_deepcopy_reflexive_listcCsf}tj|�}|j||�dS)N)r
rmr	)rrrrrr�test_deepcopy_empty_tuple}s
z"TestCopy.test_deepcopy_empty_tuplecCsFddgdf}tj|�}|j||�|j||�|j|d|d�dS)Nr+r@rOr)r
rmrrP)rrrrrr�test_deepcopy_tuple�s

zTestCopy.test_deepcopy_tuplecCsd}tj|�}|j||�dS)Nr+r@rO�r+r@)r�rO)r
rmr	)rrrrrr�!test_deepcopy_tuple_of_immutables�s
z*TestCopy.test_deepcopy_tuple_of_immutablescCstgf}|dj|�tj|�}xtD]}|jt|||�q$W|j||�|j|d|d�|j|dd|�dS)Nr)r-r
rmr|r&r}rPr	)rrrrrrr�test_deepcopy_reflexive_tuple�s

z&TestCopy.test_deepcopy_reflexive_tuplecCsHddgdd�}tj|�}|j||�|j||�|j|d|d�dS)Nr+r@rO)rrSr)r
rmrrP)rrrrrr�test_deepcopy_dict�s

zTestCopy.test_deepcopy_dictcCs�i}||d<tj|�}xtD]}|jt|||�qWxtD]}|jt|||�q:W|j||�|j|d|�|j	t
|�d�dS)Nrr+)r
rm�order_comparisonsr&r'�equality_comparisonsr}rPr	rr~)rrrrrrr�test_deepcopy_reflexive_dict�s


z%TestCopy.test_deepcopy_reflexive_dictcCs0i}g}tj||�}|j|t|�d|�dS)Nr)r
rmr	�id)rrsrrrrr�test_deepcopy_keepalive�sz TestCopy.test_deepcopy_keepalivecCsni}ddddg}tj||�}|j||�|jt|�d�i}dg}tj||�}|j||�|jt|�d�dS)Nr+r@rO�)r+r@)r
rmrr~)rrsrrrrr�!test_deepcopy_dont_memo_immutable�sz*TestCopy.test_deepcopy_dont_memo_immutablecCsBGdd�d�}|dg�}tj|�}|j||�|j|j|j�dS)Nc@seZdZdd�Zdd�ZdS)z.TestCopy.test_deepcopy_inst_vanilla.<locals>.CcSs
||_dS)N)r)rrrrrr�sz7TestCopy.test_deepcopy_inst_vanilla.<locals>.C.__init__cSs|j|jkS)N)r)rr[rrrr\�sz5TestCopy.test_deepcopy_inst_vanilla.<locals>.C.__eq__N)rrrrr\rrrrr�srr)r
rmrrPr)rrrrrrr�test_deepcopy_inst_vanilla�s


z#TestCopy.test_deepcopy_inst_vanillacsRG�fdd�d���dg�}tj|�}|j||�|j||�|j|j|j�dS)Ncs(eZdZdd�Z�fdd�Zdd�ZdS)z/TestCopy.test_deepcopy_inst_deepcopy.<locals>.CcSs
||_dS)N)r)rrrrrr�sz8TestCopy.test_deepcopy_inst_deepcopy.<locals>.C.__init__cs�tj|j|��S)N)r
rmr)rrs)rrrrt�sz<TestCopy.test_deepcopy_inst_deepcopy.<locals>.C.__deepcopy__cSs|j|jkS)N)r)rr[rrrr\�sz6TestCopy.test_deepcopy_inst_deepcopy.<locals>.C.__eq__N)rrrrrtr\r)rrrr�srr)r
rmrrPr)rrrr)rr�test_deepcopy_inst_deepcopy�s

z$TestCopy.test_deepcopy_inst_deepcopycCsNGdd�d�}|dg�}tj|�}|j||�|j||�|j|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z2TestCopy.test_deepcopy_inst_getinitargs.<locals>.CcSs
||_dS)N)r)rrrrrr�sz;TestCopy.test_deepcopy_inst_getinitargs.<locals>.C.__init__cSs|jfS)N)r)rrrrr_�szBTestCopy.test_deepcopy_inst_getinitargs.<locals>.C.__getinitargs__cSs|j|jkS)N)r)rr[rrrr\�sz9TestCopy.test_deepcopy_inst_getinitargs.<locals>.C.__eq__N)rrrrr_r\rrrrr�srr)r
rmrrPr)rrrrrrr�test_deepcopy_inst_getinitargs�s

z'TestCopy.test_deepcopy_inst_getinitargscCslGdd�dt�}|dg�}tj|�}|j||�|j||�|j||�|j|j|j�|j|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z1TestCopy.test_deepcopy_inst_getnewargs.<locals>.CcSstj|�}||_|S)N)rar"r)r#rrrrrr"�s
z9TestCopy.test_deepcopy_inst_getnewargs.<locals>.C.__new__cSs|jfS)N)r)rrrrrb�sz@TestCopy.test_deepcopy_inst_getnewargs.<locals>.C.__getnewargs__cSs|j|jkS)N)r)rr[rrrr\�sz8TestCopy.test_deepcopy_inst_getnewargs.<locals>.C.__eq__N)rrrr"rbr\rrrrr�srr)rar
rmrcrrPr)rrrrrrr�test_deepcopy_inst_getnewargs�s	

z&TestCopy.test_deepcopy_inst_getnewargscCsnGdd�dt�}|dgd�}tj|�}|j||�|j||�|j||�|j|j|j�|j|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z4TestCopy.test_deepcopy_inst_getnewargs_ex.<locals>.CcSstj|�}||_|S)N)rar"r)r#rrrrrr"�s
z<TestCopy.test_deepcopy_inst_getnewargs_ex.<locals>.C.__new__cSsfd|jifS)Nr)r)rrrrre�szFTestCopy.test_deepcopy_inst_getnewargs_ex.<locals>.C.__getnewargs_ex__cSs|j|jkS)N)r)rr[rrrr\sz;TestCopy.test_deepcopy_inst_getnewargs_ex.<locals>.C.__eq__N)rrrr"rer\rrrrr�srr)r)rar
rmrcrrPr)rrrrrrr� test_deepcopy_inst_getnewargs_ex�s	
z)TestCopy.test_deepcopy_inst_getnewargs_excCsNGdd�d�}|dg�}tj|�}|j||�|j||�|j|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z/TestCopy.test_deepcopy_inst_getstate.<locals>.CcSs
||_dS)N)r)rrrrrr
sz8TestCopy.test_deepcopy_inst_getstate.<locals>.C.__init__cSs
d|jiS)Nr)r)rrrrrgsz<TestCopy.test_deepcopy_inst_getstate.<locals>.C.__getstate__cSs|j|jkS)N)r)rr[rrrr\sz6TestCopy.test_deepcopy_inst_getstate.<locals>.C.__eq__N)rrrrrgr\rrrrrsrr)r
rmrrPr)rrrrrrr�test_deepcopy_inst_getstates

z$TestCopy.test_deepcopy_inst_getstatecCsNGdd�d�}|dg�}tj|�}|j||�|j||�|j|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z/TestCopy.test_deepcopy_inst_setstate.<locals>.CcSs
||_dS)N)r)rrrrrrsz8TestCopy.test_deepcopy_inst_setstate.<locals>.C.__init__cSs|d|_dS)Nr)r)rrirrrrjsz<TestCopy.test_deepcopy_inst_setstate.<locals>.C.__setstate__cSs|j|jkS)N)r)rr[rrrr\sz6TestCopy.test_deepcopy_inst_setstate.<locals>.C.__eq__N)rrrrrjr\rrrrrsrr)r
rmrrPr)rrrrrrr�test_deepcopy_inst_setstates

z$TestCopy.test_deepcopy_inst_setstatecCs�Gdd�d�}|dg�}tj|�}|j||�|j||�|j|j|j�|g�}tj|�}|j||�|j||�|j|j|j�dS)Nc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
z8TestCopy.test_deepcopy_inst_getstate_setstate.<locals>.CcSs
||_dS)N)r)rrrrrr)szATestCopy.test_deepcopy_inst_getstate_setstate.<locals>.C.__init__cSs|jS)N)r)rrrrrg+szETestCopy.test_deepcopy_inst_getstate_setstate.<locals>.C.__getstate__cSs
||_dS)N)r)rrirrrrj-szETestCopy.test_deepcopy_inst_getstate_setstate.<locals>.C.__setstate__cSs|j|jkS)N)r)rr[rrrr\/sz?TestCopy.test_deepcopy_inst_getstate_setstate.<locals>.C.__eq__N)rrrrrgrjr\rrrrr(srr)r
rmrrPr)rrrrrrr�$test_deepcopy_inst_getstate_setstate's	


z-TestCopy.test_deepcopy_inst_getstate_setstatecCsBGdd�d�}|�}||_tj|�}|j||�|j|j|�dS)Nc@seZdZdS)z0TestCopy.test_deepcopy_reflexive_inst.<locals>.CN)rrrrrrrr>sr)rr
rmrPr	)rrrrrrr�test_deepcopy_reflexive_inst=s
z%TestCopy.test_deepcopy_reflexive_instcCspGdd�dt�}t|d��}tj|�}|j||�|j||�|j|j|j�|j|j|j�|j|j|�dS)Nc@seZdZdS)z'TestCopy.test_deepcopy_range.<locals>.IN)rrrrrrr�IGsr�rD)rarJr
rmrPr�stoprc)rr�rrrrr�test_deepcopy_rangeFs
zTestCopy.test_deepcopy_rangecCsFGdd�dt�}|�}tj|�}|j||�tj|�}|j||�dS)Nc@seZdZdd�ZdS)z+TestCopy.test_reconstruct_string.<locals>.CcSsdS)Nr,r)rrrrr2Usz6TestCopy.test_reconstruct_string.<locals>.C.__reduce__N)rrrr2rrrrrTsr)rr
r	rm)rrrrrrr�test_reconstruct_stringSs

z TestCopy.test_reconstruct_stringcsXG�fdd�dt����}d|_tj|�}|j|j|j�tj|�}|j|j|j�dS)NcseZdZ�fdd�ZdS)z,TestCopy.test_reconstruct_nostate.<locals>.Ccs�ffS)Nr)r)rrrr2_sz7TestCopy.test_reconstruct_nostate.<locals>.C.__reduce__N)rrrr2r)rrrr^srr)rrr
r	r rm)rrrr)rr�test_reconstruct_nostate]s

z!TestCopy.test_reconstruct_nostatecsbG�fdd�dt����}dg|_tj|�}|j||�tj|�}|j||�|j|j|j�dS)Ncs eZdZ�fdd�Zdd�ZdS)z*TestCopy.test_reconstruct_state.<locals>.Ccs�f|jfS)N)�__dict__)r)rrrr2jsz5TestCopy.test_reconstruct_state.<locals>.C.__reduce__cSs|j|jkS)N)r�)rr[rrrr\lsz1TestCopy.test_reconstruct_state.<locals>.C.__eq__N)rrrr2r\r)rrrrisrr)rrr
rrmrP)rrrr)rr�test_reconstruct_statehs

zTestCopy.test_reconstruct_statecsbG�fdd�dt����}dg|_tj|�}|j||�tj|�}|j||�|j|j|j�dS)Ncs(eZdZ�fdd�Zdd�Zdd�ZdS)z3TestCopy.test_reconstruct_state_setstate.<locals>.Ccs�f|jfS)N)r�)r)rrrr2xsz>TestCopy.test_reconstruct_state_setstate.<locals>.C.__reduce__cSs|jj|�dS)N)r��update)rrirrrrjzsz@TestCopy.test_reconstruct_state_setstate.<locals>.C.__setstate__cSs|j|jkS)N)r�)rr[rrrr\|sz:TestCopy.test_reconstruct_state_setstate.<locals>.C.__eq__N)rrrr2rjr\r)rrrrwsrr)rrr
rrmrP)rrrr)rr�test_reconstruct_state_setstatevs

z(TestCopy.test_reconstruct_state_setstatecCsDGdd�dt�}|�}||_tj|�}|j||�|j|j|�dS)Nc@seZdZdS)z.TestCopy.test_reconstruct_reflexive.<locals>.CN)rrrrrrrr�sr)rrr
rmrPr	)rrrrrrr�test_reconstruct_reflexive�s
z#TestCopy.test_reconstruct_reflexivecs�G�fdd�dt���ddgdg�}tj|�}|j||�|j||�|j|d|d�tj|�}|j||�|j||�|j|d|d�dS)Ncs eZdZ�fdd�Zdd�ZdS)z&TestCopy.test_reduce_4tuple.<locals>.Ccs�f|jt|�fS)N)r��iter)r)rrrr2�sz1TestCopy.test_reduce_4tuple.<locals>.C.__reduce__cSst|�t|�ko|j|jkS)N)�listr�)rr[rrrr\�sz-TestCopy.test_reduce_4tuple.<locals>.C.__eq__N)rrrr2r\r)rrrr�srr+r@rOr)r�r
rrPr	rm)rrrr)rr�test_reduce_4tuple�s

zTestCopy.test_reduce_4tuplecs�G�fdd�dt���dddgfdg�}tj|�}|j||�|j||�|j|d|d�tj|�}|j||�|j||�|j|d|d�dS)	Ncs eZdZ�fdd�Zdd�ZdS)z&TestCopy.test_reduce_5tuple.<locals>.Ccs�f|jd|j�fS)N)r��items)r)rrrr2�sz1TestCopy.test_reduce_5tuple.<locals>.C.__reduce__cSst|�t|�ko|j|jkS)N)�dictr�)rr[rrrr\�sz-TestCopy.test_reduce_5tuple.<locals>.C.__eq__N)rrrr2r\r)rrrr�srrr+r@rSrO)rSrO)r�r
rrPr	rm)rrrr)rr�test_reduce_5tuple�s

zTestCopy.test_reduce_5tuplecCs<Gdd�dt�}|�}dg|_tj|�}|j|j|j�dS)Nc@seZdZdgZdS)z#TestCopy.test_copy_slots.<locals>.CrN)rrr�	__slots__rrrrr�srr)rrr
r	)rrrrrrr�test_copy_slots�s

zTestCopy.test_copy_slotscCsLGdd�dt�}|�}dg|_tj|�}|j|j|j�|j|j|j�dS)Nc@seZdZdgZdS)z'TestCopy.test_deepcopy_slots.<locals>.CrN)rrrr�rrrrr�srr)rrr
rmrrP)rrrrrrr�test_deepcopy_slots�s
zTestCopy.test_deepcopy_slotscCsxGdd�dt�}|ddid�}tj|�}|j||�|j|j|j�|j||�d|d<|j||�|j|j|j�dS)Ncs*eZdZd�fdd�	Z�fdd�Z�ZS)z/TestCopy.test_deepcopy_dict_subclass.<locals>.CNcs&|si}t|j��|_t�j|�dS)N)r��keys�_keys�superr)r�d)r rrr�sz8TestCopy.test_deepcopy_dict_subclass.<locals>.C.__init__cs(t�j||�||jkr$|jj|�dS)N)r��__setitem__r�r-)r�key�item)r rrr��s
z;TestCopy.test_deepcopy_dict_subclass.<locals>.C.__setitem__)N)rrrrr��
__classcell__rr)r rr�srrr)r�r+rS)r�r
rmrr�rP�assertNotEqual)rrrrrrr�test_deepcopy_dict_subclass�s

z$TestCopy.test_deepcopy_dict_subclasscCs�Gdd�dt�}|ddgdg�}ddg|_tj|�}|jt|�t|��|j|j|j�|j|d|d�|j|j|j�dS)	Nc@seZdZdS)z+TestCopy.test_copy_list_subclass.<locals>.CN)rrrrrrrr�srr+r@rOr��r)r�rr
rr	)rrrrrrr�test_copy_list_subclass�s

z TestCopy.test_copy_list_subclasscCs�Gdd�dt�}|ddgdg�}ddg|_tj|�}|jt|�t|��|j|j|j�|j|d|d�|j|j|j�dS)	Nc@seZdZdS)z/TestCopy.test_deepcopy_list_subclass.<locals>.CN)rrrrrrrr�srr+r@rOr�r�r)r�rr
rmrrP)rrrrrrr�test_deepcopy_list_subclass�s

z$TestCopy.test_deepcopy_list_subclasscCsLGdd�dt�}|dddg�}|jt|�d�tj|�}|jt|�d�dS)Nc@seZdZdS)z,TestCopy.test_copy_tuple_subclass.<locals>.CN)rrrrrrrr�srr+r@rO)r+r@rO)r+r@rO)�tuplerr
)rrrrrrr�test_copy_tuple_subclass�s

z!TestCopy.test_copy_tuple_subclasscCs~Gdd�dt�}|ddgdg�}|jt|�ddgdf�tj|�}|jt|�ddgdf�|j||�|j|d|d�dS)Nc@seZdZdS)z0TestCopy.test_deepcopy_tuple_subclass.<locals>.CN)rrrrrrrr�srr+r@rOr)r�rr
rmrP)rrrrrrr�test_deepcopy_tuple_subclass�s
z%TestCopy.test_deepcopy_tuple_subclasscCs&Gdd�dt�}|jttj|��dS)Nc@seZdZdd�ZdS)z-TestCopy.test_getstate_exc.<locals>.EvilStatecSstd��dS)Nzain't got no stickin' state)�
ValueError)rrrrrgsz:TestCopy.test_getstate_exc.<locals>.EvilState.__getstate__N)rrrrgrrrr�	EvilStatesr�)rr&r�r
)rr�rrr�test_getstate_excszTestCopy.test_getstate_exccCsJ|jtjt�t�dd�}|jtj|�|�dd�}|jtj|�|�dS)NcSs||S)Nr)rrrrrrsz(TestCopy.test_copy_function.<locals>.foocSsdS)Nrrrrr�<lambda>
sz-TestCopy.test_copy_function.<locals>.<lambda>)rr
�
global_foo)rrrSrrr�test_copy_functions
zTestCopy.test_copy_functioncCsJ|jtjt�t�dd�}|jtj|�|�dd�}|jtj|�|�dS)NcSs||S)Nr)rrrrrrsz,TestCopy.test_deepcopy_function.<locals>.foocSsdS)Nrrrrrr�sz1TestCopy.test_deepcopy_function.<locals>.<lambda>)rr
rmr�)rrrSrrr�test_deepcopy_function
s
zTestCopy.test_deepcopy_functioncCsNGdd�dt�}|�}tj|�}||�}|j||�~||�}|j||�dS)Nc@seZdZdS)z"TestCopy._check_weakref.<locals>.CN)rrrrrrrrsr)r�weakref�refr	)rZ_copyrr$rrrrr�_check_weakrefs
zTestCopy._check_weakrefcCs|jtj�dS)N)r�r
)rrrr�test_copy_weakrefszTestCopy.test_copy_weakrefcCs|jtj�dS)N)r�r
rm)rrrr�test_deepcopy_weakref"szTestCopy.test_deepcopy_weakrefc
s�Gdd�dt���fdd�td�D�\}}}}|�}|||<|||<tj|�}|j||�|j||�|j|||�|j|||�|jt|�d�~~|jt|�d�����}}	|	||<|j||�dS)Nc@seZdZdS)z(TestCopy._check_copy_weakdict.<locals>.CN)rrrrrrrr&srcsg|]
}���qSrr)�.0�i)rrr�
<listcomp>(sz1TestCopy._check_copy_weakdict.<locals>.<listcomp>r�r@r+)rrJr
rPrr~ZassertNotIn)
rZ	_dicttype�a�br/r��u�vrrr)rr�_check_copy_weakdict%s 
zTestCopy._check_copy_weakdictcCs|jtj�dS)N)r�r��WeakKeyDictionary)rrrr�test_copy_weakkeydict9szTestCopy.test_copy_weakkeydictcCs|jtj�dS)N)r�r��WeakValueDictionary)rrrr�test_copy_weakvaluedict<sz TestCopy.test_copy_weakvaluedictcs�Gdd�dt���fdd�td�D�\}}}}tj�}|||<|||<tj|�}|j||�|jt|�d�|j	|||�|j	|||�|j||j
|j
�|j||j
|j
�~|jt|�d�dS)Nc@seZdZdd�ZdS)z-TestCopy.test_deepcopy_weakkeydict.<locals>.CcSs
||_dS)N)r�)rr�rrrrAsz6TestCopy.test_deepcopy_weakkeydict.<locals>.C.__init__N)rrrrrrrrr@srcsg|]}�|��qSrr)r�r�)rrrr�Csz6TestCopy.test_deepcopy_weakkeydict.<locals>.<listcomp>r�r@r+)rrJr�r�r
rmr�rr~rPr�)rr�r�r/r�r�r�r)rr�test_deepcopy_weakkeydict?s
z"TestCopy.test_deepcopy_weakkeydictcs�Gdd�dt���fdd�td�D�\}}}}tj�}|||<|||<tj|�}|j||�|jt|�d�t	|j
�dd�d	�\\}}\}	}
|j||�|j|j|j�|j
||�|j|	|�|j|	j|j�|j
|
|�~~~	~
~|jt|�d
�dS)Nc@seZdZdd�ZdS)z/TestCopy.test_deepcopy_weakvaluedict.<locals>.CcSs
||_dS)N)r�)rr�rrrrTsz8TestCopy.test_deepcopy_weakvaluedict.<locals>.C.__init__N)rrrrrrrrrSsrcsg|]}�|��qSrr)r�r�)rrrr�Vsz8TestCopy.test_deepcopy_weakvaluedict.<locals>.<listcomp>r�r@cSs
|djS)Nr)r�)Zpairrrrr�^sz6TestCopy.test_deepcopy_weakvaluedict.<locals>.<lambda>)r�r+)rrJr�r�r
rmr�rr~�sortedr�rPr�r	)rr�r�r/r�r�r�rr�z�tr)rr�test_deepcopy_weakvaluedictRs$
 z$TestCopy.test_deepcopy_weakvaluedictcCsTGdd�dt�}|�}|j|_tj|�}|j|j|j�|j|jj|�|j�dS)Nc@seZdZdd�ZdS)z0TestCopy.test_deepcopy_bound_method.<locals>.FoocSsdS)Nr)rrrr�mksz2TestCopy.test_deepcopy_bound_method.<locals>.Foo.mN)rrrr�rrrr�Foojsr�)rr�r�r
rmrr	�__self__)rr�r=�grrr�test_deepcopy_bound_methodis
z#TestCopy.test_deepcopy_bound_methodN)Prrrrrr!r*r3r4r:rNrQrRrTrVrXrZr]r^r`rdrfrhrkrlrnrorrrurvrwrxryrzr{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�rrrrrs�





	




	

	
rcCs||S)Nr)rrrrrr�usr��__main__)�__doc__r
r(r�rE�operatorrrrrrrZunittestr�r�r|ZTestCaserr�r�mainrrrr�<module>s& l