HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/test/__pycache__/test_binop.cpython-310.opt-2.pyc
o

�i�8�@sj	ddlZddlmZmZmZddlmZdd�Zdd�Zdd	�Z	d
d�Z
Gdd
�d
e�ZGdd�dej
�ZGdd�d�Zdd�ZGdd�de�ZGdd�deed�ZGdd�de�ZGdd�de�Ze�e�Gdd�dej
�ZGdd �d e�ZGd!d"�d"e�ZGd#d$�d$e�ZGd%d&�d&e�ZGd'd(�d(e�ZGd)d*�d*�ZGd+d,�d,ej
�Zed-kr�e��dSdS).�N)�eq�le�ne)�ABCMetacCs	|r|||}}|s|S�N�)�a�brr�,/usr/local/lib/python3.10/test/test_binop.py�gcds
�rcC�	t|t�Sr)�
isinstance�int��xrrr
�isint
�
rcCs&	tttfD]
}t||�rdSqdS)N�r)r�float�complexr
)r�Trrr
�isnums
�rcCrr)r
�Ratrrrr
�isRatrrc@s�eZdZ	ddgZd.dd�Zdd�Zeed	�Zd
d�Zeed	�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�ZeZdd�Zdd�Zdd�ZeZdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd	S)/r�	_Rat__num�	_Rat__denrrcCsd	t|�std|��t|�std|��|dkrtd��t||�}t||�|_t||�|_dS)NzRat numerator must be int (%r)z Rat denominator must be int (%r)rzzero denominator)r�	TypeError�ZeroDivisionErrorrrrr)�self�num�den�grrr
�__init__"s
zRat.__init__cC�	|jSr)r�rrrr
�_get_num1�zRat._get_numNcCr#r)rr$rrr
�_get_den6r&zRat._get_dencCs	d|j|jfS)NzRat(%d, %d)�rrr$rrr
�__repr__;�zRat.__repr__cCs	tt|��Sr)�strrr$rrr
�__str__?szRat.__str__cCs	|jd|jS)N��?r(r$rrr
�	__float__Cr*z
Rat.__float__cCsH	|jdkrzt|j�WStytdt|���wtdt|���)Nrz%s too large to convert to intzcan't convert %s to int)rrr�
OverflowError�repr�
ValueErrorr$rrr
�__int__Gs
��zRat.__int__cCsX	t|�r	t|�}t|�r t|j|j|j|j|j|j�St|�r*t|�|StSr�rrrrrrr�NotImplemented�r�otherrrr
�__add__Q�
�zRat.__add__cCsX	t|�r	t|�}t|�r t|j|j|j|j|j|j�St|�r*t|�|StSrr3r5rrr
�__sub__^r8zRat.__sub__cCsX	t|�r	t|�}t|�r t|j|j|j|j|j|j�St|�r*|t|�StSrr3r5rrr
�__rsub__ir8zRat.__rsub__cCsV	t|�rt|j|j|j|j�St|�rt|j||j�St|�r)t|�|StSr�rrrrrrrr4r5rrr
�__mul__t�zRat.__mul__cCsV	t|�rt|j|j|j|j�St|�rt|j|j|�St|�r)t|�|StSrr;r5rrr
�__truediv__�r=zRat.__truediv__cCsV	t|�rt|j|j|j|j�St|�rt||j|j�St|�r)|t|�StSrr;r5rrr
�__rtruediv__�r=zRat.__rtruediv__cCs4	t|�r
t|�}nt|�stS||}|j|jSr)rrrr4rr�rr6rrrr
�__floordiv__�s
zRat.__floordiv__cCs	||}|j|jSrr(r@rrr
�
__rfloordiv__�szRat.__rfloordiv__cCs8	t|�r
t|�}nt|�stS||}||||fSr)rrrr4r@rrr
�
__divmod__�s
zRat.__divmod__cCs*	t|�r
t|�}nt|�stSt||�Sr)rrrr4�divmodr5rrr
�__rdivmod__�s

zRat.__rdivmod__cCs	t||�dS�Nr�rDr5rrr
�__mod__��zRat.__mod__cCs	t||�dSrFrGr5rrr
�__rmod__�rIzRat.__rmod__cCsV	t|�r|jdko|j|kSt|�r|j|jko|j|jkSt|�r)t|�|kStSrF)rrrrrrr4r5rrr
�__eq__�sz
Rat.__eq__)rr)�__name__�
__module__�__qualname__�	__slots__r"r%�propertyrr'r r)r,r.r2r7�__radd__r9r:r<�__rmul__r>r?rArBrCrErHrJrKrrrr
rs6






		rc@sVeZdZ	dd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�RatTestCasecCs�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�td	d�d
�|�tdd
�d�|�td	d
�d
�tdd�D]6}tdd�D].}|�t||�dk�|�t||�dk�|�t||�dk�|�t||�dk�qKqDdS)
N�
�����r�d�������r)�assertEqualr�range�
assertTrue)r�i�jrrr
�test_gcd�s��zRatTestCase.test_gcdc	Csftdd�}|�|jd�|�|jd�tdd�}|�|jd�|�|jd�tdd�}|�|jd�|�|jd�tdd�}|�|jd�|�|jd�td�}|�|jd�|�|jd	�ztd	d
�}Wn	tynYnw|�d�dd
ddgidttf	D]1}zt|�}Wn	ty�Ynw|�d|�ztd	|�}Wn	ty�Yqw|�d|�qdS)NrTrWrV�i�r\r[�rrz(Rat(1, 0) didn't raise ZeroDivisionError�0gyrzRat(%r) didn't raise TypeErrorz!Rat(1, %r) didn't raise TypeError)rr^rr rZfail�unittestr)rrZbadrrr
�test_constructor�sF



�
���zRatTestCase.test_constructorcCs�|�tdd�tdd�d�|�tdd�dtdd��|�dtdd�tdd��|�dtdd�d�|�tdd�dd�dS)NrVrdrrXr-��?�r^rr$rrr
�test_add�s
zRatTestCase.test_addcCs�|�tdd�tdd�tdd��|�tdd�dtdd��|�dtdd�tdd��|�tdd�dd	�|�dtdd�d	�dS)
NrerVrX�rTrrdr-��?rjr$rrr
�test_subs
"zRatTestCase.test_subcCs~|�tdd�tdd�tdd��|�tdd�dd�|�dtdd�d�|�tdd�dd�|�dtdd�d�dS)	NrVrdrXrerTrlrmr-rjr$rrr
�test_mul	s
"zRatTestCase.test_mulcCs�|�tdd�tdd�tdd��|�tdd�dtdd��|�dtd�tdd��|�dtd	d�d
�|�td	d�dd
�dS)NrTrdrXre��	rV�@rrirjr$rrr
�test_divs
"zRatTestCase.test_divcCs`|�td�td�d�|�tdd�tdd�d�|�td�dd�|�dtd�d�dS)NrT�rVrdrjr$rrr
�
test_floordivszRatTestCase.test_floordivcCsZ|�td�tdd��|�td�d�|�dtd��|�td�d�|�dtd��dS)NrTr]rVg$@rjr$rrr
�test_eqs
zRatTestCase.test_eqcCs�|�tdd�tdd�tdd��|�tdd�dtdd��|�dtd�tdd��|�dtd	d�d
�|�td	d�dd
�|�td�d�dS)
NrTrdrXrerprqrVrrrriz1/2rm)r^r�evalr$rrr
�
test_true_div$s"zRatTestCase.test_true_divN)rLrMrNrcrhrkrnrorsrurvrxrrrr
rS�s$rSc@�eZdZ	dd�Zdd�ZdS)�OperationLoggercCs
||_dSr��logger)rr|rrr
r"1s
zOperationLogger.__init__cGs|j|�dSrr{)r�argsrrr
�
log_operation3szOperationLogger.log_operationN)rLrMrNr"r~rrrr
rz/srzcGsH	g}g}|D]
}|�||j��qz||�W|Sty#Y|Swr)�appendr)�opZclasses�logZ	instances�crrr
�op_sequence6s
��r�c@�$eZdZdd�Zdd�Zdd�ZdS)�AcC�|�d�tS)N�A.__eq__�r~r4r5rrr
rKE�
r�cCr�)N�A.__le__r�r5rrr
�__le__Hr�r�cCr�)N�A.__ge__r�r5rrr
�__ge__Kr�r�N�rLrMrNrKr�r�rrrr
r�D�r�c@r�)�BcCr�)N�B.__eq__r�r5rrr
rKPr�r�cCr�)N�B.__le__r�r5rrr
r�Sr�r�cCr�)N�B.__ge__r�r5rrr
r�Vr�r�Nr�rrrr
r�Or�r�)�	metaclassc@r�)�CcCr�)N�C.__eq__r�r5rrr
rK[r�r�cCr�)N�C.__le__r�r5rrr
r�^r�r�cCr�)N�C.__ge__r�r5rrr
r�ar�r�Nr�rrrr
r�Zr�r�c@s&eZdZ	dd�Zdd�Zdd�ZdS)�VcCr�)N�V.__eq__r�r5rrr
rKgr�r�cCr�)N�V.__le__r�r5rrr
r�jr�r�cCr�)N�V.__ge__r�r5rrr
r�mr�r�Nr�rrrr
r�es
r�c@seZdZdd�ZdS)�OperationOrderTestscCs4|�tttt�ddg�|�tttt�ddg�|�tttt�ddg�|�tttt�ddg�|�tttt�ddg�|�tttt�ddg�|�tttt�ddg�|�tttt�ddg�|�tttt�ddg�|�tttt�d	dg�|�tt	t��|�tttt	�dd
g�|�tttt	�ddg�dS)Nr�r�r�r�r�r�r�r�r�r�r�)
r^r�rr�r�r�rr`�
issubclassr�r$rrr
�test_comparison_orderstsz*OperationOrderTests.test_comparison_ordersN)rLrMrNr�rrrr
r�ssr�c@seZdZ	dd�ZdS)�SupEqcC�dS�NTrr5rrr
rK��zSupEq.__eq__N�rLrMrNrKrrrr
r��sr�c@�eZdZ	dZdS)�SNr�rrrr
r���r�c@seZdZdS)�FN)rLrMrNrrrr
r��sr�c@r�)�XNr�rrrr
r��r�r�c@r�)�SNN)rLrMrN�__ne__rrrr
r��r�r�c@seZdZ	dd�ZdZdS)�XNcCr�r�rr5rrr
rK�r�z	XN.__eq__N)rLrMrNrKr�rrrr
r��sr�c@ry)�FallbackBlockingTestscCs�t�t�t�t�f\}}}}|�||�|�||�|�||�|�||�|�tt||�|�tt||�|�tt||�dSr)r�r�r�r�r^�assertRaisesrr)r�e�f�srrrr
�test_fallback_rmethod_blocking�sz4FallbackBlockingTests.test_fallback_rmethod_blockingcCsft�t�t�}}}|�||k�|�tt||�|�tt||�|�||k�|�tt||�dSr)r�r�r�ZassertFalser�rr)rr�ZsnZxnrrr
�test_fallback_ne_blocking�sz/FallbackBlockingTests.test_fallback_ne_blockingN)rLrMrNr�r�rrrr
r��sr��__main__) rg�operatorrrr�abcrrrrr�objectrZTestCaserSrzr�r�r�r�r��registerr�r�r�r�r�r�r�r�rL�mainrrrr
�<module>s:*j
�