python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_dynamicclassattribute.cpython-312.opt-2.pyc

͑eC&
ddlZddlZddlZddlmZGddeZGddeZGddeZGd	d
eZ	Gdde
ZGd
deZGdde
Z
Gdde
ZGddeZGdde
ZGddej"ZGddej"ZGddej(ZGddeZGd d!eZGd"d#ej(Zed$k(rej4yy)%N)DynamicClassAttributeceZdZy)PropertyBaseN__name__
__module____qualname__S/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_dynamicclassattribute.pyrr	rrceZdZy)PropertyGetNrr
rrrrr
rrceZdZy)PropertySetNrr
rrrrr
rrceZdZy)PropertyDelNrr
rrrrr
rrcjeZdZdZedZejdZejdZy)	BaseClasscd|_yN_spamselfs r__init__zBaseClass.__init__s	
rc	|jSNrrs rspamzBaseClass.spamszzrc||_yrrrvalues  rr zBaseClass.spams	
rc|`yrrrs rr zBaseClass.spam"sJrN)rrr	rrr setterdeleterr
rrrrsK
[[
\\rrceZdZejdZejdZejdZejdZy)SubClassr c.	t|jr)rrrs rr z
SubClass.spam*s$**%%rc,t|jr)rrr"s  rr z
SubClass.spam/$**%%rc,t|jr)rrrs rr z
SubClass.spam3r+rN)	rrr	r__dict__r getterr%r&r
rrr(r(&sXf%D	[[&&
[[&&
\\&&rr(c*eZdZdZdZeedZy)PropertyDocBasec|jSrrrs r	_get_spamzPropertyDocBase._get_spam9szzrspam spam spam)docN)rrr	rr3rr r
rrr0r07s
E 0@ADrr0cNeZdZejdZejdZy)PropertyDocSubr c	|jSrrrs rr zPropertyDocSub.spam?s8zzrN)rrr	r0r-r r.r
rrr7r7=s(##F+D	[[rr7cNeZdZejdZejdZy)PropertySubNewGetterr c	yrr
rs rr zPropertySubNewGetter.spamFrN)rrr	rr-r r.r
rrr:r:Ds(f%D	[[rr:c@eZdZedZej
dZy)PropertyNewGetterc	yNr1r
rs rr zPropertyNewGetter.spamLs rc	y)Nr
rs rr zPropertyNewGetter.spamPr<rN)rrr	rr r.r
rrr>r>Ks,
[[rr>c:eZdZeej
dZy) ClassWithAbstractVirtualPropertycyrr
r
rrcolorz&ClassWithAbstractVirtualProperty.colorV	
rN)rrr	rabcabstractmethodrFr
rrrDrDUs"

rrD)	metaclassc:eZdZejedZy) ClassWithPropertyAbstractVirtualcyrr
r
rrrFz&ClassWithPropertyAbstractVirtual.color\rGrN)rrr	rHrIrrFr
rrrLrL[s"

rrLcJeZdZdZdZejejjdk\ddZ
ejejjdk\ddZdZejejjdk\ddZ
d	Zd
Zy)
PropertyTestsct}|j|jd|j|jdd|_|j|jd|j|jdt	|d|jt
|d|jt
|dd|_|j|jd|j|jdy)Nr
r r)rassertEqualr rdelattr
assertTruehasattrrbases  r!test_property_decorator_baseclassz/PropertyTests.test_property_decorator_baseclassbs{A&Q'	B'R(fGD&112GD'223	B'R(rct}|jtt|d|jtt
|dd|jtt|dy)Nr )r(assertRaisesrgetattrrsetattrrrTrsubs  r test_property_decorator_subclassz.PropertyTests.test_property_decorator_subclassqsGj+wV<+wVTB+wV<r)Docstrings are omitted with -O2 and abovec~t}|j|jjdjdy)Nr zSubClass.getter)r(rS	__class__r-__doc__r^s  r$test_property_decorator_subclass_docz2PropertyTests.test_property_decorator_subclass_docxs1j//7??ARSrc~t}|j|jjdjdy)Nr zBaseClass.getter)rrSrdr-rerWs  r%test_property_decorator_baseclass_docz3PropertyTests.test_property_decorator_baseclass_doc~s1{008@@BTUrct}t}|j|jjdj
d|j|jjdj
dy)Nr r4)r0r7rSrdr-re)rrXr_s   rtest_property_decorator_docz)PropertyTests.test_property_decorator_docs^ 008@@BRS//7??AQRrcht}|j|jd|j|jjdj
dt
}|j|jd|j|jjdj
dy)Nrr z
new docstringrB)r:rSr rdr-rer>)rnewgettersub	newgetters   r!test_property_getter_doc_overridez/PropertyTests.test_property_getter_doc_overrides,-**A.//88@HH/Z%'	+,,55f=EEWrc>ddgdgddfD]EGfddt}|j|jdjt	GGd	d
t|jt5Gfddt}dddy#1swYyxYw)NTFr11c4eZdZdZWe_eeZy)EPropertyTests.test_property___isabstractmethod__descriptor.<locals>.Ccyrr
rs rfoozIPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C.foorNrrr	ru__isabstractmethod__r)valsrCrss+.(+C0rrzruceZdZdZeZy)KPropertyTests.test_property___isabstractmethod__descriptor.<locals>.NotBoolctr)
ValueErrorrs r__bool__zTPropertyTests.test_property___isabstractmethod__descriptor.<locals>.NotBool.__bool__s
 l"rN)rrr	r__len__r
rrNotBoolr|s
#Grrc>eZdZdZWe_eeZy)rscyrr
rs rruzIPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C.foorvrNrw)rsrrzzEPropertyTests.test_property___isabstractmethod__descriptor.<locals>.Cs+29(+C0r)objectassertIsr-rxboolr[r~)rrzrrys  @@r,test_property___isabstractmethod__descriptorz:PropertyTests.test_property___isabstractmethod__descriptors%aS"c2	MC
1F
1

MM!**U+@@$s)L
	M	f	

z
*	1
1F
1	1	1	1s8BBc|jtt|jttGddt}|jt|Gddt}|jt|Gddt}|jt5|j
ddd|j
|j
dGdd	t}|jt5|j
ddd|j
|j
d
y#1swYxYw#1swY7xYw)NceZdZy)0PropertyTests.test_abstract_virtual.<locals>.APVNrr
rrAPVrrrceZdZy)0PropertyTests.test_abstract_virtual.<locals>.AVPNrr
rrAVPrrrrc"eZdZedZdZy)2PropertyTests.test_abstract_virtual.<locals>.Okay1c|jSr_colorrs rrFz8PropertyTests.test_abstract_virtual.<locals>.Okay1.color{{"rcd|_y)Ncyanrrs rrz;PropertyTests.test_abstract_virtual.<locals>.Okay1.__init__s	$rNrrr	rrFrr
rrOkay1rs
"
##
#
%rrrc"eZdZedZdZy)2PropertyTests.test_abstract_virtual.<locals>.Okay2c|jSrrrs rrFz8PropertyTests.test_abstract_virtual.<locals>.Okay2.colorrrcd|_y)Nmagentarrs rrz;PropertyTests.test_abstract_virtual.<locals>.Okay2.__init__s	'rNrr
rrOkay2rs
"
##
#
(rrr)r[	TypeErrorrDrLAttributeErrorrFrS)rrrrrs     rtest_abstract_virtualz#PropertyTests.test_abstract_virtuals)%EF)%EF	2	)S)	2	)S)	%4	%

~
.	KK	/	(4	(

~
.	KK		2				s#
D4=
E4D=E	N)rrr	rYr`unittestskipIfsysflagsoptimizerfrhrjrnrrr
rrrOrOas
)=X__SYY''1,@BTBTX__SYY''1,@BVBVSX__SYY''1,@BXBX1,3rrOceZdZy)PropertySubNrr
rrrrs5rrceZdZ	dZy)PropertySubSlotsr
N)rrr		__slots__r
rrrrs
LIrrcleZdZejeedddZejejjdk\ddZejejjdk\ddZejejjdk\ddZ
y	)
PropertySubclassTestsrez9__doc__ is already present, __slots__ will have no effectcV	Gddt}td#t$rYywxYw)NcBeZdZedZedejy)FPropertySubclassTests.test_slots_docstring_copy_exception.<locals>.Fooc	yr@r
rs rr zKPropertySubclassTests.test_slots_docstring_copy_exception.<locals>.Foo.spamsOr
N)rrr	rr printrer
rrFoors$!"d4<<(rrzAttributeError not raised)r	Exceptionrrrs  r#test_slots_docstring_copy_exceptionz9PropertySubclassTests.test_slots_docstring_copy_exceptions5
	9
)f
)788		s	((rarbctGddt}|j|jdjdy)NceZdZedZy)6PropertySubclassTests.test_docstring_copy.<locals>.Fooc	yr@r
rs rr z;PropertySubclassTests.test_docstring_copy.<locals>.Foo.spamsDrNrrr	rr r
rrrr


rrr .spam wrapped in DynamicClassAttribute subclassrrSr-rers  rtest_docstring_copyz)PropertySubclassTests.test_docstring_copys3	&	
	
LL ((<	>rcGddt}|j|jdd|_|j|jd|jjdjdGfdd}|}|j|jdd	|_|j|jd
|j|jdjdy)NcFeZdZdZedZejdZy)OPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foocd|_yr@rrs rrzXPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.__init__sQ
rc	|jSrrrs rr zTPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.spamsDzz!rc	||_yrrr"s  rr zTPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.spams/"
rN)rrr	rrr r%r
rrrrs/.

"
"[[
#
#rrr1rar rcReZdZWjdZej
dZy)RPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.FooSubr c	d|_y)Neggsrr"s  rr zWPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.FooSub.spams/#
rN)rrr	r-r r%)rsrFooSubrs'<<'D
[[
$
$rrr)rrSr r-re)rrurfoosubrs    @r,test_property_setter_copies_getter_docstringzBPropertySubclassTests.test_property_setter_copies_getter_docstrings		#&		#e1%1%LL ((<	>	$S	$a(f-OOF#++<	>rcGddt}|j|jdjdGddtGfdd}|j|jdjdy)	Nc@eZdZedZej
dZy)IPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Fooc	yr@r
rs rr zNPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo.spam!rc	yNrar
rs rr zNPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo.spam%rN)rrr	rr r.r
rrrrs,


[[

rrr za new docstringceZdZedZy)MPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.FooBasec	yr@r
rs rr zRPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.FooBase.spamrrNrr
rrFooBaserrrrcReZdZWjdZej
dZy)JPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo2r c	yrr
rs rr zOPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo2.spam#rrN)rrr	r-r r.)rsrFoo2r!s)##F+D
[[

rrr)rrrrs   @r&test_property_new_getter_new_docstringz<PropertySubclassTests.test_property_new_getter_new_docstringsk	&		
f-557HI	f	
	7		
f-557HIrN)rrr	rrrVrrrrrrrrr
rrrrsX__W-y9GI9I9X__SYY''1,@B>B>X__SYY''1,@B>B>@X__SYY''1,@BJBJrr__main__)rHrrtypesrrrrrrrrr(r0r7r:r>ABCMetarDrLTestCaserOrrrrmainr
rr<module>rs

'	9		,		,		,	"&y&"BfB_9



c3H%%c3N6'6,XJH--XJxzHMMOr