python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_compare.cpython-311.opt-1.pyc

eEdZddlZddlmZddlmZddlmZGddejZ	Gdd	ejZ
ed
krejdSdS)z$Test equality and order comparisons.N)	ALWAYS_EQ)Fraction)DecimalceZdZdZGddZGddZddddedgZd	gd
degZeezZdZ	d
Z
dZdZdZ
dZdZdS)ComparisonSimpleTestz:Test equality and order comparisons for some simple cases.ceZdZdZdS)ComparisonSimpleTest.EmptycdS)Nz<Empty>selfs E/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_compare.py__repr__z#ComparisonSimpleTest.Empty.__repr__s9N)__name__
__module____qualname__rrrrEmptyr	s#					rrc eZdZdZdZdZdS)ComparisonSimpleTest.Cmpc||_dSNarg)r
rs  r__init__z!ComparisonSimpleTest.Cmp.__init__s
DHHHrcd|jzS)Nz<Cmp %s>rrs rrz!ComparisonSimpleTest.Cmp.__repr__s((rc|j|kSrrr
others  r__eq__zComparisonSimpleTest.Cmp.__eq__s8u$$rN)rrrrrr rrrCmprsA				)	)	)	%	%	%	%	%rr!g@y@)Nc|jD]O}|jD]E}||jvr	||jvs||ur|||/|||FPdSr)
candidatesset1assertEqualassertNotEqualr
abs   rtest_comparisonsz%ComparisonSimpleTest.test_comparisonss	.	.A_
.
.$)^^!ty..a1ff$$Q****''1----	
.	.	.rc
g}tdD]:}|t|dz|;|D]*}|D]%}|||k||ud|d|&+dS)N
r"za=z, b=)rangeinsertlenrr()r
Lir+r,s     rtest_id_comparisonsz(ComparisonSimpleTest.test_id_comparisons%sr	.	.A
HHSVVQY

----	H	HA
H
H  aaAA1FGGGG
H	H	Hrc |d}|d}|d}|||kd|||kd|||kddS)Nr#r"TF)r!assertIs)r
r+r,cs    rtest_ne_defaults_to_not_eqz/ComparisonSimpleTest.test_ne_defaults_to_not_eq.s}HHQKKHHQKKHHQKK

a1fd###

a1fe$$$

a1fd#####rcgGfdd}Gfdd}||k|ddgdS)z;object.__ne__() should allow reflected __ne__() to be triedceZdZfdZdS)8ComparisonSimpleTest.test_ne_high_priority.<locals>.Leftc<dtS)NLeft.__eq__appendNotImplementedargscallss rr z?ComparisonSimpleTest.test_ne_high_priority.<locals>.Left.__eq__;]+++%%rNrrrr rDsrLeftr<9.
&
&
&
&
&
&
&rrHc$eZdZfdZfdZdS)9ComparisonSimpleTest.test_ne_high_priority.<locals>.Rightc<dtS)NzRight.__eq__r?rBs rr z@ComparisonSimpleTest.test_ne_high_priority.<locals>.Right.__eq__?^,,,%%rc<dtS)NRight.__ne__r?rBs r__ne__z@ComparisonSimpleTest.test_ne_high_priority.<locals>.Right.__ne__BrMrNrrrr rPrGsrRightrK>G
&
&
&
&
&
&
&
&
&
&
&
&rrRr>rONassertSequenceEqual)r
rHrRrDs   @rtest_ne_high_priorityz*ComparisonSimpleTest.test_ne_high_priority6s	&	&	&	&	&	&	&	&	&	&
	&	&	&	&	&	&	&	&	&	&	
%%''  (GHHHHHrcgGfdd}Gfdd|}||k|ddgdS)z4object.__ne__() should not invoke reflected __eq__()ceZdZfdZdS)7ComparisonSimpleTest.test_ne_low_priority.<locals>.Basec<dtS)NBase.__eq__r?rBs rr z>ComparisonSimpleTest.test_ne_low_priority.<locals>.Base.__eq__MrErNrFrGsrBaserYKrIrr\c$eZdZfdZfdZdS):ComparisonSimpleTest.test_ne_low_priority.<locals>.Derivedc<dtS)NzDerived.__eq__r?rBs rr zAComparisonSimpleTest.test_ne_low_priority.<locals>.Derived.__eq__Q-...%%rc<dtS)NDerived.__ne__r?rBs rrPzAComparisonSimpleTest.test_ne_low_priority.<locals>.Derived.__ne__Tr`rNrQrGsrDerivedr^PrSrrcrbr[NrT)r
r\rcrDs   @rtest_ne_low_priorityz)ComparisonSimpleTest.test_ne_low_priorityHs	&	&	&	&	&	&	&	&	&	&
	&	&	&	&	&	&	&d	&	&	&	
''))  )9=(IJJJJJrc	ddfddfddfddfd	d
ff}|D]\}}|5fdGfdd
}|D]\}}||krt|||dkr5||tdn1t
||tdddn#1swxYwYdS)z8No default delegation between operations except __ne__()r c||kSrrr+r,s  r<lambda>z<ComparisonSimpleTest.test_other_delegation.<locals>.<lambda>]
AFr__lt__c||kSrrrgs  rrhz<ComparisonSimpleTest.test_other_delegation.<locals>.<lambda>^
AEr__le__c||kSrrrgs  rrhz<ComparisonSimpleTest.test_other_delegation.<locals>.<lambda>_rir__gt__c||kSrrrgs  rrhz<ComparisonSimpleTest.test_other_delegation.<locals>.<lambda>`rlr__ge__c||kSrrrgs  rrhz<ComparisonSimpleTest.test_other_delegation.<locals>.<lambda>arirc2ddS)Nz!Unexpected operator method called)fail)rCr
s r
unexpectedz>ComparisonSimpleTest.test_other_delegation.<locals>.unexpectedesIIABBBBBrceZdZZdS)5ComparisonSimpleTest.test_other_delegation.<locals>.CN)rrrrP)rusrCrwgs'FFFrrxFN)subTestsetattrr7objectassertRaises	TypeError)r
opsnamefuncrxr_rus`      @rtest_other_delegationz*ComparisonSimpleTest.test_other_delegationZs**+
))*
**+
))*
**+
	F	FJD$d##
F
FCCCCC(((((((((( #66HE1}}5*5558##MM$$qqssFHH"5"5u====%%iqqssFHHEEE
F
F
F
F
F
F
F
F
F
F
F
F
F
F
F	F	FsB C!!C%	(C%	cd}||t|t|t}||t|t|dS)NcdSrrrrrrhz6ComparisonSimpleTest.test_issue_1393.<locals>.<lambda>rsDr)r(rr{)r
xys   rtest_issue_1393z$ComparisonSimpleTest.test_issue_1393qspLI&&&A&&&HHI&&&A&&&&&r)rrr__doc__rr!r'set2r&r-r5r9rVrdrrrrrrrsDD%%%%%%%%
sAtSSXX&D
CtUUWW%DJ...HHH$$$III$KKK$FFF.'''''rrc
eZdZdZGddZGddeZGddeZGdd	eZGd
deZGdd
eZ	GddeZ
GddeZGddeZGddeZ
GddeZeeeee	e
eee
ef
ZdZdZd+dZdZdZdZdZd Zd!Zd"Zd#Zd$Zd%Zd&Zd'Zd(Zd)Z d*Z!dS),ComparisonFullTestzTest equality and ordering comparisons for built-in types and
    user-defined classes that implement relevant combinations of rich
    comparison methods.
    ceZdZdZdS)ComparisonFullTest.CompBaseaBase class for classes with rich comparison methods.

        The "x" attribute should be set to an underlying value to compare.

        Derived classes have a "meth" tuple attribute listing names of
        comparison methods implemented. See assert_total_order().
        N)rrrrrrrCompBasers				rrceZdZdZdS)ComparisonFullTest.CompNonerN)rrrmethrrrCompNonersrrceZdZdZdZdS)ComparisonFullTest.CompEq)eqc"|j|jkSrrrs  rr z ComparisonFullTest.CompEq.__eq__6UW$$rN)rrrrr rrrCompEqr(	%	%	%	%	%rrceZdZdZdZdS)ComparisonFullTest.CompNe)nec"|j|jkSrrrs  rrPz ComparisonFullTest.CompNe.__ne__rrN)rrrrrPrrrCompNerrrrceZdZdZdZdZdS)ComparisonFullTest.CompEqNe)rrc"|j|jkSrrrs  rr z"ComparisonFullTest.CompEqNe.__eq__rrc"|j|jkSrrrs  rrPz"ComparisonFullTest.CompEqNe.__ne__rrN)rrrrr rPrrrCompEqNer7	%	%	%	%	%	%	%	%rrceZdZdZdZdS)ComparisonFullTest.CompLt)ltc"|j|jkSrrrs  rrjz ComparisonFullTest.CompLt.__lt__6EG##rN)rrrrrjrrrCompLtr(	$	$	$	$	$rrceZdZdZdZdS)ComparisonFullTest.CompGt)gtc"|j|jkSrrrs  rroz ComparisonFullTest.CompGt.__gt__rrN)rrrrrorrrCompGtrrrrceZdZdZdZdZdS)ComparisonFullTest.CompLtGt)rrc"|j|jkSrrrs  rrjz"ComparisonFullTest.CompLtGt.__lt__rrc"|j|jkSrrrs  rroz"ComparisonFullTest.CompLtGt.__gt__rrN)rrrrrjrorrrCompLtGtrs7	$	$	$	$	$	$	$	$rrceZdZdZdZdS)ComparisonFullTest.CompLe)lec"|j|jkSrrrs  rrmz ComparisonFullTest.CompLe.__le__rrN)rrrrrmrrrCompLerrrrceZdZdZdZdS)ComparisonFullTest.CompGe)gec"|j|jkSrrrs  rrqz ComparisonFullTest.CompGe.__ge__rrN)rrrrrqrrrCompGerrrrceZdZdZdZdZdS)ComparisonFullTest.CompLeGe)rrc"|j|jkSrrrs  rrmz"ComparisonFullTest.CompLeGe.__le__rrc"|j|jkSrrrs  rrqz"ComparisonFullTest.CompLeGe.__ge__rrN)rrrrrmrqrrrCompLeGerrrrcfdtt|D}|tt	||D]\}}||_
|S)aCreate objects of type `class_` and return them in a list.

        `values` is a list of values that determines the value of data
        attribute `x` of each object.

        Objects in the returned list are sorted by their identity.  They
        assigned values in `values` list order.  By assign decreasing
        values to objects with increasing identities, testcases can assert
        that order comparison is performed by value and not by identity.
        c$g|]}
Srr).0__class_s  r
<listcomp>z>ComparisonFullTest.create_sorted_instances.<locals>.<listcomp>s;;;"VVXX;;;r)key)r0r2sortidzipr)r
rvalues	instancesinstvalues `    rcreate_sorted_instancesz*ComparisonFullTest.create_sorted_instancessl<;;;c&kk(:(:;;;	2y&11		KD%DFFrcl|||k||||k||||k||||k||td5||kdddn#1swxYwY|td5||kdddn#1swxYwY|td5||kdddn#1swxYwY|td5||kdddn#1swxYwY|td5||kdddn#1swxYwY|td5||kdddn#1swxYwY|td5||kdddn#1swxYwY|td5||kddddS#1swxYwYdS)zAssert equality result and that ordering is not implemented.

        a, b: Instances to be tested (of same or different type).
        equal: Boolean indicating the expected equality comparison results.
        
not supportedNr(assertRaisesRegexr})r
r+r,equals    rassert_equality_onlyz'ComparisonFullTest.assert_equality_onlys	
a'''a'''aU+++aU+++

#
#I
?
?		
EE															

#
#I
?
?		
FF															

#
#I
?
?		
EE															

#
#I
?
?		
FF															

#
#I
?
?		
EE															

#
#I
?
?		
FF															

#
#I
?
?		
EE															

#
#I
?
?		
FF																		sBB B?CCC8DDD1EEE*E==FF#F66F:=F:G//G36G3H))H-0H-Nc2||||||||||||||||||||||||||||||||||||dS)aFTest total ordering comparison of two instances.

        a, b: Instances to be tested (of same or different type).

        comp: -1, 0, or 1 indicates that the expected order comparison
           result for operations that are supported by the classes is
           a <, ==, or > b.

        a_meth, b_meth: Either None, indicating that all rich comparison
           methods are available, aa for builtins, or the tuple (subset)
           of "eq", "ne", "lt", "le", "gt", and "ge" that are available
           for the corresponding instance (of a user-defined class).
        N)assert_eq_subtestassert_ne_subtestassert_lt_subtestassert_le_subtestassert_gt_subtestassert_ge_subtestr
r+r,compa_methb_meths      rassert_total_orderz%ComparisonFullTest.assert_total_orders	
q!T66:::q!T66:::q!T66:::q!T66:::q!T66:::q!T66:::::rc|d|vsd|vr>|||k|dk|||k|dkdS|||k||u|||k||udS)Nrr)r(rs      rrz$ComparisonFullTest.assert_eq_subtests>TV^^tv~~Q!VTQY///Q!VTQY/////Q!VQ!V,,,Q!VQ!V,,,,,rc*|ddh||zs>|||k|dk|||k|dkdS|||k||u|||k||udS)Nrrr)
isdisjointr(rs      rrz$ComparisonFullTest.assert_ne_subtests>$!8!8&!I!I>Q!VTQY///Q!VTQY/////Q!VQaZ000Q!VQaZ00000rc||d|vsd|vr>|||k|dk|||k|dkdS|td5||kdddn#1swxYwY|td5||kddddS#1swxYwYdS)Nrrrrrrs      rrz$ComparisonFullTest.assert_lt_subtest'P>TV^^tv~~QUD1H---QUD1H-----''	?CC

A














''	?CC

A

















$$A77A;>A;B11B58B5c||d|vsd|vr>|||k|dk|||k|dkdS|td5||kdddn#1swxYwY|td5||kddddS#1swxYwYdS)Nrrrrrrs      rrz$ComparisonFullTest.assert_le_subtest1P>TV^^tv~~Q!VTQY///Q!VTQY/////''	?CC

Q














''	?CC

Q

















rc||d|vsd|vr>|||k|dk|||k|dkdS|td5||kdddn#1swxYwY|td5||kddddS#1swxYwYdS)Nrrrrrrs      rrz$ComparisonFullTest.assert_gt_subtest;rrc||d|vsd|vr>|||k|dk|||k|dkdS|td5||kdddn#1swxYwY|td5||kddddS#1swxYwYdS)Nrrrrrrs      rrz$ComparisonFullTest.assert_ge_subtestErrct}t}|||d|||ddS)z#Compare instances of type 'object'.TFN)r{rr*s   rtest_objectszComparisonFullTest.test_objectsOsJHHHH!!!Q---!!!Q.....rc	|jD]}||5||d}||d|dd|j|j||d|dd|j|j||d|dd|j|j||d|dd|j|jdddn#1swxYwYdS)z5Compare same-class instances with comparison methods.)r#r"r#rr"r#N)all_comp_classesryrrr)r
clsrs   rtest_comp_classes_samez)ComparisonFullTest.test_comp_classes_sameVsa(	<	<Cc""
<
< 88iHH	''	!ilA(+#(<<<''	!ilA(+#(<<<''	!ilB(+#(<<<''	!ilB(+#(<<<%
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<	<	<sCC??D	D	c
~|jD]}|jD]}|||5|}d|_|}d|_|}d|_|||d|j|j|||d|j|jdddn#1swxYwYdS)z:Compare different-class instances with comparison methods.rgr#r"rrN)rryrrr)r
cls_acls_ba1b1b2s      rtest_comp_classes_differentz.ComparisonFullTest.test_comp_classes_differentos'*
	<
	<E.
<
<\\EU\33<<BBDBBDBBD++B5:uz;;;++BEJ
<<<<<<<<<<<<<<<<<<
<
	<
	<sA:B00B47B4cHGddt}td}td}|d}|d}|d}|||d|||d|||d|||d|||d|||d|||d|||d|||ddS)z(Compare instances of str and a subclass.ceZdZdS)9ComparisonFullTest.test_str_subclass.<locals>.StrSubclassN)rrrrrrStrSubclassrsDrrr+r,rrN)strr)r
rs1s2c1c2c3s       rtest_str_subclassz$ComparisonFullTest.test_str_subclasssO					#			XX
XX
[


[


[

B!,,,B+++B!,,,B+++B!,,,B+++B!,,,B+++B!,,,,,rcd}d}|||d|||dd}d}|||d|||dtdd}td	d}|||d|||dtd
}td}|||d|||dd}	d
}
||	|	d||	|
d||f||f||f||f||f||ffD]\}}|||d||||fD]}|||	ddS)zCompare number types.iirrgH@gH@ir"iz1001.0z1001.1yH@yH@?TFN)rrrr)
r
i1i2f1f2q1q2d1d2rrn1n2s
             rtest_numberszComparisonFullTest.test_numberss
B***B+++

B***B+++
dA


dA

B***B+++
X


X

B***B+++

!!"b$///!!"b%0002wB"R2b'Br7RGL	/	/FB##BA....r2r"	4	4B%%b"d3333	4	4rcddg}ddg}|||d|||dd}d}|||d|||dtdd}tdd}|||d|||d	|||d	|||d	|||d	d
S)zCompare list, tuple, and range.r#r"r$rrr#r"r"r$TFN)rr0r)r
l1l2t1t2r1r2s       rtest_sequencesz!ComparisonFullTest.test_sequencessVVB***B+++

B***B+++
1a[[
1a[[!!"b$///!!"b%000!!"b%000!!"b%000!!"b%00000rcd}d}|||d|||dtd}td}|||d|||d|||d|||d|||d|||ddS)zCompare bytes and bytearray.sa1sb2rrN)r	bytearray)r
bs1bs2ba1ba2s     r
test_byteszComparisonFullTest.test_bytessS!,,,S"---S1---S"---S!,,,S"---S!,,,S"-----rcddh}hd}|||d|||dt|}t|}|||d|||d|||d|||d|||d|||ddS)zCompare set and frozenset.r#r">r#r"r$rrN)r	frozenset)r
rrr
rs     r	test_setszComparisonFullTest.test_setssV
YYB***B+++
r]]
r]]B+++B+++B***B+++B***B+++++rcddd}ddd}ddd}|||d|||d|||dd	S)
z Compare dict.
        r+r,rr8r)r$r"TFN)r)r
rrd3s    r
test_mappingsz ComparisonFullTest.test_mappingssy





!!"b$///!!"b%000!!"b$/////r)NN)"rrrrrrrrrrrrrrrrrrrrrrrrrrrrr	rrr&r)r,rrrrrzs 
8%%%%%%%%
%%%%%%%%
%%%%%8%%%$$$$$$$$
$$$$$$$$
$$$$$8$$$%%%%%%%%
%%%%%%%%
%%%%%8%%%
FHFHFH	&&6;;;;8---111///<<<2<<<$---,"4"4"4H111*...",,,"00000rr__main__)
runittesttest.supportr	fractionsrdecimalrTestCaserrrmainrrr<module>r4s**""""""o'o'o'o'o'8,o'o'o'd@0@0@0@0@0*@0@0@0FzHMOOOOOr