Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_binop.cpython-311.opt-2.pyc
�

�Ke�8��h�	ddlZddlmZmZmZddlmZd�Zd�Zd�Z	d�Z
Gd�d	e��ZGd
�dej
��ZGd�d
��Zd�ZGd�de��ZGd�dee���ZGd�de��ZGd�de��Ze�e��Gd�dej
��ZGd�de��ZGd�de��ZGd�de��ZGd �d!e��ZGd"�d#e��ZGd$�d%��ZGd&�d'ej
��Zed(krej��dSdS))�N)�eq�le�ne)�ABCMetac��	|r	||z|}}|�	|S�N�)�a�bs  �9/usr/local/apps/python3/lib/python3.11/test/test_binop.py�gcdr
s)��;�
����s�A�1�����H�c�.�	t|t��Sr)�
isinstance�int��xs r�isintr
s��7��a����rc�\�	tttfD]}t||��rdS�dS)N�r)r�float�complexr)r�Ts  r�isnumrs>��K�
�%��
 �����a����	��1�1�	��1rc�.�	t|t��Sr)r�Ratrs r�isRatrs��A��a����rc���eZdZ	ddgZdd�Zd�Zeed��Zd�Zeed��Z	d	�Z
d
�Zd�Zd�Z
d
�ZeZd�Zd�Zd�ZeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)r�	_Rat__num�	_Rat__denrrc�2�	t|��std|z���t|��std|z���|dkrtd���t||��}t	||z��|_t	||z��|_dS)NzRat numerator must be int (%r)z Rat denominator must be int (%r)rzzero denominator)r�	TypeError�ZeroDivisionErrorr
rrr )�self�num�den�gs    r�__init__zRat.__init__"s���	>��S�z�z�	D��<�s�B�C�C�C��S�z�z�	F��>��D�E�E�E��!�8�8�#�$6�7�7�7���S�M�M����a��[�[��
���a��[�[��
�
�
rc��	|jSr)r�r$s r�_get_numzRat._get_num1�
��E��z�rNc��	|jSr)r r*s r�_get_denzRat._get_den6r,rc�&�	d|j|jfzS)NzRat(%d, %d)�rr r*s r�__repr__zRat.__repr__;s��J���
�D�J�7�7�7rc�<�	tt|����Sr)�strrr*s r�__str__zRat.__str__?s��K��5��;�;���rc�(�	|jdz|jzS)N��?r0r*s r�	__float__z
Rat.__float__Cs��'��z�#�~�d�j�(�(rc���	|jdkrB	t|j��S#t$r tdt	|��z���wxYwtdt	|��z���)Nrz%s too large to convert to intzcan't convert %s to int)r rr�
OverflowError�repr�
ValueErrorr*s r�__int__zRat.__int__Gs}��:��:��?�?�
2��4�:���&�� �
2�
2�
2�#�$D�&*�4�j�j�%1�2�2�2�
2�����2�T�$�Z�Z�?�@�@�@s	�"�*Ac�"�	t|��rt|��}t|��r:t|j|jz|j|jzz|j|jz��St|��rt
|��|zStSr�rrrrr rr�NotImplemented�r$�others  r�__add__zRat.__add__Qs���2���<�<�	���J�J�E���<�<�	/��t�z�%�+�-���D�J�0F�F��z�%�+�-�/�/�
/���<�<�	'���;�;��&�&��rc�"�	t|��rt|��}t|��r:t|j|jz|j|jzz
|j|jz��St|��rt
|��|z
StSrr>r@s  r�__sub__zRat.__sub__^s���7���<�<�	���J�J�E���<�<�	/��t�z�%�+�-���D�J�0F�F��z�%�+�-�/�/�
/���<�<�	'���;�;��&�&��rc�"�	t|��rt|��}t|��r:t|j|jz|j|jzz
|j|jz��St|��r|t
|��z
StSrr>r@s  r�__rsub__zRat.__rsub__is���G���<�<�	���J�J�E���<�<�	/��u�{�4�:�-��
�5�;�0F�F��z�%�+�-�/�/�
/���<�<�	'��5��;�;�&�&��rc��	t|��r*t|j|jz|j|jz��St	|��rt|j|z|j��St|��rt
|��|zStSr�rrrr rrrr?r@s  r�__mul__zRat.__mul__ts���7���<�<�	G��t�z�%�+�-�t�z�%�+�/E�F�F�F���<�<�	5��t�z�%�'���4�4�4���<�<�	%���;�;�u�$�$��rc��	t|��r*t|j|jz|j|jz��St	|��rt|j|j|z��St|��rt
|��|zStSrrHr@s  r�__truediv__zRat.__truediv__�s���5���<�<�	G��t�z�%�+�-�t�z�%�+�/E�F�F�F���<�<�	5��t�z�4�:�e�#3�4�4�4���<�<�	'���;�;��&�&��rc��	t|��r*t|j|jz|j|jz��St	|��rt||jz|j��St|��r|t
|��zStSrrHr@s  r�__rtruediv__zRat.__rtruediv__�s���E���<�<�	G��u�{�4�:�-�u�{�4�:�/E�F�F�F���<�<�	5��u�T�Z�'���4�4�4���<�<�	'��5��;�;�&�&��rc��	t|��rt|��}nt|��stS||z}|j|jzSr)rrrr?rr �r$rArs   r�__floordiv__zRat.__floordiv__�sL��<���<�<�	"���J�J�E�E��u���	"�!�!���J���w�!�'�!�!rc�,�	||z}|j|jzSrr0rOs   r�
__rfloordiv__zRat.__rfloordiv__�s��L��$�J���w�!�'�!�!rc��	t|��rt|��}nt|��stS||z}||||zz
fSr)rrrr?rOs   r�
__divmod__zRat.__divmod__�sQ��@���<�<�	"���J�J�E�E��u���	"�!�!��%�K���4�%�!�)�#�$�$rc��	t|��rt|��}nt|��stSt	||��Sr)rrrr?�divmodr@s  r�__rdivmod__zRat.__rdivmod__�sD��P���<�<�	"���J�J�E�E��u���	"�!�!��e�T�"�"�"rc�0�	t||��dS�Nr�rVr@s  r�__mod__zRat.__mod__�s��*��d�E�"�"�1�%�%rc�0�	t||��dSrYrZr@s  r�__rmod__zRat.__rmod__�s��:��e�T�"�"�1�%�%rc��	t|��r|jdko
|j|kSt|��r |j|jko|j|jkSt	|��rt|��|kStSrY)rr rrrrr?r@s  r�__eq__z
Rat.__eq__�s|��,���<�<�	;��:��?�:�t�z�U�':�:���<�<�	K��:���,�J���u�{�1J�J���<�<�	(���;�;�%�'�'��r)rr)�__name__�
__module__�__qualname__�	__slots__r(r+�propertyr%r.r&r1r4r7r<rB�__radd__rDrFrI�__rmul__rKrMrPrRrTrWr[r]r_r	rrrrs�������C��k�*�I�
!�
!�
!�
!�����(�8�T�
"�
"�C�����(�8�T�
"�
"�C�8�8�8� � � �)�)�)�A�A�A�	�	�	��H�	�	�	�	�	�	�����H�������"�"�"�"�"�"�
%�%�%�#�#�#�&�&�&�&�&�&�����rrc�F�eZdZ	d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�RatTestCasec��|�tdd��d��|�tdd��d��|�tdd��d��|�tdd��d��|�td	d��d
��|�tdd
��d��|�td	d
��d
��tdd��D]�}tdd��D]�}|�t||��dk��|�t||��dk��|�t||��dk��|�t||��dk������dS)
N�
�����r�d�������r)�assertEqualr
�range�
assertTrue)r$�i�js   r�test_gcdzRatTestCase.test_gcd�s�������R����a�(�(�(�����R����a�(�(�(�����R����a�(�(�(�����S�"���q�)�)�)�����S�!���b�)�)�)�����R����a�(�(�(�����S�"���r�*�*�*��q�"���	1�	1�A��1�b�\�\�
1�
1������A�q�	�	�A�
�.�.�.�����Q�B��
�
�Q��/�/�/�����A��r�
�
�Q��/�/�/�����Q�B�����a��0�0�0�0�	
1�	1�	1rc	�B�tdd��}|�|jd��|�|jd��tdd��}|�|jd��|�|jd��tdd��}|�|jd��|�|jd��tdd��}|�|jd��|�|jd��td��}|�|jd��|�|jd	��	td	d
��}|�d��n#t
$rYnwxYwdd
ddgidttf	D]t}	t|��}|�d|z��n#t$rYnwxYw	td	|��}|�d|z���e#t$rY�qwxYwdS)Nrjrmrl�i�rrrq�rrz(Rat(1, 0) didn't raise ZeroDivisionError�0gyr	zRat(%r) didn't raise TypeErrorz!Rat(1, %r) didn't raise TypeError)rrtr%r&�failr#�unittestr")r$r
�bads   r�test_constructorzRatTestCase.test_constructor�sR����B�K�K��������"�"�"�������"�"�"���C�L�L��������#�#�#�������"�"�"���R�L�L��������#�#�#�������"�"�"���S�M�M��������"�"�"�������"�"�"���F�F��������"�"�"�������"�"�"�	B��A�q�	�	�A�
�I�I�@�A�A�A�A��!�	�	�	��D�	������R��R��T�3��@�	E�	E�C�
B���H�H���	�	�:�S�@�A�A�A�A���
�
�
���
����
E���3�K�K���	�	�=��C�D�D�D�D���
�
�
���
����	E�	Es6�F�
F�F�-G�
G"�!G"�&H�
H�Hc���|�tdd��tdd��zd��|�tdd��dztdd����|�dtdd��ztdd����|�dtdd��zd��|�tdd��dzd��dS)Nrlr{rrnr6��?�rtrr*s r�test_addzRatTestCase.test_add�s�������Q����S��A�Y�Y�.��2�2�2�����Q����Q���A�q�	�	�2�2�2�����S��A�Y�Y���A�q�	�	�2�2�2�����s�1�a�y�y��#�.�.�.�����Q����S��#�.�.�.�.�.rc��|�tdd��tdd��z
tdd����|�tdd��dz
tdd����|�dtdd��z
tdd����|�tdd��dz
d	��|�dtdd��z
d	��dS)
Nr|rlrn�rjrr{r6��?r�r*s r�test_subzRatTestCase.test_subs�������Q����S��A�Y�Y�.��B����<�<�<�����Q����Q���A�q�	�	�2�2�2�����S��A�Y�Y���A�q�	�	�2�2�2�����Q����S��#�.�.�.�����s�1�a�y�y��#�.�.�.�.�.rc���|�tdd��tdd��ztdd����|�tdd��dzd��|�dtdd��zd��|�tdd��dzd��|�dtdd��zd��dS)	Nrlr{rnr|rjr�r�r6r�r*s r�test_mulzRatTestCase.test_mul	s�������Q����S��A�Y�Y�.��B����<�<�<�����R����a���,�,�,�����S��Q�Z�Z���,�,�,�����R����c�)�3�/�/�/�����s�2�q�z�z�)�3�/�/�/�/�/rc��|�tdd��tdd��ztdd����|�tdd��dztdd����|�dtd��ztdd����|�dtd	d��zd
��|�td	d��dzd
��dS)Nrjr{rnr|��	rl�@rr�r�r*s r�test_divzRatTestCase.test_divs�������R����c�!�Q�i�i�/��R����<�<�<�����R����a���R����4�4�4�����S��V�V��S��A�Y�Y�/�/�/�����s�1�a�y�y��#�.�.�.�����Q����S��#�.�.�.�.�.rc�n�|�td��td��zd��|�tdd��tdd��zd��|�td��dzd��|�dtd��zd��dS)Nrj�rlr{r�r*s r�
test_floordivzRatTestCase.test_floordivs�������R���C��F�F�*�A�.�.�.�����R����s�1�a�y�y�0�!�4�4�4�����R���A��q�)�)�)�����s�1�v�v��q�)�)�)�)�)rc��|�td��tdd����|�td��d��|�dtd����|�td��d��|�dtd����dS)Nrjrsrlg$@r�r*s r�test_eqzRatTestCase.test_eqs�������R���#�b�!�*�*�-�-�-�����R���"�%�%�%�����S��W�W�%�%�%�����R���$�'�'�'�����s�2�w�w�'�'�'�'�'rc�@�|�tdd��tdd��ztdd����|�tdd��dztdd����|�dtd��ztdd����|�dtd	d��zd
��|�td	d��dzd
��|�td��d��dS)
Nrjr{rnr|r�r�rlr�rr�z1/2r�)rtr�evalr*s r�
test_true_divzRatTestCase.test_true_div$s�������R����c�!�Q�i�i�/��R����<�<�<�����R����a���R����4�4�4�����S��V�V��S��A�Y�Y�/�/�/�����s�1�a�y�y��#�.�.�.�����Q����S��#�.�.�.�����e���c�*�*�*�*�*rN)r`rarbryr�r�r�r�r�r�r�r�r	rrrhrh�s�������=�
1�
1�
1�"E�"E�"E�H/�/�/�/�/�/�0�0�0�/�/�/�*�*�*�(�(�(�+�+�+�+�+rrhc��eZdZ	d�Zd�ZdS)�OperationLoggerc��||_dSr��logger)r$r�s  rr(zOperationLogger.__init__1s
������rc��|j|�dSrr�)r$�argss  r�
log_operationzOperationLogger.log_operation3s�����T����rN)r`rarbr(r�r	rrr�r�/s5������8��������rr�c��	g}g}|D]%}|�||j�����&	||�n#t$rYnwxYw|Sr)�appendr")�op�classes�log�	instances�cs     r�op_sequencer�6sx��=�
�C��I�
�(�(�������3�:���'�'�'�'�
�
��I������
�
�
���
�����Js�5�
A�Ac� �eZdZd�Zd�Zd�ZdS)�Ac�:�|�d��tS)N�A.__eq__�r�r?r@s  rr_zA.__eq__E������:�&�&�&��rc�:�|�d��tS)N�A.__le__r�r@s  r�__le__zA.__le__Hr�rc�:�|�d��tS)N�A.__ge__r�r@s  r�__ge__zA.__ge__Kr�rN�r`rarbr_r�r�r	rrr�r�D�A����������������rr�c� �eZdZd�Zd�Zd�ZdS)�Bc�:�|�d��tS)N�B.__eq__r�r@s  rr_zB.__eq__Pr�rc�:�|�d��tS)N�B.__le__r�r@s  rr�zB.__le__Sr�rc�:�|�d��tS)N�B.__ge__r�r@s  rr�zB.__ge__Vr�rNr�r	rrr�r�Or�rr�)�	metaclassc� �eZdZd�Zd�Zd�ZdS)�Cc�:�|�d��tS)N�C.__eq__r�r@s  rr_zC.__eq__[r�rc�:�|�d��tS)N�C.__le__r�r@s  rr�zC.__le__^r�rc�:�|�d��tS)N�C.__ge__r�r@s  rr�zC.__ge__ar�rNr�r	rrr�r�Zr�rr�c�"�eZdZ	d�Zd�Zd�ZdS)�Vc�:�|�d��tS)N�V.__eq__r�r@s  rr_zV.__eq__gr�rc�:�|�d��tS)NzV.__le__r�r@s  rr�zV.__le__jr�rc�:�|�d��tS)N�V.__ge__r�r@s  rr�zV.__ge__mr�rNr�r	rrr�r�esD�����������������rr�c��eZdZd�ZdS)�OperationOrderTestsc�p�|�tttt��ddg��|�tttt��ddg��|�tttt��ddg��|�tttt
��ddg��|�ttt
t��ddg��|�tttt��ddg��|�tttt��ddg��|�tttt��ddg��|�tttt
��ddg��|�ttt
t��d	dg��|�ttt����|�tttt��dd
g��|�tttt��ddg��dS)Nr�r�r�r�r�r�r�r�r�r�r�)
rtr�rr�r�r�rrv�
issubclassr�r*s r�test_comparison_ordersz*OperationOrderTests.test_comparison_ordersts�������R��A�.�.��Z�0H�I�I�I�����R��A�.�.��Z�0H�I�I�I�����R��A�.�.��Z�0H�I�I�I�����R��A�.�.��Z�0H�I�I�I�����R��A�.�.��Z�0H�I�I�I�����R��A�.�.��Z�0H�I�I�I�����R��A�.�.��Z�0H�I�I�I�����R��A�.�.��Z�0H�I�I�I�����R��A�.�.��Z�0H�I�I�I�����R��A�.�.��Z�0H�I�I�I����
�1�a�(�(�)�)�)�����R��A�.�.��Z�0H�I�I�I�����R��A�.�.��Z�0H�I�I�I�I�IrN)r`rarbr�r	rrr�r�ss(������J�J�J�J�Jrr�c��eZdZ	d�ZdS)�SupEqc��dS�NTr	r@s  rr_zSupEq.__eq__�����trN�r`rarbr_r	rrr�r��s&������&�����rr�c��eZdZ	dZdS)�SNr�r	rrr�r���������,�
�F�F�Frr�c��eZdZdS)�FN)r`rarbr	rrr�r��s������1�1rr�c��eZdZ	dZdS)�XNr�r	rrr�r��r�rr�c��eZdZ	dZdS)�SNN)r`rarb�__ne__r	rrr�r��s������H�
�F�F�Frr�c��eZdZ	d�ZdZdS)�XNc��dSr�r	r@s  rr_z	XN.__eq__�r�rN)r`rarbr_r�r	rrr�r��s%������H����
�F�F�Frr�c��eZdZ	d�Zd�ZdS)�FallbackBlockingTestsc��t��t��t��t��f\}}}}|�||��|�||��|�||��|�||��|�tt||��|�tt||��|�tt||��dSr)r�r�r�r�rt�assertRaisesr"r)r$�e�f�srs     r�test_fallback_rmethod_blockingz4FallbackBlockingTests.test_fallback_rmethod_blocking�s����W�W�a�c�c�1�3�3����+�
��1�a������A��������A��������A��������A�������)�R��A�.�.�.����)�R��A�.�.�.����)�R��A�.�.�.�.�.rc��t��t��t��}}}|�||k��|�t
t||��|�t
t||��|�||k��|�t
t||��dSr)r�r�r��assertFalser�r"r)r$r��sn�xns    r�test_fallback_ne_blockingz/FallbackBlockingTests.test_fallback_ne_blocking�s����G�G�R�T�T�2�4�4�r�2������a�� � � ����)�R��B�/�/�/����)�R��Q�/�/�/�����b��!�!�!����)�R��Q�/�/�/�/�/rN)r`rarbr�r�r	rrr�r��s5������-�
/�
/�
/�0�0�0�0�0rr��__main__) r�operatorrrr�abcrr
rrr�objectr�TestCaserhr�r�r�r�r�r��registerr�r�r�r�r�r�r�r�r`�mainr	rr�<module>r�s_��?���������������������
�
�
����
�
�
����g�g�g�g�g�&�g�g�g�Re+�e+�e+�e+�e+�(�#�e+�e+�e+�T�����������	�	�	�	�	��	�	�	�	�	�	�	�	��7�	�	�	�	�	�	�	�	�	��	�	�	�
�
�
�
�
��
�
�
��
�
�1�
�
�
�J�J�J�J�J�(�+�J�J�J�&�����F����
���������2�2�2�2�2��2�2�2���������������������������0�0�0�0�0�H�-�0�0�0�.�z����H�M�O�O�O�O�O��r