bgLs$ddlmZddlZddlZGddejZGddeZGddeZGd d eZGd d eZGd deZ GddeZ ddZ ddZ e dkr e dSdS))supportNc8eZdZdZddZdZd dZdZd dZdS) TestCasecftj||jj|_dSN)rrsetUpheapyPathselfs m/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/guppy/heapy/test/test_Path.pyrzTestCase.setUps(t$$$JO Nc|||}|#|t|||t|dSt |}|drs|ds^||d|ddd}|||vdS|||dS)N<>,) relation assertTrue isinstanceprintstr startswithendswithsplitaseq)r srcdstrelstrclasrelsrs r chkrelzTestCase.chkrel smmC%%   OOJsD11 2 2 2 > #JJJJJSB}}S!! &&*;*;C*@*@ & C 0 0111"X^^C((" ----- "f%%%%%rc`|D]*}||t||d|z+dS)Nz%s.)r$getattr)r rattrsattrs r chkrelattrzTestCase.chkrelattrsB = =D KKWS$//t < < < < = =rc|||}|t|dS|}t|dkr|d}|t |t |ddS)Nrrr)shpathsraslistlenrr)r rrexpectr"lis r chkpathzTestCase.chkpathsvll3$$ > #JJJJJB2ww!||U IIc"ggs6{{B / / / / /rc8|j||Sr)r r)r rrs r rzTestCase.relation(sy!!#s+++rc|||}|||}|j|g|Ri|Sr)iso get_shpaths)r rrargskwdss r r+zTestCase.shpaths+sIhhsmm ?((3--Css2T222T222r)NNr) __name__ __module__ __qualname__rr$r)r0rr+rr rrs}$$$ & & & &===0000,,,333333rrcneZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdS)RelationTestCasecZgfd}||jdddS)NcSrr:) cellvaluesr fz.RelationTestCase.test_cell_relation..f:s  rrz%s.cell_contents)r$ __closure__)r r@r?s @r test_cell_relationz#RelationTestCase.test_cell_relation7sE       AM!$i1CDDDDDrcfd}|j}|ddd}jdkr|dz }n|dz }jdkr|d z }n|d z }j|g|RdS) Ncd}|fS)Nr:)ar s r r@z.RelationTestCase.test_code_relation..f?sA7NrrEz%s.co_consts[1])co_code co_constsco_names co_filenameco_namerE ) co_varnames co_freevars co_cellvars)co_exceptiontable co_qualname)rE ) co_linetable) co_lnotab)__code__r0 version_infor))r r@corelAttrs` r test_code_relationz#RelationTestCase.test_code_relation>s     Z R-...-  w & & D DGG ; ;G   ' ' ( (GG ~ %G%W%%%%%%rcJd}d}d}d}ttd}ttdd}||||||i}|||d|||d|||d t|||t|||t|||g}|||gd dS) Nk1k2v1v2d%s['k1']z%s['k2']z%s[(0, 1, 2, 3, 4, 5, ...)])z %s.keys()[0]z %s.keys()[1]z %s.keys()[2])tupleranger$rrsortr) r r\r]r^r_k3v3xkss r test_dict_relationz#RelationTestCase.test_dict_relationRs     5::   5c?? # # RR $ Ar:&&& Ar:&&& Ar8999$--2&&''$--2&&''$--2&&'')   "FFFGGGGGrcdGfddt}|j}||d||ddS)Nr^ceZdZZdS)3RelationTestCase.test_dictproxy_relation..TN)r7r8r9r\)r^sr TrmfsBBBrrnz%s->mapping['k1']rb)object__dict__r0r$)r rnrhr^s @r test_dictproxy_relationz(RelationTestCase.test_dictproxy_relationcsv            J Q/000 Ar:&&&&&rc tj}d|_|ddddddg}||djj g}gdfd }|d \}}}~~|d jj ||djj |djj dS)NcdSrr:r:rr z6RelationTestCase.test_frame_relation..nsDrf_back f_builtinsf_code f_globalsf_localsf_tracez%s.f_locals['a'])r!rEc4tj}|fSr)inspect currentframe)rhyframer zs r funcz2RelationTestCase.test_frame_relation..func}s(**E> !rrz%s.f_locals ['self']z%s.f_locals['x']z%s.f_locals ['z']rE)r|r}rzr)r$r R_LOCAL_VARR_CELL) r r@rFrhr_r__rs ` @r test_frame_relationz$RelationTestCase.test_frame_relationls  " " L  8\8["I / / /  Aq,493H III   " " " " " " "tAww 5" r E4!7di>N OOO Aq,493H III Aq-DI4D EEEEErc \d fd }g|_|ddddddd d dS) NrEcSrr:)rhr~r s r r@z2RelationTestCase.test_function_relation..fsKrrV __globals__ __defaults__rA__doc__r7rprFr)rFr))r r@s` r test_function_relationz'RelationTestCase.test_function_relations\       :}n%y*j     rclGdd}|}||jdddS)NceZdZdZdS)8RelationTestCase.test_instancemethod_relation..TcdSrr:rhs r r@z:RelationTestCase.test_instancemethod_relation..T.fsrN)r7r8r9r@r:rr rnrs#     rrn__func____self__)r)r@)r rnts r test_instancemethod_relationz-RelationTestCase.test_instancemethod_relationsU         ACC Z44444rcd}d}ttdd}|||g}|||d|||d|||ddSNr^r_r`ra%s[0]%s[1]z%s[2]listrdr$r r^r_rgrhs r test_list_relationz#RelationTestCase.test_list_relationt   %S// " " RL Ar7### Ar7### Ar7#####rcBg}||j|ddS)Nz %s.__self__)r$append)r rhs r test_meth_relationz#RelationTestCase.test_meth_relations%  AHa/////rc>|tdddS)Nrpr)r)unittestr s r test_module_relationz%RelationTestCase.test_module_relations *j99999rcJd}d}||g}|jj||f||fg}|||d|||d|||d|||d|||ddgdS)Nrrz%s->edges[0].srcz%s->edges[1].srcz#<%s->edges[0].tgt,%s->edges[1].tgt>z%s->edges[0].tgtz%s->edges[1].tgt)r heapyc NodeGraphr$r0)r rFbrlrgs r test_nodegraph_relationz(RelationTestCase.test_nodegraph_relations  V Z  ( (1b'Ar7); < < B-... B-... BABBB R./// R02DEFFFFFrcddlm}m}dg}||||fD]A}tt |D]"}||||d|z#BdS)Nr) immnodeset mutnodesetrFz list(%%s)[%s]) guppy.setsrrrdr-r$)r rrrhsis r test_nodeset_relationz&RelationTestCase.test_nodeset_relations55555555 E*Q--A/ : :A3q66]] : : Aqt_q%89999 : : :rc FGddt}|g}|_g}|_||d|dd|t fdGdd|}|}||_|||d |||d g}||_|||d |||j d Gd d|}|}||_||dGdd|} | } || _|| _|| _g| _ g| _ || dddddd|| | jd || | jd|| | jd || | j d|| | j dGddt} Gdd| |} | } || _|| _|| _|| dddd|| | jd || | jd|| | jd|| | j d|| | j ddg|| | jd dS)!NceZdZdZdS)0RelationTestCase.test_object_relation..TrFrNr7r8r9 __slots__r:rr rnrs IIIrrnz %s->ob_typerFrcjSr)rp)rsr rtz7RelationTestCase.test_object_relation..s !*rceZdZdS)0RelationTestCase.test_object_relation..UNr7r8r9r:rr Ur Drrz%s->ob_type.__base__z%s.az%s.cz %s.__dict__ceZdZdS)0RelationTestCase.test_object_relation..VNrr:rr VrrrrrpceZdZdZdS)0RelationTestCase.test_object_relation..W)cdrNrr:rr Wrs%I Drrrrez%s.bz%s.dz%s.__dict__['e']ceZdZgZdS)0RelationTestCase.test_object_relation..RN)r7r8r9rvarr:rr RrDDDrrceZdZgZdS)0RelationTestCase.test_object_relation..SN)r7r8r9svarr:rr Srrrrz%s.__dict__['c']z%s->ob_type.__dict__['svar']z)%s->ob_type.__bases__[0].__dict__['rvar']z'%s->ob_type.__mro__[1].__dict__['rvar']z*%s->ob_type.__base__.__dict__['__slots__'])rorFrr$r) assertRaisesAttributeErrorr0rrprrrrr)r rnrFrrurrvrwrrrrs @r test_object_relationz%RelationTestCase.test_object_relations ! ! ! ! ! ! ! ! ACC   Aq-((( 3$$$ .*<*<*<*<===         ACC Q1222 Aq&!!!  Aq&!!! Aqz=111         ACC :&&&         ACC :sCc3??? QV$$$ QV$$$ QV$$$ QV$$$ Q/000             1    ACC :sC555 QV$$$ QV$$$ Q/000 Q >??? Q!L!J!L M M M Q A C C C C Crcddl} d}|n(#t$r|\}}}YnwxYw||dddS)Nrcddz dS)Nrrr:r:rr gz3RelationTestCase.test_traceback_relation..g s!rtb_nexttb_frame)sysZeroDivisionErrorexc_infor))r rrtypevalue tracebacks r test_traceback_relationz(RelationTestCase.test_traceback_relations{  4    ACCCC  4 4 4%(\\^^ "D% 4  9j99999s "99cd}d}ttdd}|||f}|||d|||d|||ddSrrrs r test_tuple_relationz$RelationTestCase.test_tuple_relationrrcd}t}|f}ddi}t|||}|||jd|||jd||ddddS) Nrnrrz%s.__dict__['a']z%s.__dict__['__slots__']__mro____base__ __bases__)rorr0rFrr))r namebasebasesdictrns r test_type_relationz#RelationTestCase.test_type_relationsZ( ud # # Q/000 Q %?@@@ 9j+>>>>>rN)r7r8r9rBrZrjrqrrrrrrrrrrrrr:rr r<r<4sEEE&&&(HHH"'''FFFB555$$$000::: G G G:::FCFCFCP:::$$$ ? ? ? ? ?rr<c eZdZdZdZdZdS) RootTestCasec ddl}ddl}|jj}t |||j}|t|dz|ju| |dt |||j }|t|dz|j u| |dt |||j }|t|dz|j u| |ddD]Q}d|z}t ||t||}| |d|zR d dz dS#t$r| \}}} |jd krJt |||}|t|dz|nhd D]e}t ||t|}|t|dzt|fd} | j} | jr| j} | d z } | jt ||| }||d t ||| j}|t|dz| j||d | zYdSwxYw)Nrrootz %s.i0_modules %s.i0_sysdictz%s.i0_builtins)codec_search_pathcodec_search_cachecodec_error_registryzi0_%sz%%s.%srrL)exc_type exc_value exc_traceback_f0z_f%d)rbuiltinsViewrrrmodulesrevalrrpr&rrrWasisrrur) r rrrr"rr(rrrlevelrs r test_1zRootTestCase.test_1.s> y~$--ck2233 S6\**ck9::: #'''$--cl3344 S6\**cl:;;; #'''$--h&78899 S6\**h.??@@@ #'(((U , ,DT>DdmmD'$*=*=>>??C IIc8d? + + + + : aCCCC  : : :14 .Hi7**$--i8899 $sV|,,i8888D>>DdmmD$t**==>>CIId3<00$t**==== E!*E,   , dmmD%0011C OOCLL// 0 0 0dmmD-*@AABBC IId3<((-*@ A A A OOCLL%88 9 9 9 9 9 91 :s(F//G M?>M?c ddl}n #t$rtdYdSwxYw|jj}d}d|_|||f|js |j|j}t| ||}| t|dz|d|_|js |jd}d|_|||f|js |jdSdS)Nr%threading not enabled - skipping testcddl} ddz dS#t$r@|\}}}||_d|_|jr |jd|_YdSwxYw)Nrr)rrrrsync)r rrrrs r taskz&RootTestCase.test_thread..taskms JJJ !$   58\\^^2)]!* ii  s AAArc<|d|_dSNr)rrr s r rz&RootTestCase.test_thread..tasks KKMMMDIIIr) _thread ImportErrorrrrrstart_new_threadrrrrr)r r rrrr"s r test_threadzRootTestCase.test_threaddsV  NNNN    9 : : : FF y~      w///)  ) N $--i0011 $sV|$$i000 )  )       w///)  )     s $$c0ddl}|jdkrtddS ddl}n #t$rtdYdSwxYwd}d|_|jj|d|i}|j j }ddl}|j }t| ||}||d|js |jt| ||j}||dd|_dS) Nr)rE z/multi-interpreter not supported past Python 3.9rzimport sys import _thread import time def task(): time.sleep(1) self.sysdict = sys.__dict__ self.sync = 1 while self.sync: pass _thread.start_new_thread(task, ()) r rz %s.i1_sysdict)rrWrr r rr r interpreterrrrprrrsysdict)r rr  import_remotethidrrr"s r test_secondary_interpreterz'RootTestCase.test_secondary_interpreters;  v % % C D D D F  NNNN    9 : : : FF  " z ,,]VTNKKy~ ,$--g..// #''')  ) $--dl3344 #''' s'AAN)r7r8r9rr rr:rr rr-sC4:4:4:l&&&P-----rrc@eZdZdZd dZdZdZdZdZdZ d Z dS) PathTestCasecPg}g}t|D]}||g|g|z}t|dz D]\}g}t|D]F}g}||t|D]} ||| G|}]|} | |fSr)rdr) r widthlengthrlsrxsjyskrs r makegraphzPathTestCase.makegraphs u  A IIse    UU]vax  AB5\\ % % " u%%AIIbe$$$$%BBCxrNcf|||\}}||||dSr)rr0)r rrr.rrs r chkgraphzPathTestCase.chkgraphs5>>%00S S#v&&&&&rcd}||g|d|g|g|d|||g|d||dg||dgg|d||dg|dgg|d|dd\}}|ddd|ddd |ddddg|d dgd dS) Nrrrz['%s[0]', '%s[1]']rz['%s[0][0]', '%s[1][0]']r%s[0][0]rE) r#%s[0][1]z%s[0][2]%s[1][0]%s[1][1]z%s[1][2]z%s[2][0]z%s[2][1]z%s[2][2])r0rr )r rrs r test_pathzPathTestCase.test_paths6 cUC))) b#YW--- c3Z&:;;; sAhc1X.W=== sAha)30JKKK>>!Q''S aG$$$ aJ''' aWg./// aEEE F F F F FrcdD]R\}}|||\}}|||}||j||zSdS)N))r"r)rE)rEr))rS)rr+rnumpathsr rrrrps r test_numpathszPathTestCase.test_numpathssfA 1 1OUF~~eV44HC S#&&A IIaj%- 0 0 0 0 1 1rc B|dd\}}|||}t|}g}|D]$}|t |%|||gdd}d}d} |||\}}|||}t|}t| D]Z}t|} t | } t||\} } || dd|dz zzd| | fzz[|}|||\}}||d <|||}t|}t| D]Z}t|} t | } t||\} } || d d|d z zzd| | fzz[|dz }|| ||j |z fD]W}t|D]E\}} t | } || dd |d z z|d z zzd ||z |zzzFXd}d}|}|||D]k} t | } t||\} } || d d|d z zzd| | fzz|| j ||d z }l|||dS)Nr")r#r$r%r&rM r*%s[0]z[%d][%d]rrrE[%d]r) rr+iterrrrerrdnextdivmodr+ enumerateindex)r rrr-itssrrrr+pathspdivmodosrc numfromendstartstops r test_iterzPathTestCase.test_iters{>>!Q''S LLc " " !WW   A IIc!ff       "FFFGGG >>%00S LLc " " !WWx I IA88DTBa''HC IIb$ufQh// c3Z0GG H H H H >>%00SA LLc " " !WWx L LA88DTBa''HC IIb'%"22:c 3JJ K K K KQY 66:+&&qz*/D(E(EF D DB$R== D D4YY "dFeAg$6!!8$%%%+uZ/?/A%BCDDDD D FF5$''  DTBa''HC IIb'%"22:c 3JJ K K K IIdj! $ $ $ FAA !Trcd}d}|||\}}|||}d|_|t |dd|_|t |ddS)NrMrz. 0: Src[0][0][0][0] <... 14640 more paths ...>r"B 0: Src[0][0][0][0] 1: Src[0][0][0][1] <... 14639 more paths ...>)rr+maxpathsrrr,s r test_strzPathTestCase.test_str1s>>%00S LLc " "  #a&&KLLL  FFZ \ \ \ \ \rcHddlm}|}||j_d}d}|||\}}|||}d|_|t|d|t|j ddS)Nr)StringIOrMrGr"rHzB 2: Src[0][0][0][2] 3: Src[0][0][0][3] <... 14637 more paths ...>) iorLr outputrr+rIrrmore)r rLrNrrrrr-s r test_printingzPathTestCase.test_printing=s! >>%00S LLc " "  #a&&    #af++      rcd}d}|||\}}|||||z|j|t ddd|zz|t  dd|zz|t |dz dd|dz zzd|dz zz|t |dd|dz zzd z|t |dzdd|dz zzd z|t dz dd|dz z|zz|t d dd|dz z|zz|t fd |t fd dS)NrE(rr1r2rr3r"z[1][0]z[1][1]rcSrr:npr-sr rtz-PathTestCase.test_subscript..`s aerc dz Srr:rTsr rtz-PathTestCase.test_subscript..asaAhr)rr+rr+rr IndexError)r rrrrrUr-s @@r test_subscriptzPathTestCase.test_subscriptPs>>%00S LLc " " F] "aj!!! #ad))T%,./// #af++tE&L0111 #aaj//4vax(8#86U1W;M#MNNN #ah--eVAX&6!6!ABBB #aaj//4vax(8#88#CDDD #a1g,,fa&8&%@ @AAA #ae**dFeAg$6#>>??? *mmmmm444 *&6&6&6&6&677777rr) r7r8r9rr r'r.rErJrPrXr:rr rrs4''''FFF"111 ===~ \ \ \&88888rrceZdZdZdS) MultiTestCasecd|jggg}|dddz}fd|D}|j||}|t |d|j||dd}|t |ddS)Nr"c&g|] }|Sr:r:).0rhr3s r z)MultiTestCase.test_pp..js!###!ss1vv###rzI--- Dst[0] --- 0: Src[0] 1: Src[2] --- Dst[1] --- 0: Src[1] 1: Src[3]AB)srcnamedstnamez=--- B[0] --- 0: A[0] 1: A[2] --- B[1] --- 0: A[1] 1: A[3])r3r shpgraphrr)r rrr-r3s @r test_ppzMultiTestCase.test_ppesh2hc#aaa&(mm####s### I  sC ( ( #a&&    I  sCc  B B #a&&      rN)r7r8r9rdr:rr rZrZds#     rrZceZdZdZdS) AvoidTestCasec dg}|}tdD];}d|zg}d|z|g}|||||}<|}|||}gdfdgdfdgd fd gd fddgd fdd gd fdd gdfgddfgddff D]\}} | dz} ||||j|} |t | | |j|} |t | | |j|} |t | | |dd } |t | ddS)NrrEzb%dzc%dz %s[1][1][1]rz%s[2][1][1][1]rz%s[1][2][1][1]r"z%s[1][1][2][1]z%s[2][1][2][1][1]z%s[1][2][1][2][1]z%s[2][1][1][2][1])rrr"z%s[2][1][2][1][2][1])r"rrz 0: Src) avoid_edgesz 0: Src[2][1][2][1][1])rdrr+edges_atrrcopy_but_avoid_edges_at_levelsavoided) r rrFrrrrr-avoidresultqs r rzAvoidTestCase.test_1~s g q  A AAA HHQKKK HHQKKKAA LLc " " &S( )S( )S( )V+ ,V+ ,V+ , YY. / YY. /   & &ME6i'F S#:1:u3E FFA IIc!fff % % %00%8A IIc!fff % % % 5!A IIc!fff % % % % IIaLL  # # #a&&233333rN)r7r8r9rr:rr rfrf}s#+4+4+4+4+4rrfc2eZdZdZdZdZdZdZdZdS) NewTestCasect ddl}|jj}|j}||j}t |j|t |jd|t t|j|t t|j|g}|ggg}|| ||}t ||| |t || |||g}|g}|g}t ||| |||Gdd}Gdd|t} | } || _ t || || ||jjj} d} t#| jdd| _t#| jd d| _| | _|} || |||}t ||t t|||D] }| |jz } || |||| || ||}t t/||t t|||} t1|D]5\}}| |jz } ||j||j6|| || |t3|}t5|}d|_t5|}|t/|t/||||| krC||d d |jdS||d d |jdS) NrfileceZdZdS)NewTestCase.test_1..CNrr:rr CrurrrvceZdZdZdS)NewTestCase.test_1..OrNrr:rr OrxsIIIrrycdS)Nz
r:rs r str_addressz'NewTestCase.test_1..str_addresss;;r_idpart_header_idpart_sortrendera\ 0: hpy().Root.i0_sysdict 0: Src.i0_modules['sys'].__dict__ 0: hpy().Root.i0_sysdict 0: hpy().Root.i0_sysdict 0: Src[0][0][0] 0: Src[0][0][0] 0: Src[0] 0: Src.x 0: <1 list:
*1>[0] 0: <1 list:
*1>[0] 0: <1 list:
*1>[0] 1: <1 __main__.O:
>.x 0: <1 list:
*1>[0] 1: <1 __main__.O:
>.x __main__a\ 0: hpy().Root.i0_sysdict 0: Src.i0_modules['sys'].__dict__ 0: hpy().Root.i0_sysdict 0: hpy().Root.i0_sysdict 0: Src[0][0][0] 0: Src[0][0][0] 0: Src[0] 0: Src.x 0: <1 list:
*1>[0] 0: <1 list:
*1>[0] 0: <1 __main__.O:
>.x 1: <1 list:
*1>[0] 0: <1 __main__.O:
>.x 1: <1 list:
*1>[0] ) rpythonrMrLr3rprr+rkreprr4rrorhr UniSet summary_strr&r{r|r}rrrr9r6risatend getsizeofgetvaluereplacer8)r ror3rhr~r>rrvryobrr{rshpr-rr;rFrs r rzNewTestCase.test_1s KN # # % %h C   aia     ai""++++ d19ooA&&&& d19ooA&&&& cUG SVV  A ' ' bq   cc!ff  Q((q1111  C C cc!Qii##CCFF++!4444              6   QSS cc!ff  R))2222j'3 ...%,  #%5t&=&= ")0  #%94*A*A &"-  CEEc!ff  Q++ c d3iia      AAE AA !SSVVc!ff  RA// c#hhQ d3iia    CEEcNN ) )DAqAE A IIaeSVZ ( ( ( ( !SSQZZ   #YY HH HH #a&&#a&&!!! ==  cmmB// / / IIajjll% GJ(( * * * * *" IIajjll% GJ(( * * * * *rc Z|jj}|j}g}|gdz}t t |||||t t ||||j|||||}t t |j||| ddS)Nr*rrav 0: Src[0] 1: Src[1] 2: Src[2] 3: Src[3] 4: Src[4] 5: Src[5] 6: Src[6] 7: Src[7] 8: Src[8] 9: Src[9] <... 10 more paths ...> 10: Src[10] 11: Src[11] 12: Src[12] 13: Src[13] 14: Src[14] 15: Src[15] 16: Src[16] 17: Src[17] 18: Src[18] 19: Src[19] 10: Src[10] 11: Src[11] 12: Src[12] 13: Src[13] 14: Src[14] 15: Src[15] 16: Src[16] 17: Src[17] 18: Src[18] 19: Src[19] ) rrMrLr3rrr4rOrr)r rr3rrr-s r test_2zNewTestCase.test_2.s KN # # % %heBh d33s88''C1122;;;; d33s88''C11677a@@@@ CHH S * * d16ll#### !**,, !     rc |j}g}|tt|||dkdS)Nr)r3rr-rr4)r r3rs r test_emptyzNewTestCase.test_empty_sWh DS!5!5ccee!>!CDDDDDrc|j}g}||j}~|dt|dvg}|g}||||}||d<||}||}|||jdkg}|g}||}||}|||j||fGdd}|}||j }|j}t|~|j} |t|  d~~ g}|gggg}||} ||} | | }|t|d| |||_ |t| | d|t|jd||jjj|dS)NEdgesrceZdZdS)NewTestCase.test_3..CNrr:rr rvrrrrvz 0: Src[0][0][0][0]z)r3r+rrrkr4r+rsetsrprstripr_XX_rOrtop) r r3rrrrvrcdr-rnrrs r test_3zNewTestCase.test_3esthc#hh  s3;;q>>':'::;;;ec#hh""33s88,,Ac#hhc#hh ,,5:;;;ec#hhc#hh #//#&&+c3Z888         ACC S__ J Q J $q''--//2&&& q yk CHH CHH MM!   #a&&/000 1  #ammA&&'')>??? #af++0111 !&*.!$$$$$rc:|j}|jj}g}|gdz}||||}t t ||||ddS)NrMrrzz 0: Src[0] 1: Src[1] 2: Src[2] 3: Src[3] 4: Src[4] 5: Src[5] 6: Src[6] 7: Src[7] 8: Src[8] 9: Src[9] 10: Src[10] ) r3rrMrLr4rrrr)r r3rrrrs r test_4zNewTestCase.test_4sh KN # # % %ebjc#hh""33s88,, c#hhQ !**,, !     rc.|j}g}|||||d}t||||t|t|i}t|dS)N)rr)r3r4rro)r r3rrs r test_comparisonzNewTestCase.test_comparisonshc#hh""333C'8'8#9#9:: Cc#hh""33#vxx'E#F#FGG CrN) r7r8r9rrrrrrr:rr rprpsz***B///bEEE E%E%E%N4     rrpc0tj||dSr)r run_unittest)casedebugs r run_testrs u%%%%%rctt|tt|tt|tt|tt |tt |dSr)rrpr<rrrZrf)rs r test_mainrsi [%    u%%% \5!!! \5!!! ]E""" ]E"""""rr~)r)guppy.heapy.testrr|rrr<rrrZrfrprrr7r:rr rs$$$$$$+3+3+3+3+3w+3+3+3\s?s?s?s?s?xs?s?s?rLLLLL8LLL^e8e8e8e8e88e8e8e8P     H   2,4,4,4,4,4H,4,4,4^eeeee(eeeP &&&&#### z IKKKKKr