Your IP : 216.73.216.213


Current Path : /proc/242857/root/opt/alt/python33/lib64/python3.3/test/__pycache__/
Upload File :
Current File : //proc/242857/root/opt/alt/python33/lib64/python3.3/test/__pycache__/test_binop.cpython-33.pyc

�
��fr1c@sOdZddlZddlmZddlmZmZmZmZm	Z	m
Z
dd�Zdd�Zd	d
�Z
dd�ZGd
d�de�ZGdd�dej�ZGdd�d�Zdd�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�dej�Zdd�ZedkrKe�ndS( u9Tests for binary operators on subtypes of built-in types.iN(usupport(uequneultugtuleugecCs"x|r|||}}qW|S(u1Greatest common divisor using Euclid's algorithm.((uaub((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyugcds	ugcdcCs
t|t�S(u-Test whether an object is an instance of int.(u
isinstanceuint(ux((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyuisint
suisintcCs1x*tttfD]}t||�rdSqWdS(uATest whether an object is an instance of a built-in numeric type.ii(uintufloatucomplexu
isinstance(uxuT((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyuisnumsuisnumcCs
t|t�S(u6Test wheter an object is an instance of the Rat class.(u
isinstanceuRat(ux((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyuisRatsuisRatcBsR|EeZdZdZddgZdddd�Zdd	�Zeed0�Z	d
d�Z
ee
d0�Zdd
�Zdd�Z
dd�Zdd�Zdd�ZeZdd�Zdd�Zdd�ZeZdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0S(1uRatu9Rational number implemented as a normalized pair of ints.u	_Rat__numu	_Rat__deniicCs�t|�std|��nt|�s>td|��n|dkrYtd��nt||�}t||�|_t||�|_dS(u[Constructor: Rat([num[, den]]).

        The arguments must be ints, and default to (0, 1).uRat numerator must be int (%r)u Rat denominator must be int (%r)iuzero denominatorN(uisintu	TypeErroruZeroDivisionErrorugcduintu	_Rat__numu	_Rat__den(uselfunumudenug((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__init__"suRat.__init__cCs|jS(u7Accessor function for read-only 'num' attribute of Rat.(u	_Rat__num(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu_get_num1suRat._get_numcCs|jS(u7Accessor function for read-only 'den' attribute of Rat.(u	_Rat__den(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu_get_den6suRat._get_dencCsd|j|jfS(u=Convert a Rat to an string resembling a Rat constructor call.uRat(%d, %d)(u	_Rat__numu	_Rat__den(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__repr__;suRat.__repr__cCstt|��S(u=Convert a Rat to a string resembling a decimal numeric value.(ustrufloat(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__str__?suRat.__str__cCs|jd|jS(uConvert a Rat to a float.g�?(u	_Rat__numu	_Rat__den(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu	__float__Csu
Rat.__float__cCsh|jdkrNyt|j�SWqNtk
rJtdt|���YqNXntdt|���dS(u,Convert a Rat to an int; self.den must be 1.iu%s too large to convert to intucan't convert %s to intN(u	_Rat__denuintu	_Rat__numu
OverflowErrorurepru
ValueError(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__int__Gs
uRat.__int__cCstt|�rt|�}nt|�rVt|j|j|j|j|j|j�St|�rpt|�|StS(u$Add two Rats, or a Rat and a number.(uisintuRatuisRatu	_Rat__numu	_Rat__denuisnumufloatuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__add__QsuRat.__add__cCstt|�rt|�}nt|�rVt|j|j|j|j|j|j�St|�rpt|�|StS(u)Subtract two Rats, or a Rat and a number.(uisintuRatuisRatu	_Rat__numu	_Rat__denuisnumufloatuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__sub__^suRat.__sub__cCstt|�rt|�}nt|�rVt|j|j|j|j|j|j�St|�rp|t|�StS(u9Subtract two Rats, or a Rat and a number (reversed args).(uisintuRatuisRatu	_Rat__numu	_Rat__denuisnumufloatuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__rsub__isuRat.__rsub__cCsnt|�r-t|j|j|j|j�St|�rPt|j||j�St|�rjt|�|StS(u)Multiply two Rats, or a Rat and a number.(uisRatuRatu	_Rat__numu	_Rat__denuisintuisnumufloatuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__mul__ts!uRat.__mul__cCsnt|�r-t|j|j|j|j�St|�rPt|j|j|�St|�rjt|�|StS(u'Divide two Rats, or a Rat and a number.(uisRatuRatu	_Rat__numu	_Rat__denuisintuisnumufloatuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__truediv__�s!uRat.__truediv__cCsnt|�r-t|j|j|j|j�St|�rPt||j|j�St|�rj|t|�StS(u7Divide two Rats, or a Rat and a number (reversed args).(uisRatuRatu	_Rat__numu	_Rat__denuisintuisnumufloatuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__rtruediv__�s!uRat.__rtruediv__cCsCt|�rt|�}nt|�s+tS||}|j|jS(u.Divide two Rats, returning the floored result.(uisintuRatuisRatuNotImplementedu	_Rat__numu	_Rat__den(uselfuotherux((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__floordiv__�s
uRat.__floordiv__cCs||}|j|jS(u>Divide two Rats, returning the floored result (reversed args).(u	_Rat__numu	_Rat__den(uselfuotherux((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu
__rfloordiv__�s
uRat.__rfloordiv__cCsGt|�rt|�}nt|�s+tS||}||||fS(u2Divide two Rats, returning quotient and remainder.(uisintuRatuisRatuNotImplemented(uselfuotherux((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu
__divmod__�s
uRat.__divmod__cCs8t|�rt|�}nt|�s+tSt||�S(uBDivide two Rats, returning quotient and remainder (reversed args).(uisintuRatuisRatuNotImplementedudivmod(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__rdivmod__�s
uRat.__rdivmod__cCst||�dS(uTake one Rat modulo another.i(udivmod(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__mod__�suRat.__mod__cCst||�dS(u,Take one Rat modulo another (reversed args).i(udivmod(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__rmod__�suRat.__rmod__cCsvt|�r(|jdko'|j|kSt|�rV|j|jkoU|j|jkSt|�rrt|�|kStS(uCompare two Rats for equality.i(uisintu	_Rat__denu	_Rat__numuisRatuisnumufloatuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__eq__�s"u
Rat.__eq__cCs||kS(u Compare two Rats for inequality.((uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__ne__�su
Rat.__ne__N( u__name__u
__module__u__qualname__u__doc__u	__slots__u__init__u_get_numupropertyuNoneunumu_get_denudenu__repr__u__str__u	__float__u__int__u__add__u__radd__u__sub__u__rsub__u__mul__u__rmul__u__truediv__u__rtruediv__u__floordiv__u
__rfloordiv__u
__divmod__u__rdivmod__u__mod__u__rmod__u__eq__u__ne__(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyuRats6



		
uRatcBs�|EeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�ZdS(uRatTestCaseu3Unit tests for Rat class and its support utilities.cCs[|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd
�d�|jtdd�d�x�tdd	�D]�}x�tdd	�D]z}|jt||�d
k�|jt||�d
k�|jt||�d
k�|jt||�d
k�q�Wq�WdS(Ni
iiiiiiidiii����i����i����i����i����i����(uassertEqualugcdurangeu
assertTrue(uselfuiuj((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyutest_gcd�suRatTestCase.test_gcdcCs�tdd�}|j|jd�|j|jd�tdd�}|j|jd�|j|jd�tdd�}|j|jd�|j|jd�tdd�}|j|jd�|j|jd�td�}|j|jd�|j|jd�ytdd�}Wntk
r-YnX|jd�x�d	d
dfgidttf	D]u}yt|�}Wntk
r�YnX|jd|�ytd|�}Wntk
r�Yq]X|jd
|�q]WdS(Ni
iiiiiiu(Rat(1, 0) didn't raise ZeroDivisionErroru0gyuRat(%r) didn't raise TypeErroru!Rat(1, %r) didn't raise TypeErrori�i����i����i����i����i�(	uRatuassertEqualunumudenuZeroDivisionErrorufailuNoneuunittestu	TypeError(uselfuaubad((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyutest_constructor�s>

(

uRatTestCase.test_constructorcCs�|jtdd�tdd�d�|jtdd�dtdd��|jdtdd�tdd��|jdtdd�d�|jtdd�dd�dS(Niiiig�?g�?(uassertEqualuRat(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyutest_add�s
&&&uRatTestCase.test_addcCs�|jtdd�tdd�tdd��|jtdd�dtdd��|jdtdd�tdd��|jtdd�dd	�|jdtdd�d	�dS(
Niiiii
iig�?g�?(uassertEqualuRat(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyutest_subs
/&&uRatTestCase.test_subcCs�|jtdd�tdd�tdd��|jtdd�dd�|jdtdd�d�|jtdd�dd�|jdtdd�d�dS(	Niiiii
ig�?g�?(uassertEqualuRat(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyutest_mul
s
/uRatTestCase.test_mulcCs�|jtdd�tdd�tdd��|jtdd�dtdd��|jdtd�tdd��|jdtd	d�d
�|jtd	d�dd
�dS(Ni
iiiii	ig@ig�?(uassertEqualuRat(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyutest_divs
/&#uRatTestCase.test_divcCs~|jtd�td�d�|jtdd�tdd�d�|jtd�dd�|jdtd�d�dS(Ni
iii(uassertEqualuRat(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu
test_floordivs &uRatTestCase.test_floordivcCs{|jtd�tdd��|jtd�d�|jdtd��|jtd�d�|jdtd��dS(Ni
iig$@(uassertEqualuRat(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyutest_eq!s
uRatTestCase.test_eqcCs�|jtdd�tdd�tdd��|jtdd�dtdd��|jdtd�tdd��|jdtd	d�d
�|jtd	d�dd
�|jtd�d�dS(
Ni
iiiii	ig@ig�?u1/2g�?(uassertEqualuRatueval(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu
test_true_div(s/&#uRatTestCase.test_true_divN(
u__name__u
__module__u__qualname__u__doc__utest_gcdutest_constructorutest_addutest_subutest_mulutest_divu
test_floordivutest_equ
test_true_div(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyuRatTestCase�s$uRatTestCasecBs2|EeZdZdZdd�Zdd�ZdS(uOperationLoggeru.Base class for classes with operation logging.cCs
||_dS(N(ulogger(uselfulogger((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__init__5suOperationLogger.__init__cGs|j|�dS(N(ulogger(uselfuargs((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu
log_operation7suOperationLogger.log_operationN(u__name__u
__module__u__qualname__u__doc__u__init__u
log_operation(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyuOperationLogger3suOperationLoggercGsZg}g}x$|D]}|j||j��qWy||�Wntk
rUYnX|S(uvReturn the sequence of operations that results from applying
    the operation `op` to instances of the given classes.(uappendu	TypeError(uopuclassesulogu	instancesuc((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyuop_sequence:s

uop_sequencecBs8|EeZdZdd�Zdd�Zdd�ZdS(uAcCs|jd�tS(NuA.__eq__(u
log_operationuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__eq__Is
uA.__eq__cCs|jd�tS(NuA.__le__(u
log_operationuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__le__Ls
uA.__le__cCs|jd�tS(NuA.__ge__(u
log_operationuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__ge__Os
uA.__ge__N(u__name__u
__module__u__qualname__u__eq__u__le__u__ge__(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyuAHsuAcBs8|EeZdZdd�Zdd�Zdd�ZdS(uBcCs|jd�tS(NuB.__eq__(u
log_operationuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__eq__Ts
uB.__eq__cCs|jd�tS(NuB.__le__(u
log_operationuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__le__Ws
uB.__le__cCs|jd�tS(NuB.__ge__(u
log_operationuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__ge__Zs
uB.__ge__N(u__name__u
__module__u__qualname__u__eq__u__le__u__ge__(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyuBSsuBcBs8|EeZdZdd�Zdd�Zdd�ZdS(uCcCs|jd�tS(NuC.__eq__(u
log_operationuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__eq___s
uC.__eq__cCs|jd�tS(NuC.__le__(u
log_operationuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__le__bs
uC.__le__cCs|jd�tS(NuC.__ge__(u
log_operationuNotImplemented(uselfuother((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu__ge__es
uC.__ge__N(u__name__u
__module__u__qualname__u__eq__u__le__u__ge__(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyuC^suCcBs |EeZdZdd�ZdS(uOperationOrderTestscCsX|jtttt�ddg�|jtttt�ddg�|jtttt�ddg�|jtttt�ddg�|jtttt�ddg�|jtttt�ddg�|jtttt�ddg�|jtttt�ddg�|jtttt�ddg�|jtttt�d	dg�dS(
NuA.__eq__uB.__eq__uC.__eq__uA.__le__uA.__ge__uB.__ge__uB.__le__uC.__ge__uC.__le__(uassertEqualuop_sequenceuequAuBuCule(uself((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyutest_comparison_ordersjs"""""""""u*OperationOrderTests.test_comparison_ordersN(u__name__u
__module__u__qualname__utest_comparison_orders(u
__locals__((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyuOperationOrderTestsisuOperationOrderTestscCstjtt�dS(N(usupporturun_unittestuRatTestCaseuOperationOrderTests(((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu	test_mainxsu	test_mainu__main__(u__doc__uunittestutestusupportuoperatoruequneultugtuleugeugcduisintuisnumuisRatuobjectuRatuTestCaseuRatTestCaseuOperationLoggeruop_sequenceuAuBuCuOperationOrderTestsu	test_mainu__name__(((u4/opt/alt/python33/lib64/python3.3/test/test_binop.pyu<module>s$.�j