{G_Tc@sdZddlZddlZddlZddlZddlZddlZddlZddlTddl Z ddl m Z m Z m Z mZddlZyddlZWnek reZnXeejjZeeeeeeeefZ dZ!ej"e#j$dj%ddZ&d Z'e(d krMej)d Z*ne+Z*ej,j-e*pkej.Z/e/ej0e'ej0Z1ej,j2e1 a3e4d d ddddddddddddddddddd d!d"d#gZ5e6Z7i ed$6ed%6ed&6ed'6ed(6ed)6ed*6ed+6ed,6ed-6ed.6ed/6Z8d0Z9ie:d16e;d26e<d36e=d46e>d56e?d66e@d76eAd86ZBi%d9d:6d;d<6d=d>6d?d@6dAdB6dCdD6dEdF6dGdH6dIdJ6dKdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6dYdZ6d[d\6d]d^6d_d`6dadb6dcdd6dedf6dgdh6didj6dkdl6dmdn6dodp6dqdr6dsdt6dudv6dwdx6dydz6d{d|6d}d~6dd6dd6ZCdQdSdUdWdYd[d]d_dadcduf ZDdejEfdYZFdejEfdYZGdejEfdYZHdejEfdYZIdejEfdYZJdZKdZLej"eddejEfdYZMdejEfdYZNdejEfdYZOdejEfdYZPdejEfdYZQdejEfdYZReeeedZSe(d krddlTZTeTjUdZVeVjWddddddeVjWddddddeVjX\ZYZZeYj[reSde6de\n>eZreSde\de\deZdeYj]neSde\de\ndS(se These are the test cases for the Decimal module. There are two groups of tests, Arithmetic and Behaviour. The former test the Decimal arithmetic using the tests provided by Mike Cowlishaw. The latter test the pythonic behaviour according to PEP 327. Cowlishaw's tests can be downloaded from: www2.hursley.ibm.com/decimal/dectest.zip This test module can be called from command line with one parameter (Arithmetic or Behaviour) to test each part, or without parameter to test both parts. If you're working through IDLE, you can import this test module and call test_main() with the corresponding argument. iN(t*(t run_unittestt run_doctesttis_resource_enabledtcheck_py3k_warningsc CsDtjatdddtdtjtd}t|dS(Ntpreci troundingttrapsi( t getcontexttcopytORIGINAL_CONTEXTtContexttROUND_HALF_EVENtdicttfromkeystSignalst setcontext(tDefaultTestContext((s-/usr/local/lib/python2.7/test/test_decimal.pytinit5s tdoubletIEEEstest requires IEEE 754 doublestdecimaltestdatat__main__itscbx164tscbx165texpx901texpx902texpx903texpx905tlnx901tlnx902tlnx903tlnx905tlogx901tlogx902tlogx903tlogx905tpowx1183tpowx1184tpowx4001tpowx4002tpowx4003tpowx4005tpowx4008tpowx4010tpowx4012tpowx4014tclampedtconversion_syntaxtdivision_by_zerotdivision_impossibletdivision_undefinedtinexacttinvalid_contexttinvalid_operationtoverflowtroundedt subnormalt underflowcGsdS(sDoesn't do anything.N(tNone(targs((s-/usr/local/lib/python2.7/test/test_decimal.pyt Nonfunctionstceilingtdowntfloort half_downt half_eventhalf_uptupt05upt logical_andtandt_applytapplyt number_classtclasstcompare_signalt comparesigt compare_totalt comparetotaltcompare_total_magt comparetotmagt copy_decimalR tcopy_abstcopyabst copy_negatet copynegatet copy_signtcopysignt divide_intt divideinttlogical_inverttinvertt is_canonicalt iscanonicalt is_finitetisfinitet is_infinitet isinfinitetis_nantisnant is_normaltisnormaltis_qnantisqnant is_signedtissignedtis_snantissnant is_subnormalt issubnormaltis_zerotiszerotmax_magtmaxmagtmin_magtminmagt next_minust nextminust next_plustnextplust next_towardt nexttowardt logical_ortort normalizetreducetremainder_neart remainderneart same_quantumt samequantumtsqrtt squareroott to_eng_stringttoengtto_integral_valuet tointegraltto_integral_exactt tointegralxt to_sci_stringttoscit logical_xortxort DecimalTestcBsqeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z RS( s[Class which tests the Decimal class against the test cases. Changed for unittest. cCsWt|_dg|_i|jd6|jd6|jd6|jd6|jd6|_dS(Nt#t precisionRt maxexponentt minexponenttclamp( R tcontextt ignore_listtchange_precisiontchange_rounding_methodtchange_max_exponenttchange_min_exponentt change_clampt ChangeDict(tself((s-/usr/local/lib/python2.7/test/test_decimal.pytsetUps      c Cstrtjnt|~}xt|D]l}|jddjdd}y|j|}Wq(tk r}|jd|jj d|q(Xq(WWdQXdS(Ns ts s Exception "s" raised on line ( t skip_expectedtunittesttSkipTesttopentreplacet eval_linetDecimalExceptiontfailt __class__t__name__(Rtfiletftlinettt exception((s-/usr/local/lib/python2.7/test/test_decimal.pyt eval_files  cCs|jddkrs|d dkrs|jd rs|jddd|jddjddj}n|jddj}x*|jD]}|j|dkrdSqW|sdSd|kr|j|S|j|SdS( Ns -> iis--s --s->it:(tfindt startswithtsplittstripRteval_directivet eval_equation(Rtstignore((s-/usr/local/lib/python2.7/test/test_decimal.pyRs5*  cCstd|jd\}}|dkr:t|}n$yt|}Wntk r]nX|jj|t}||dS(NcSs|jjS(N(Rtlower(tx((s-/usr/local/lib/python2.7/test/test_decimal.pytsRR(tmapRt RoundingDicttintt ValueErrorRtgetR=(RRtfuncttvalue((s-/usr/local/lib/python2.7/test/test_decimal.pyRs!   cCskt rtjdkrdSy|jd}|djj}|d}tr`dG|Gn|dj}|d}|djj}|d}|d}Wn tttfk rt nXd} |t krdSt j ||} | dkrdSt |j| }g} d } d} g|D]}t|j^q.}xtD]}d|jj|isTest iicSs^|jddjdd}|jddjdd}|jddjdd}|S(Ns''t SingleQuotes""t DoubleQuotet'Rt"(R(tval((s-/usr/local/lib/python2.7/test/test_decimal.pyt FixQuotes strescaleRRt RRs Raised %s in %s when %s disabledsDid not raise %s in %ssRaised %s in %s; expected %ss--sRaised %s in %ssERROR:sIncorrect answer for s -- got sIncorrect flags set in (s to_sci_strings to_eng_string(s to_sci_strings to_eng_string(#tTEST_ALLtrandomRRtDEBUGRt TypeErrortAttributeErrort IndexErrortInvalidOperationtskipped_test_idst nameAdapterRtgetattrRt ErrorNamesRRt enumeratetcounttEXTENDEDERRORTESTtcreate_decimalRtDecimaltappendtOrderedSignalsttypetstrtLOGICAL_FUNCTIONSRtevalt getexceptionst clear_flagst assertEqualtassertItemsEqual(RRtSidestLtidRtvalstemptanst exceptionsRtfnametvalst conglomeratetquoteRttheirexceptionsRtiRtvterrortetordered_errorstresultt myexceptions((s-/usr/local/lib/python2.7/test/test_decimal.pyR s        #             %          cCs'gtD]}|jj|r|^qS(N(RRtflags(RR((s-/usr/local/lib/python2.7/test/test_decimal.pyRscCs||j_dS(N(RR(RR((s-/usr/local/lib/python2.7/test/test_decimal.pyRscCs||j_dS(N(RR(RR((s-/usr/local/lib/python2.7/test/test_decimal.pyRscCs||j_dS(N(RtEmin(Rtexp((s-/usr/local/lib/python2.7/test/test_decimal.pyRscCs||j_dS(N(RtEmax(RR((s-/usr/local/lib/python2.7/test/test_decimal.pyRscCs||j_dS(N(Rt_clamp(RR((s-/usr/local/lib/python2.7/test/test_decimal.pyRs(Rt __module__t__doc__RRRRRRRRRRR(((s-/usr/local/lib/python2.7/test/test_decimal.pyRs   }     tDecimalExplicitConstructionTestcBsneZdZdZdZdZdZdZdZdZ e dZ d Z d Z RS( s6Unit tests for Explicit Construction cases of Decimal.cCs|jttddS(Nt0(RR(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_explicit_emptyscCs|jttddS(N(t assertRaisesRRR;(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_explicit_from_NonescCstd}|jt|dtd}|jt|dtd}|jt|dtd}|jt|ddS( Ni-t45i{et 500000123is-45iR(RRR(Rtd((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_explicit_from_ints    cCs8|jttdd|jttdd|jttdd|jttdd|jttdd|jttdd |jttd d |jttd d |jttdd|jttdd|jttdddS(NRtNaNRs45.34t45e2s4.5E+3tuglys1.3E4 s1.3E+4s -7.89s-7.89u0E-017s0E-17u45u-Infs -InfinityuNaN123tNaN123(RRR(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_explicit_from_stringsc Cstdddf}|jt|dtdddf}|jt|dtdddf}|jt|d tddd f}|jt|d |jttddf|jttd ddf|jttdddf|jtttdddf|jttdddf|jttdddf|jttdddf|jttdd df|jttdd!df|jttdd"df|jttdd#dfdS($NiRiiis-45iis45.34i is-4.34913534E-17iigswrong!t1ii ta(i(ii(iiii( iiii iiiii(iiii i(iiii i(iiii i(iiii i(iiii i(iiii i(iiii i(iiiNi(iiii i(ii ii i(iiiR i(RRRRRR;(RR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_explicit_from_tupless&"cCst|jttdt|jttdt|jtttd|jtttddS(Nii(tassertIstboolRtFalsetTrueR(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_explicit_from_boolscCs,td}t|}|jt|d|jt|t|td}t|}|jt|d|jt|t|td}t|}|jt|d|jt|t|td}t|}|jt|d|jt|t|dS( Ni-Ri{eRis-45iR(RRRtassertNotEqualR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_explicit_from_Decimals         cCstd}|jt|t|jt|d|jttdj|jttdj|jttdj|jtttdttd|jtttdttd|jtttdttd|jtttd ttd xQtd D]C}t j d t j d d}|j|tt|qZWdS(Ng?s90.1000000000000000055511151231257827021181583404541015625tnantinfs-infRtInfinitys -Infinitys-0.0s-0ig{Gz?g@g?( RRRRt assertTruetfloatRgRatrangeRt expovariate(RtrRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_explicit_from_floats$ !c Cstjt}d|_t}|jt|d|j}|jt|d|jt|jd|jd}|j |t|j|jd|jdtd}|jt|d|jd}|jt|d|jt|jdd td ddf}|jt|d|jd ddf}|jt|dtd}t|}|jt|d|j|}|jt|ddS(NiRiins457E+2t456789s4.57E+5s3.14 Riii iis-4.34913534E-17s -4.35E-17i{eRs5.00E+8( iiii iiiii( iiii iiiii( R RRRRRRRRR;tassertIsInstance(RtncRtprevdec((s-/usr/local/lib/python2.7/test/test_decimal.pyt$test_explicit_context_create_decimal+s2      cCsXidd6dd6dd6}x6|jD](\}}|jtt||q(WdS(NR u1s 0.0000372u٠.٠٣٧٢e-٣s-NaN2400u-nan౨౪౦౦(titemsRRR(Rt test_valuestinputtexpected((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_unicode_digitsVs  (RRRRRRR RRRtrequires_IEEE_754RR#R((((s-/usr/local/lib/python2.7/test/test_decimal.pyRs     %   +tDecimalImplicitConstructionTestcBsDeZdZdZdZdZdZdZdZRS(s6Unit tests for Implicit Construction cases of Decimal.cCs|jttdtdS(NsDecimal(5) + None(RRRtglobals(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_implicit_from_NonecscCsD|jttddd|jtddtddS(Nii-t50I(RRR(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_implicit_from_intfs cCs|jttdtdS(NsDecimal(5) + "3"(RRRR+(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_implicit_from_stringlscCs|jttdtdS(NsDecimal(5) + 2.2(RRRR+(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_implicit_from_floatoscCs*|jtdtdtddS(Nii-i2(RR(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_implicit_from_Decimalrscsdd2dY}|jt|tdd|jttd|d|jtdd|jtdd |jtd d |jtd d |jtdd|jtddd3d4d5d6d7d8g}t2d$d%d&kr|jd9n |jd:WdQXx|D]\}t|fd,t|fd-|jtd.|d/d0d1|jtd/|d.d1d0q7WdS(;NtEcBsPeZdZdZdZdZdZdZdZdZ RS(cSsdt|S(Nsdivmod (R(Rtother((s-/usr/local/lib/python2.7/test/test_decimal.pyt __divmod__xscSst|dS(Ns rdivmod(R(RR3((s-/usr/local/lib/python2.7/test/test_decimal.pyt __rdivmod__zscSsdt|S(Nslt (R(RR3((s-/usr/local/lib/python2.7/test/test_decimal.pyt__lt__|scSsdt|S(Nsgt (R(RR3((s-/usr/local/lib/python2.7/test/test_decimal.pyt__gt__~scSsdt|S(Nsle (R(RR3((s-/usr/local/lib/python2.7/test/test_decimal.pyt__le__scSsdt|S(Nsge (R(RR3((s-/usr/local/lib/python2.7/test/test_decimal.pyt__ge__scSsdt|S(Nseq (R(RR3((s-/usr/local/lib/python2.7/test/test_decimal.pyt__eq__scSsdt|S(Nsne (R(RR3((s-/usr/local/lib/python2.7/test/test_decimal.pyt__ne__s( RRR4R5R6R7R8R9R:R;(((s-/usr/local/lib/python2.7/test/test_decimal.pyR2ws       i s divmod 10s 10 rdivmodsDecimal(10) < E()sgt 10sDecimal(10) > E()slt 10sDecimal(10) <= E()sge 10sDecimal(10) >= E()sle 10sDecimal(10) == E()seq 10sDecimal(10) != E()sne 10t+t__add__t__radd__t-t__sub__t__rsub__Rt__mul__t__rmul__t%t__mod__t__rmod__s//t __floordiv__t __rfloordiv__s**t__pow__t__rpow__iiit/t__div__t__rdiv__t __truediv__t __rtruediv__csdt|S(NR(R(RR3(tlop(s-/usr/local/lib/python2.7/test/test_decimal.pyRscst|dS(NR(R(RR3(trop(s-/usr/local/lib/python2.7/test/test_decimal.pyRssE()s Decimal(10)Rt10((R<s__add__s__radd__(R?s__sub__s__rsub__(Rs__mul__s__rmul__(RDs__mod__s__rmod__(s//s __floordiv__s __rfloordiv__(s**s__pow__s__rpow__(RKs__div__s__rdiv__(RKs __truediv__s __rtruediv__(RtdivmodRRRRtsetattr(RR2toplisttsym((RPRQs-/usr/local/lib/python2.7/test/test_decimal.pyttest_ropus4""  ( RRRR,R.R/R0R1RW(((s-/usr/local/lib/python2.7/test/test_decimal.pyR*`s     tDecimalFormatTestcBs eZdZdZdZRS(s#Unit tests for the format function.c~Csddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJg|}x6|D].\}}}|jtt|||qWdS(KNRs0E-15s0e-15s2.3E-15s2.3e-15s2.30E+2s2.30e+2s 2.30000E-15s 2.30000e-15s1.23456789123456789e40s1.23456789123456789e+40s1.5s1.5e+0s0.15s1.5e-1s0.015s1.5e-2s0.0000000000015s1.5e-12s15.0s1.50e+1s-15s-1.5e+1Rs0e+0t0E1s0e+1s0.0s0e-1s0.00s0e-2s.6es 0.000000e-9s 0.000000e+6s9.999999s 9.999999e+0s 9.9999999s 1.000000e+1s-1.23e5s -1.230000e+5s 1.23456789e-3s 1.234568e-3Rs0E-2s0.00E-8s 0.0000000000s3.2E1t32s3.2E2t320s3.20E2s3.200E2s320.0s3.2E-6s 0.0000032s.6fs0.000000s.0fs 3.14159265t3s.1fs3.1s.4fs3.1416s3.141593s.7fs 3.1415926s.8fs.9fs 3.141592650tgtGs0E+1s0E-5s0.00000s0E-6s0E-7s0e-7s-0E2s-0e+2s.0gs.1gs.2gs.5gs.7gs.8gs.9gs.10gRDs0%t0E0s0E-1s0E-3s0.0%s0E-4s0.00%s.3%s0.000%t0E10s0E-10s2.34s234.000%s1.234567s123.457%s.0%s1.23s123%Rs-NaN123s+gtNaN456s+NaN456s.3etInfRs.16fs-Infs -Infinitys-sNaNRs1.00t6t123s 123s<6s123 s>6s^6s 123 s=+6s+ 123s#<10s NaN#######s-4.3s -4.3######s#<+10s0.0130s +0.0130###s#< 10s 0.0130###s@>10s @-Infinitys#>5s?^5s?123?s%^6s%123%%s ^6s-45.6s-45.6 s/=10s -/////45.6s/=+10s45.6s +/////45.6s/= 10s /////45.6t,t1234567s 1,234,567t123456s123,456t12345s12,345t1234s1,234t12R s-1234567s -1,234,567s-123456s-123,456s7,s8,s 123,456s08,s 0,123,456s+08,s+123,456s 08,s+09,s +0,123,456s07,s1234.56s1,234.56s09,s 01,234.56s010,s 001,234.56s011,s 0,001,234.56s012,s08,.1fs1234.5s01,234.5s 1.23456789s,%s 123.456789s 12,345.6789%s,es 1.23456e+5s,Es 1.23456E+5sa=-7.0s0.12345saaaa0.1(Rs0E-15s0e-15(Rs2.3E-15s2.3e-15(Rs2.30E+2s2.30e+2(Rs 2.30000E-15s 2.30000e-15(Rs1.23456789123456789e40s1.23456789123456789e+40(Rs1.5s1.5e+0(Rs0.15s1.5e-1(Rs0.015s1.5e-2(Rs0.0000000000015s1.5e-12(Rs15.0s1.50e+1(Rs-15s-1.5e+1(RRs0e+0(RRYs0e+1(Rs0.0s0e-1(Rs0.00s0e-2(s.6es0E-15s 0.000000e-9(s.6eRs 0.000000e+6(s.6es9.999999s 9.999999e+0(s.6es 9.9999999s 1.000000e+1(s.6es-1.23e5s -1.230000e+5(s.6es 1.23456789e-3s 1.234568e-3(RRR(Rs0.0s0.0(Rs0E-2s0.00(Rs0.00E-8s 0.0000000000(RRYR(Rs3.2E1RZ(Rs3.2E2R[(Rs3.20E2R[(Rs3.200E2s320.0(Rs3.2E-6s 0.0000032(s.6fs0E-15s0.000000(s.6fRYs0.000000(s.6fRs0.000000(s.0fRR(s.0fs0e-2R(s.0fs 3.14159265R\(s.1fs 3.14159265s3.1(s.4fs 3.14159265s3.1416(s.6fs 3.14159265s3.141593(s.7fs 3.14159265s 3.1415926(s.8fs 3.14159265s 3.14159265(s.9fs 3.14159265s 3.141592650(R]RR(R]s0.0s0.0(R]RYs0e+1(R^RYs0E+1(R]s0E-5s0.00000(R]s0E-6s0.000000(R]s0E-7s0e-7(R]s-0E2s-0e+2(s.0gs 3.14159265R\(s.1gs 3.14159265R\(s.2gs 3.14159265s3.1(s.5gs 3.14159265s3.1416(s.7gs 3.14159265s3.141593(s.8gs 3.14159265s 3.1415926(s.9gs 3.14159265s 3.14159265(s.10gs 3.14159265s 3.14159265(RDRYs0%(RDR_s0%(RDs0E-1s0%(RDs0E-2s0%(RDs0E-3s0.0%(RDs0E-4s0.00%(s.3%Rs0.000%(s.3%R`s0.000%(s.3%s0E-10s0.000%(s.3%s2.34s234.000%(s.3%s1.234567s123.457%(s.0%s1.23s123%(RsNaNsNaN(Rs-NaN123s-NaN123(s+gRas+NaN456(s.3eRbsInfinity(s.16fs-Infs -Infinity(s.0gs-sNaNs-sNaN(Rs1.00s1.00(RcRds 123(s<6Rds123 (s>6Rds 123(s^6Rds 123 (s=+6Rds+ 123(s#<10sNaNs NaN#######(s#<10s-4.3s -4.3######(s#<+10s0.0130s +0.0130###(s#< 10s0.0130s 0.0130###(s@>10s-Infs @-Infinity(s#>5s-Infs -Infinity(s?^5Rds?123?(s%^6Rds%123%%(s ^6s-45.6s-45.6 (s/=10s-45.6s -/////45.6(s/=+10s45.6s +/////45.6(s/= 10s45.6s /////45.6(ReRfs 1,234,567(ReRgs123,456(ReRhs12,345(ReRis1,234(ReRdRd(ReRjRj(ReR R (ReRR(Res-1234567s -1,234,567(Res-123456s-123,456(s7,Rgs123,456(s8,Rgs 123,456(s08,Rgs 0,123,456(s+08,Rgs+123,456(s 08,Rgs 123,456(s08,s-123456s-123,456(s+09,Rgs +0,123,456(s07,s1234.56s1,234.56(s08,s1234.56s1,234.56(s09,s1234.56s 01,234.56(s010,s1234.56s 001,234.56(s011,s1234.56s 0,001,234.56(s012,s1234.56s 0,001,234.56(s08,.1fs1234.5s01,234.5(Res 1.23456789s 1.23456789(s,%s 123.456789s 12,345.6789%(s,eRgs 1.23456e+5(s,ERgs 1.23456E+5(sa=-7.0s0.12345saaaa0.1(RtformatR(RR%tfmtRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_formattings cCsyddlm}Wntk r4|jdnXidd6dddgd6d d 6}id d6|gd6d d 6}id d6dddgd6d d 6}id d6ddd|gd6dd 6}dd}|j|td|d|j|td|d|j|td|d|j|td|d|j|d|d|j|d|d|j|d|d|j|d|d|j|d|dd|j|d|dd|j|d|dd|j|d|dd |j|d!|d"d#|j|d!|d$d#|j|d!|d%d&|j|d!|d'd(|j|d)|d%d*|j|d)|d'd*|j|d)|d+d,|j|d)|d-d.|j|d)|d/d.|j|d)|d0d1|j|d2|d'd3|j|d2|d+d3|j|d2|d-d3|j|d2|d/d4|j|d2|d0d5|j|d2|d6d5|j|d2|d7d8|j|d2|d9d:dS(;Ni(tCHAR_MAXslocale.CHAR_MAX not availablet.t decimal_pointiitgroupingRet thousands_sepRRt&iiiR?tncSstjt||d|S(Nt _localeconv(Rt __format__(RtlocaleRl((s-/usr/local/lib/python2.7/test/test_decimal.pytget_fmt^ss12.7s12,7s1-2&7i[s 123,456,789t 123456789s 123 456 789Iqs123456-78-9012-3s.6ns 1.23457e+8s 1,23457e+8s 1&23457e+8it03nRit04nt05nt01234t06nt001234i90s12,345t07ns012,345t08ns 0,012,345t09nt010ns 00,012,345i@s1-2345-6s 01-2345-6s 0-01-2345-6t011nt012ns 00-01-2345-6t013ns 000-01-2345-6(RwRnt ImportErrortskipTestRR(RRnten_UStfr_FRtru_RUtcrazyRx((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_n_format>sf       (RRRRmR(((s-/usr/local/lib/python2.7/test/test_decimal.pyRXs tDecimalArithmeticOperatorsTestcBsqeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z RS( s:Unit tests for all arithmetic operators, binary and unary.cCstd}td}|j||td|j||td|d}|j|td|jt|t|d|}|j|td|jt|t|||7}|j|td|d7}|j|tddS(Ns-11.1s22.2s11.1is-6.1s16.1(RRR(Rtd1td2tc((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_additions      cCstd}td}|j||td|j||td|d}|j|td|jt|t|d|}|j|td|jt|t|||8}|j|td|d8}|j|tddS( Ns-11.1s22.2s-33.3s33.3is-16.1s16.1s-38.3(RRR(RRRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_subtractions      cCstd}td}|j||td|j||td|d}|j|td|jt|t|d|}|j|td|jt|t|||9}|j|td|d9}|j|tddS(Ns-5R\s-15is-25s-75(RRR(RRRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_multiplications      cCstd}td}|j||td|j||td|d}|j|td|jt|t|d|}|j|td|jt|t|||:}|j|td|d:}|j|tddS( Ns-5t2s-2.5s-0.4is-1.25s-0.8s-0.625(RRR(RRRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_divisions      cCstd}td}|j||td|j||td|d}|j|td|jt|t|d|}|j|td|jt|t|||}|j|td|d}|j|tddS(Nt5RRiR ii(RRR(RRRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_floor_divisions      cCstd}td}|j||td|j||td|d}|j|td|jt|t|d|}|j|td|jt|t|||C}|j|td|dC}|j|td dS( NRRt25RZit625it16807t390625(RRR(RRRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_powerings      cCstd}td}|j||td|j||td|d}|j|td|jt|t|d|}|j|td|jt|t|||;}|j|td|d;}|j|tddS(NRRR ii(RRR(RRRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_module,s      cCstd}td}t||\}}|j|td|j|td|jt|t||jt|t|t|d\}}|j|td|j|td|jt|t||jt|t|td|\}}|j|td|j|td|jt|t||jt|t|dS(NRRR ii(RRSRR(RRRtptq((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_floor_div_moduleGs"  cCsg|jtd td |jtd td|jttdttddS(Ni-i(RRtabs(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_unary_operatorsascCstd}td}td}td}||f||f||f||f||ff}||f||f||f||f||f||f||ff}tjtjtjtjf}tjtjf}x||D]v\} } xg||D][} | | | } | tjkr$tnt } |j | | dj | | j | | | qWqWt -}d|jt    3E !    ! ! cCsZtdjtd}|jtdjd||jttdjddS(Niis-2(RRWRRR(RR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_copy_signs(RRRRRRRRRRRRRR(((s-/usr/local/lib/python2.7/test/test_decimal.pyRs          4cCsvtd}td}||}|jj||}|jj|j|td|j|tddS(Niis0.3333333333333333333333333333(Rtsynchrotwaittfinish1tsetR(tclsRtd3ttest1ttest2((s-/usr/local/lib/python2.7/test/test_decimal.pytthfunc1s      cCstd}td}||}t}d|_||}|jj|jj|j|td|j|tddS(Niiis0.3333333333333333333333333333s0.333333333333333333(RRRRRtfinish2R(RRRRt thiscontextR((s-/usr/local/lib/python2.7/test/test_decimal.pytthfunc2s        sthreading requiredtDecimalUseOfContextTestcBseZdZdZRS(s/Unit tests for Use of Context cases in Decimal.cCstj|_tj|_tj|_tjdtd|f}tjdtd|f}|j|j|jj |jj dS(NttargetR<( t threadingtEventRRRtThreadRRtstartR(Rtth1tth2((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_threadings   (RRRR(((s-/usr/local/lib/python2.7/test/test_decimal.pyRstDecimalUsabilityTestcBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZRS(s*Unit tests for Usability cases of Decimal.cCs6td}td}td}|j|||j|||j|||j|||j|||j|||j|||j|||jt||d|jt||d|jt||d|j|d|jd||j|d|jt|dd|jtd|d|jt|dd|j|d|j|d |j|t|j|tt tt d }|}t j ||j |j||t7|jtddk|jtddkWdQXdS( Ns23.42Riiiii-R gY@@id(Rt assertGreatertassertGreaterEqualt assertLesstassertLessEqualRRtcmptobjectRtxrangeRtshuffletsortRt assertFalseR;R(RtdatdbtdcR tb((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_comparison_operatorss@      cCstd}td}|j|d|j|d|j|d|j|d|j|d|j|d|jd||jd||jd||jd||jd||jd||jdtddS(Ns0.25s3.0g@g?g?g?s0.1(RRRRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_decimal_float_comparisons  cCsftd}tj|}|jt|t|tj|}|jt|t|dS(Ns43.24(RR RRtdeepcopy(RRRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_copy_and_deepcopy_methodss  cCsttdttdttdttdttdgdddd d d d d ddddddgD]G}tddD]1}ddgD]}t|d||^qqq}|jtdtdtdtdtdtdtdtd td!td3d4dtd"td#td$td%td&gx0|D](}|jt|tt|qqW|jttdtd|jtttd'|jttd(|jttd)d*d)d+d,d-d.d/d0g}xB|D]:}t |}t|} |jt|t| q/Wt } | j } td1} d2| _ t| } d| _ t| }d | _ t| }|j| ||j| || | _ dS(5NiRs -Infinitytnan123s-NaNiiiiiiii i!i>i?i@iAiBii iiis-0s0.00s-0.000R`s-0E12s10.0s -23.00000t1230E100s -4.5678E50s 1.634E100s 90.697E100s 188.83E100s 1652.9E100t 56531E100RRbs-InfRs0.0s-.0e1s34.0s2.5s 112390.625s -0.515625s 123456789.1ilI( thashRRtextendRRRRRRRR(RtmRttsignR%Rt test_stringsRRRRt old_precisionRth1th2th3((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_hash_methodsd4              &"              cCstd}td}d}d}|jt||||jt||||jt||||jt||||jt||||jt||||jt||||jt|||dS(Ns15.32s28.5ii(RRtmintmax(RRRtl1tl2((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_min_and_max_methodsbs  cCs*|jtd|jtddS(Nis0.372(RRR(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_as_nonzerouscCstd}|jt|d|jt|dddddddd g}xn|D]f}t|}|jtt|t|jtt|t|jt|jtqZWdS( Ns15.32sDecimal('15.32')u123.4u0.5E2uInfinityusNaNu-0.0E100u-NaN001u-Inf(RRRtreprRR(RRtunicode_inputstu((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_tostring_methods{s    cCstd}td}|jt|d|jt|d|jt|d|jt|d|jt|d|jt|ddS(Nt66s15.32iBigp= ף.@(RRRtlongR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_tonum_methodss  cCs=x6dD].}tt|}|jtj|qWdS(NRtnan1234s-nans-nan2468(snanRs-nans-nan2468(RRRtmathRd(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_nan_to_floats cCs4x-dD]%}t|}|jtt|qWdS(Ntsnans-snantsnan1357s -snan1234(Rs-snanRs -snan1234(RRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_snan_to_floats  c Cstdd df}|j|tt|tdd df}|j|tt|tdd df}|j|tt|tdd df}|j|tt|dS( Niiiiiii i(i(ii(iiii( iiii iiiii(RRRR(RR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_eval_round_tripsc CsPtd}|j|jdddftd}|j|jdddftd}|j|jddd ftd }|j|jddd ftddd f}|j|jddd ftddd f}|j|jddd ftddd f}|j|jddd ftdddf}|j|jdddftdddf}|j|jdddftdd df}|j|jdd!dftdd"d f}|j|jdd#d ftdd$d f}|j|jdd%d fdS(&Niiiiis-4.34913534E-17ii iRtFii%RttNii(i(ii( iiii iiiii(i(iiiiiii(iiiii(iii(i((i(iiiiiii(iiiii(iii((((iiii(i(iiii(i(RRtas_tuple(RR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_as_tuples0    cstdtdtdtdtfd}tjjjjjjjjj|d|dt|dt|dt|dt|d t|d t|d t|d t|d t|d|dt|d|d|d|d|dt|dt|d|d|d|dt|dt|dt|dt|d|dt|dt|d t|d!t|d"t|d#|d$t|d%t|d&|d'|d(t|d)t|d*t|d+|d,t|d-t|d.t|d/|d0|d1dS(2Ns-25e55s33e+33cs|rtd|djjjjjjjjjjjjjjjjjjnTtd|djjjjjjjjjdS(Nsd1.s(d2)s()(RRt_signt_intt_exp(t operationtuseOther(tb1tb2RRR(s-/usr/local/lib/python2.7/test/test_decimal.pyt checkSameDecst__abs__R=RLR4R:R;R8R6R9R7t __float__RGt__hash__t__int__t __trunc__t__long__RERBt__neg__t __nonzero__t__pos__RIR>RMR5t__repr__RHRFRCRJRAt__str__R@RNtadjustedRtcompareRRR}tquantizeRRRRt to_integral(RRRRRRR(RR ((R R RRRs-/usr/local/lib/python2.7/test/test_decimal.pyttest_immutability_operationssn                                                  cCswdtfdY}|d}|d}||}|jt|t|j|}|jt|tdS(Nt MyDecimalcBseZRS((RR(((s-/usr/local/lib/python2.7/test/test_decimal.pyR2sii(RRRR(RRRRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_subclassing/s   cCsDt}|jttdjt|jtddS(Ni(RRRRR(RR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_implicit_context=s cCsx|jtdjdtdjtd|jtdjdtdjtd|jtdjdtdjtd|jtdjdtdjtd|jtdjdtdjtd|jtdjdtdjtd|jtdjdtdjtd|jtdj dtdj td|jtdj dtdj td|jtdj dtdj td|jtdj dtdj td|jtdj dtdj td|jtdjdtdjtd|jtd jdtd jtd|jtdjd tdjtd |jtdjd tdjtd |jtd jd td jtd |jtdjdtdjtd|jtdjtddtdjtdtd|jtdjddtdjtdtd|jtdjdtdtdjtdtddS(Niiiu'ii7i{iidiiis9.123iiiii-iC(RRRRLRNRPRFR{RRRqRRsRyRRtrotateRtscalebtshifttfma(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_conversions_from_intCsT!%%!(RRRRRRRRRRRRRRRRRRR#(((s-/usr/local/lib/python2.7/test/test_decimal.pyRs" -   G        ( K  tDecimalPythonAPItestscBs>eZdZdZdZdZdZdZRS(cCsh|jtttj|jtttj|jtdtj|jtdtjdS(Ni( Rt issubclassRtnumberstNumberRtRealR tassertNotIsInstance(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_abcuscCs>td}tj|}tj|}|j||dS(Ns -3.141590000(RtpickletdumpstloadsR(RRRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_pickle{s cCsSxtddD]s}d|d}|jtt|tt|t|}|jt}|jtt||qW|jtttd|jtttd|jt ttd|jt ttd|jtt td|jtt td|jt t td|jt t tddS( Niis%0.2fgY@s-nanRRs-inf( RRRRRRt ROUND_DOWNRRt OverflowErrorR(RRRRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_ints(  cCsxtddD]v}d|d}|jtt|tt|t|}|jt}|jttj||qWdS(Niis%0.2fgY@( RRRRRRR/Rttrunc(RRRRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_truncs ( cCsdtfdY}|jd}|jt|||jt|dd}|j|j||||j|jtdj|j|jtdj|j|jtdj|jt|jtdttd |jt|jtdttd |jt|jtdttd |j t |jd xTt d D]F}t j dt j dd}|j|t|j|qWdS(NRcBseZRS((RR(((s-/usr/local/lib/python2.7/test/test_decimal.pyRsg?s90.1000000000000000055511151231257827021181583404541015625ls\&5$3| RRs-infRRs -Infinitytabcig{Gz?g@g?(Rt from_floatRRRRRRgRaRRRRR(RRRtbigintRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_from_floats("""!cCstdddt}|j|jtjtdtdddt}|j|jtjtdtdddtg}|j t|jtj|jt |jdd|jt |jd d |jt |jd d dS( NRiRs3.1415s3.1416Rgs Decimal('-0')g?s Decimal('1')i s Decimal('10')( R R/Rtcreate_decimal_from_floatRtpiRtROUND_UPtInexactRR(RR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_create_decimal_from_floats&   (RRR*R.R1R3R7R<(((s-/usr/local/lib/python2.7/test/test_decimal.pyR$ss     tContextAPItestscBs$eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=RS(<cCslt}tjtj|}xDt|D]6}t||}t||}|j||q.WdS(N(R R+R-R,tvarsR(RRRtktv1tv2((s-/usr/local/lib/python2.7/test/test_decimal.pyR.s  cCsQ|jtdddtddig|jtddddigdS(Ni R g?ii(ii(ii(tassertInRt assertNotIn(R((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_equality_with_other_typess+cCsyt}|j}|jt|t||jt|jt|j|jt|jt|jdS(N(R R RRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_copys   "cCsQt}|jtd}|j|jd||jt|jddS(Nis-1(R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_abss cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiR (R taddRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_adds ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiR (R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_compares ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiR (R RLRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_compare_signals ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiR (R RNRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_compare_totals ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiR (R RPRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_compare_total_mags ""cCsQt}|jtd}|j|jd||jt|jddS(Nis-1(R RSRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_copy_abss cCsQt}|jtd}|j|jd||jt|jddS(Nis-1(R RRRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_copy_decimals cCsQt}|jtd}|j|jd||jt|jddS(Nis-1(R RURRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_copy_negate%s cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR s-2(R RWRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyR+s ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R tdivideRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_divide4s ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R RYRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_divide_int=s ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R RSRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_divmodFs ""cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_expOs cCsAt}|jtdtdtd}|j|jddd||j|jtddd||j|jdtdd||j|jddtd||j|jtdtdd||jt|jddd|jt|jddd|jt|jddddS(NiiiRR\t4(R R"RRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_fmaUs '%%%+cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R R_RRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_is_finiteas cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RaRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_is_infinitegs cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RcRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_is_nanms cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R ReRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_is_normalss cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RgRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_is_qnanys cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RiRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_is_signeds cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RkRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_is_snans cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RmRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_is_subnormals cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RoRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_is_zeros cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R tlnRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_lns cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R tlog10RRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_log10s cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R tlogbRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_logbs cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiR (R RFRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_logical_ands ""cCsQt}|jtd}|j|jd||jt|jddS(Nit1000(R R[RRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_logical_inverts cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiR (R R{RRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_logical_ors ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiR (R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_logical_xors ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_maxs ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R RqRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_max_mags ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_mins ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R RsRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_min_mags ""cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R tminusRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_minuss cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R tmultiplyRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_multiplys ""cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RuRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_next_minuss cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RwRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_next_pluss cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R RyRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_next_toward s ""cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R R}RRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_normalizes cCst}|j|jd|jtd|j|jd|jtd|j|jd|jtddS(Ni{ii(R RRJR(RR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_number_classs ((cCsAt}|jtdtdtd}|j|jddd||j|jtddd||j|jdtdd||j|jddtd||j|jtdtdd||jt|jddd|jt|jddd|jt|jddddS(NiiiR RUR(R tpowerRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_powers '%%%+cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R tplusRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_plus*s cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_quantize0s ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R t remainderRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_remainder9s ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_remainder_nearBs ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_rotateKs ""cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_sqrtTs cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_same_quantumZs ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R R RRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_scalebcs ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R R!RRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_shiftls ""cCst}|jtdtd}|j|jdd||j|jtdd||j|jdtd||jt|jdd|jt|jdddS(NiiR R(R tsubtractRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_subtractus ""cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_to_eng_string~s cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_to_sci_strings cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_to_integral_exacts cCsQt}|jtd}|j|jd||jt|jddS(Ni RR(R RRRRR(RRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_to_integral_values (>RRR.RDRERFRHRIRJRKRLRMRNRORRQRRRSRTRVRWRXRYRZR[R\R]R^R_RaRcReRfRhRiRjRkRlRmRnRpRrRsRtRuRvRwRyR{R|R~RRRRRRRRRRR(((s-/usr/local/lib/python2.7/test/test_decimal.pyR=sx                               tWithStatementTestcBseZdZdZRS(cCsjt}t}t}WdQXt}|j||d|j||d|j||ddS(Ns!did not restore context correctlysdid not copy the contexts __enter__ returned wrong context(RRRt assertIsNot(Rtorig_ctxt enter_ctxtset_ctxt final_ctx((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_localcontexts   cCst}tdd}t|}t}WdQXt}|j||d|j|j|jd|j||d|j||ddS(NRi*s!did not restore context correctlysdid not set correct contextsdid not copy the contexts __enter__ returned wrong context(RR RRRRR(RRtnew_ctxRRR((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_localcontextargs  (RRRR(((s-/usr/local/lib/python2.7/test/test_decimal.pyRs t ContextFlagscBseZdZRS(c Cs:tdddddddtdgd g}|jtd gf|jtd gf|jtd td gf|jtd td gf|jtd td gfg}tgt gt gt gt gtt t t t gg}xF|D]>\}}|j ||}g|jjD]\}}|r&|^q&} x|D]} |j x| D]} |j| qbW||} t| } x*| D]"} | | kr| j| qqWg|jjD]\}}|r|^q}|j|| dd|| f|j|| dd| |fqKWqWdS(NRi Ri6eRiɚ;RRRs100E-1000000009is 1.23456789s 9.87654321s=operation produces different answers depending on flags set: sexpected %s, got %s.s9operation raises different flags depending on flags set: sexpected %s, got %s(R R RHRRRGRqRR;tRoundedt UnderflowtClampedt SubnormalRRR$t _raise_errortlistRRR(RRt operationstflagsetstfnR<RR?RRt extra_flagstflagtnew_anstexpected_flagst new_flags((s-/usr/local/lib/python2.7/test/test_decimal.pyttest_flags_irrelevants:$  .       .  (RRR(((s-/usr/local/lib/python2.7/test/test_decimal.pyRsc CsLt|dk r|n tda|a|dkrattttt t t t t ttg }n t g}xtjtD]}d|ksz|jdrqzn|jd\}}|dk r||krqzn|d}tt d||~~~~qzWz6t||dkr9ddl} t| |nWdttXdS(s Execute the tests. Runs all arithmetic tests if arith is True or if the "decimal" resource is enabled in regrtest.py tdecimals.decTestRocSs|jt|S(N(Rt directory(RR((s-/usr/local/lib/python2.7/test/test_decimal.pyR sttest_iN(RR;RRRRR*RRXRRR$R=RRRtostlistdirRRRRTRRRRR ( tarithtverboset todo_teststdebugt test_classestfilenametheadttailttestert DecimalModule((s-/usr/local/lib/python2.7/test/test_decimal.pyt test_mains>       s:test_decimal.py [--debug] [{--skip | test1 [test2 [...]]}]s--debugs-dtactiont store_truethelps2shows the test number and context before each tests--skips-ss%skip over 90% of the arithmetic testsRRRR(^RRRtsysRR+R RRR&ttest.test_supportRRRRRRRR;ttupleRRtkeysRRRR;RRtOverflowtDivisionByZeroRRRt skipUnlessRt __getformat__RR)t TESTDATADIRRtargvRt__file__tpathtdirnametcurdirttestdirtsepRtisdirRRRRRRR=t ROUND_CEILINGR/t ROUND_FLOORtROUND_HALF_DOWNR t ROUND_HALF_UPR:t ROUND_05UPRRRtTestCaseRRR*RXRRRRRR$R=RRRtoptparset OptionParserRt add_optiont parse_argstoptR<tskipRR(((s-/usr/local/lib/python2.7/test/test_decimal.pyts.     "                 L ]23   %