
    0hhA                     |   S r SSKrSSKrSSKrSSKJr  SSKJrJr  SSKJ	r	  \R                  " SS/S9r\R                  " SS/S	9r/ S
Qr " S S\5      rS r " S S5      r " S S\\5      r\" \S5       " S S\\5      5       r " S S5      r " S S5      rS r " S S5      r " S S5      r " S S5      r " S  S!5      r " S" S#5      r " S$ S%5      r " S& S'5      rSS(KJr  S) r " S* S+5      r  " S, S-5      r! " S. S/\!\5      r"\" \S5       " S0 S1\!\5      5       r#\$S2:X  a  \RJ                  " 5         gg)3zUnittests for heapq.    N)import_helper)TestCase
skipUnless)
itemgetterheapq_heapq)blocked)fresh)heapifyheappopheappushheappushpopheapreplace_heappop_max_heapreplace_max_heapify_maxc                   8    \ rS rSrS r\" \S5      S 5       rSrg)TestModules   c                 r    [          H-  nU R                  [        [        U5      R                  S5        M/     g )Nr   )
func_namesassertEqualgetattrpy_heapq
__module__selffnames     8/opt/python-3.13.8/usr/lib/python3.13/test/test_heapq.pytest_py_functionsTestModules.test_py_functions   s)    EWXu5@@'J      requires _heapqc                 r    [          H-  nU R                  [        [        U5      R                  S5        M/     g )Nr   )r   r   r   c_heapqr   r   s     r   test_c_functionsTestModules.test_c_functions   s)    EWWe4??J  r"    N)	__name__r   __qualname____firstlineno__r    r   r%   r&   __static_attributes__r(   r"   r   r   r      s&    K *+K ,Kr"   r   c                 t     " S S5      nUR                  [        R                  " [        U" 5       S95        U$ )Nc                       \ rS rSrS rSrg)+load_tests.<locals>.HeapqMergeDocTestFinder&   c                 j    [         R                  " 5       nUR                  [        R                  5      $ N)doctestDocTestFinderfindr   merge)r   argskwargsdtfs       r   r5   0load_tests.<locals>.HeapqMergeDocTestFinder.find'   s#    '')C88HNN++r"   r(   N)r)   r   r*   r+   r5   r,   r(   r"   r   HeapqMergeDocTestFinderr/   &   s    	,r"   r;   )test_finder)addTestsr3   DocTestSuiter   )loadertestsignorer;   s       r   
load_testsrB      s6    , ,
 
NN7''4K4MO PLr"   c                   z    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rSrg)TestHeap/   c                 (   / n/ nU R                  U5        [        S5       HU  n[        R                  " 5       nUR                  U5        U R                  R                  X5        U R                  U5        MW     / nU(       aF  U R                  R                  U5      nU R                  U5        UR                  U5        U(       a  MF  US S  nUR                  5         U R                  Xe5        U R                  U5        U R                  [        U R                  R
                  / 5         U R                  [        U R                  R
                  S S 5        U R                  [        U R                  R                  S 5        g ! [         a     g f = f)N   )check_invariantrangerandomappendmoduler   r   sortr   assertRaises	TypeErrorAttributeError)r   heapdataiitemresultsdata_sorteds          r   test_push_popTestHeap.test_push_pop1   s>   T"sA==?DKKKK  ,  &	 
 ;;&&t,D  &NN4  d 1g.W%)T[[%9%92>	i)=)=tTJi)<)<dC 		s   ,AF 
FFc                 z    [        U5       H,  u  p#U(       d  M  US-
  S-	  nU R                  X   U:*  5        M.     g N   )	enumerate
assertTrue)r   rQ   posrT   	parentposs        r   rH   TestHeap.check_invariantM   s7    "4ICs UqL	4 78 )r"   c                 V   [        [        S5      5      S/-    H]  n[        U5       Vs/ s H  n[        R                  " 5       PM     nnU R                  R	                  U5        U R                  U5        M_     U R                  [        U R                  R                  S 5        g s  snf )N    N  )listrI   rJ   rL   r   rH   rN   rO   )r   sizedummyrQ   s       r   test_heapifyTestHeap.test_heapifyT   s|    rOug-D16t=FMMOD=KK%  & .
 	)T[[%8%8$?	 >s   B&c                 l   [        S5       Vs/ s H  n[        R                  " S5      PM     nn/ nU HJ  nU R                  R	                  X45        [        U5      S:  d  M/  U R                  R                  U5        ML     UR                  5         U R                  U[        U5      SS  5        g s  snf )N    
   )
rI   rJ   	randrangerL   r   lenr   rM   r   sortedr   rS   rR   rQ   rT   s        r   test_naive_nbestTestHeap.test_naive_nbest\   s    05d<1  &<DKK  ,4y2~##D)  			vd|CD12 =s    B1c              #   l   #      U R                   R                  U5      v   M  ! [         a     g f = f7fr2   )rL   r   
IndexErrorr   rQ   s     r   heapiterTestHeap.heapiterf   s8     	kk))$//  		s   4 $ 
1414c                    [        S5       Vs/ s H  n[        R                  " S5      PM     nnUS S nU R                  R	                  U5        USS   H(  nXCS   :  d  M  U R                  R                  X45        M*     U R                  [        U R                  U5      5      [        U5      SS  5        U R                  [        U R                  R
                  S 5        U R                  [        U R                  R
                  S S 5        U R                  [        U R                  R
                  / S 5        g s  snf )Nrj   rk   rl   r   rm   )rI   rJ   rn   rL   r   r   r   rd   rw   rp   rN   rO   ru   rq   s        r   
test_nbestTestHeap.test_nbestn   s     16d<1  &<CRyD!ID1g~''3  	dmmD12F4L4FG)T[[%<%<dC)T[[%<%<dDI*dkk&=&=r4H =s    D;c                    [        S5       Vs/ s H  n[        R                  " S5      PM     nnUS S nU R                  R	                  U5        USS   H  nU R                  R                  X45        M      U R                  [        U R                  U5      5      [        U5      SS  5        U R                  U R                  R                  / S5      S5        g s  snf )Nrj   rk   rl   rm   x)
rI   rJ   rn   rL   r   r   r   rd   rw   rp   rq   s        r   test_nbest_with_pushpop TestHeap.test_nbest_with_pushpop   s    05d<1  &<CRyD!IDKK##D/ dmmD12F4L4FG00S93? =s    Cc                 *   / nU R                   R                  US5      nU R                  X4/ S45        S/nU R                   R                  US5      nU R                  X4S/S45        U R                  [        US   5      [        5        U R                  [        U5      [
        5        S/nU R                   R                  US5      nU R                  X4S/S45        S/nU R                   R                  US5      nU R                  X4S/S45        g )Nrl   g      $@r   	      )rL   r   r   typeintfloat)r   hr}   s      r   test_heappushpopTestHeap.test_heappushpop   s    KK##Ar*!"b*DKK##At,!2$.adS)a%(DKK##Aq)!2$+DKK##Ar*!2$,r"   c                     SS/nU R                  U R                  R                  U5      S5        U R                  U R                  R                  U5      S5        g )N      )r   rL   r   )r   r   s     r   test_heappop_maxTestHeap.test_heappop_max   sK     F11!4a811!4a8r"   c                    [        S5       H  n[        R                  " S5      n[        U5       Vs/ s H  n[        R                  " S5      PM     nnUS-  (       a!  US S  nU R                  R	                  U5        O&/ nU H  nU R                  R                  XV5        M      [        U5       Vs/ s H  o0R                  R                  U5      PM     nnU R                  U[        U5      5        M     g s  snf s  snf )Nd   2      r[   )	rI   rJ   rn   rL   r   r   r   r   rp   )r   trialre   rS   rR   rQ   rT   heap_sorteds           r   test_heapsortTestHeap.test_heapsort   s    3ZE##B'D27+>+QF$$R(+D>qyAw##D) DKK((4 !>CDkJk;;..t4kKJ[&,7  > Ks    C82$C=c                    / n[        [        R                  " S5      5       Hz  n/ n[        [        R                  " S5      5       HA  n[        R                  " S5      [        R                  " SS5      4nUR	                  U5        MC     UR	                  U5        M|     S [        S5      [        S5      [        SS5      4 H  nS H  n/ nU H  n	UR	                  [        XUS	95        M     U R                  [        [        U6 XgS	9[        U R                  R                  " XUS	.65      5        U R                  [        U R                  R                  5       5      / 5        M     M     g )
Nr   r   ABCi  r   r[   )FTkeyreverse)rI   rJ   rn   choicerK   r   rp   r   chainrd   rL   r6   )
r   inputsrS   rowjtupr   r   seqsseqs
             r   
test_mergeTestHeap.test_merge   s"   v''+,AC6++C01mmE*F,<,<T3,GG

3 2 MM# - *Q-A
1a8HIC(!CKKsW EF "  vC!Q!%dkk&7&7PW&X!Y[  dkk&7&7&9!:B? ) Jr"   c           
          U R                  [        U R                  R                  / / 5      5      / 5        U R                  [        U R                  R                  / / S S95      / 5        g )Nc                      g)N   r(   r(   r"   r   <lambda>,TestHeap.test_empty_merges.<locals>.<lambda>   s    Ar"   r   )r   rd   rL   r6   r   s    r   test_empty_mergesTestHeap.test_empty_merges   sU     	dkk//B78"=dkk//BI/FGLr"   c                     S nU R                  [        5         [        U R                  R	                  U" 5       U" 5       5      5        S S S 5        g ! , (       d  f       g = f)Nc               3   d   #    [        [        S5      5      n [        S5       H	  nX   v   M     g 7f)Nrl      )rd   rI   )srS   s     r   iterableCTestHeap.test_merge_does_not_suppress_index_error.<locals>.iterable   s'     U2YA2Yd
 s   .0)rN   ru   rd   rL   r6   )r   r   s     r   (test_merge_does_not_suppress_index_error1TestHeap.test_merge_does_not_suppress_index_error   s@    	 z*""8:xz:; +**s   0A
A c                     " S S[         5      n/ / / / /n[        S5       HR  n[        R                  " S5      n[        R                  " S5      nU" U5      nXT4Ul        X$   R                  U5        MT     U H  nUR                  5         M     U R                  R                  " U6  Vs/ s H  o3R                  PM     nnU R                  U[        U5      5        g s  snf )Nc                       \ rS rSrSrg)*TestHeap.test_merge_stability.<locals>.Int   r(   N)r)   r   r*   r+   r,   r(   r"   r   Intr      s    r"   r   rc      r   )r   rI   rJ   rn   pairrK   rM   rL   r6   r   rp   )r   r   r   rS   streamr}   objresults           r   test_merge_stabilityTestHeap.test_merge_stability   s    	# 	b"b!uA%%a(F  %Aa&C{CHN!!#&  FKKM "&++"3"3V"<="<Q&&"<=0 >s   +Cc                    [        S5       Vs/ s H  n[        R                  " S5      U4PM     nnS S 4 H  nS H  nU R                  [	        U R
                  R                  XB5      5      [        U5      S U 5        U R                  [	        U R
                  R                  XBUS95      [        X#S9S U 5        M     M     g s  snf )Nrj   rk   c                     U S   S-  S-  $ Nr   i#  rk   r(   r}   s    r   r   )TestHeap.test_nsmallest.<locals>.<lambda>       1Q4#:#4r"   	r   r[   r   rl   r   i  i  rj   iL  r   )rI   rJ   rn   r   rd   rL   	nsmallestrp   r   rS   rR   fns        r   test_nsmallestTestHeap.test_nsmallest   s    5:4[A[!!$'+[A45A=  dkk&;&;A&D!E!'bq!13  dkk&;&;A&;&K!L!'!4Ra!8: > 6 B   "Cc                    [        S5       Vs/ s H  n[        R                  " S5      U4PM     nnS S 4 H  nS H  nU R                  [	        U R
                  R                  XB5      5      [        USS9S U 5        U R                  [	        U R
                  R                  XBUS95      [        X#SS9S U 5        M     M     g s  snf )	Nrj   rk   c                     U S   S-  S-  $ r   r(   r   s    r   r   (TestHeap.test_nlargest.<locals>.<lambda>   r   r"   r   Tr   r   r   )rI   rJ   rn   r   rd   rL   nlargestrp   r   s        r   test_nlargestTestHeap.test_nlargest   s    5:4[A[!!$'+[A45A=  dkk&:&:1&C!D!'d!;BQ!?A  dkk&:&:1&:&J!K!'T!B2A!FH > 6 Br   c                   ^  U 4S jn " S S5      n " S S5      n[        S5       Vs/ s H  n[        R                  " 5       PM     nn[        USS9nT R                  U" XR5      U5        T R	                  [
        XS5        g s  snf )	Nc                   > U  Vs/ s H
  o!" U5      PM     n nTR                   R                  U 5        [        [        U 5      5       Vs/ s H(  nTR                   R	                  U 5      R
                  PM*     sn$ s  snf s  snf r2   )rL   r   rI   ro   r   r}   )rR   compr}   rS   r   s       r   hsort0TestHeap.test_comparison_operator.<locals>.hsort   sj    %)*TDGTD*KK%9>s4y9IJ9IADKK''-//9IJJ +Js   A<
/Bc                        \ rS rSrS rS rSrg)-TestHeap.test_comparison_operator.<locals>.LT   c                     Xl         g r2   r   r   r}   s     r   __init__6TestHeap.test_comparison_operator.<locals>.LT.__init__       r"   c                 4    U R                   UR                   :  $ r2   r   r   others     r   __lt__4TestHeap.test_comparison_operator.<locals>.LT.__lt__   s    vv''r"   r   Nr)   r   r*   r+   r   r   r,   r(   r"   r   LTr      s    (r"   r   c                        \ rS rSrS rS rSrg)-TestHeap.test_comparison_operator.<locals>.LErG   c                     Xl         g r2   r   r   s     r   r   6TestHeap.test_comparison_operator.<locals>.LE.__init__  r   r"   c                 4    U R                   UR                   :  $ r2   r   r   s     r   __le__4TestHeap.test_comparison_operator.<locals>.LE.__le__  s    vv((r"   r   N)r)   r   r*   r+   r   r   r,   r(   r"   r   LEr      s    )r"   r   r   Tr   )rI   rJ   rp   r   rN   rO   )r   r   r   r   rS   rR   targets   `      r   test_comparison_operator!TestHeap.test_comparison_operator   sr    	K	( 	(
	) 	)
 */s4A4d+t&1)T. 5s   Br(   N)r)   r   r*   r+   rW   rH   rg   rr   rw   rz   r~   r   r   r   r   r   r   r   r   r   r   r,   r(   r"   r   rD   rD   /   s]    89@3I$@-&98@$M<1:H/r"   rD   c                       \ rS rSr\rSrg)TestHeapPythoni  r(   Nr)   r   r*   r+   r   rL   r,   r(   r"   r   r   r         Fr"   r   r#   c                       \ rS rSr\rSrg)	TestHeapCi  r(   Nr)   r   r*   r+   r%   rL   r,   r(   r"   r   r   r         Fr"   r   c                       \ rS rSrSrS rSrg)LenOnlyi  z:Dummy sequence class defining __len__ but not __getitem__.c                     gNrl   r(   r   s    r   __len__LenOnly.__len__  s    r"   r(   N)r)   r   r*   r+   __doc__r  r,   r(   r"   r   r   r     s
    @r"   r   c                   2    \ rS rSrSrS r\=r=r=r=r	r
Srg)CmpErri  z;Dummy element that always raises an error during comparisonc                     [         er2   )ZeroDivisionErrorr   s     r   __eq__CmpErr.__eq__  s    r"   r(   N)r)   r   r*   r+   r  r
  __ne__r   r   __gt____ge__r,   r(   r"   r   r  r    s#    A 177F7V7f7vr"   r  c              #   &   #    U  H  nUv   M	     g7f)zRegular generatorNr(   seqnrS   s     r   Rr  !  s      s   c                   $    \ rS rSrSrS rS rSrg)Gi&  zSequence using __getitem__c                     Xl         g r2   r  r   r  s     r   r   
G.__init__(  s    	r"   c                      U R                   U   $ r2   r  )r   rS   s     r   __getitem__G.__getitem__*  s    yy|r"   r  N)r)   r   r*   r+   r  r   r  r,   r(   r"   r   r  r  &  s     r"   r  c                   *    \ rS rSrSrS rS rS rSrg)Ii-  z Sequence using iterator protocolc                     Xl         SU l        g Nr   r  r  s     r   r   
I.__init__/      	r"   c                     U $ r2   r(   r   s    r   __iter__
I.__iter__2      r"   c                     U R                   [        U R                  5      :  a  [        eU R                  U R                      nU =R                   S-  sl         U$ rZ   rS   ro   r  StopIterationr   vs     r   __next__
I.__next__4  ?    66S^#=%8IIdff!r"   rS   r  N	r)   r   r*   r+   r  r   r#  r+  r,   r(   r"   r   r  r  -  s    &r"   r  c                   $    \ rS rSrSrS rS rSrg)Igi:  z9Sequence using iterator protocol defined with a generatorc                     Xl         SU l        g r  r  r  s     r   r   Ig.__init__<  r!  r"   c              #   :   #    U R                    H  nUv   M	     g 7fr2   r  )r   vals     r   r#  Ig.__iter__?  s     99CI s   r.  Nr)   r   r*   r+   r  r   r#  r,   r(   r"   r   r1  r1  :  s    ?r"   r1  c                   $    \ rS rSrSrS rS rSrg)XiC  z Missing __getitem__ and __iter__c                     Xl         SU l        g r  r  r  s     r   r   
X.__init__E  r!  r"   c                     U R                   [        U R                  5      :  a  [        eU R                  U R                      nU =R                   S-  sl         U$ rZ   r'  r)  s     r   r+  
X.__next__H  r-  r"   r.  N)r)   r   r*   r+   r  r   r+  r,   r(   r"   r   r9  r9  C  s    &r"   r9  c                   $    \ rS rSrSrS rS rSrg)NiN  zIterator missing __next__()c                     Xl         SU l        g r  r  r  s     r   r   
N.__init__P  r!  r"   c                     U $ r2   r(   r   s    r   r#  
N.__iter__S  r%  r"   r.  Nr7  r(   r"   r   r?  r?  N  s    !r"   r?  c                   *    \ rS rSrSrS rS rS rSrg)EiV  zTest propagation of exceptionsc                     Xl         SU l        g r  r  r  s     r   r   
E.__init__X  r!  r"   c                     U $ r2   r(   r   s    r   r#  
E.__iter__[  r%  r"   c                     SS-    g )Nr   r   r(   r   s    r   r+  
E.__next__]  s	    	Qr"   r.  Nr/  r(   r"   r   rE  rE  V  s    $r"   rE  c                   *    \ rS rSrSrS rS rS rSrg)Si`  zTest immediate stopc                     g r2   r(   r  s     r   r   
S.__init__b  s    r"   c                     U $ r2   r(   r   s    r   r#  
S.__iter__d  r%  r"   c                     [         er2   )r(  r   s    r   r+  
S.__next__f  s    r"   r(   Nr/  r(   r"   r   rM  rM  `  s    r"   rM  )r   c                 d    [        [        S [        [        [	        U 5      5      5      5      5      $ )z Test multiple tiers of iteratorsc                     U $ r2   r(   r   s    r   r   L.<locals>.<lambda>l  s    ar"   )r   mapr  r1  r  r  s    r   LrX  j  s     Z2ag;011r"   c                        \ rS rSrS rS rSrg)SideEffectLTio  c                     Xl         X l        g r2   )valuerQ   )r   r\  rQ   s      r   r   SideEffectLT.__init__p  s    
	r"   c                 R    / U R                   S S & U R                  UR                  :  $ r2   rQ   r\  r   s     r   r   SideEffectLT.__lt__t  s"    		!zzEKK''r"   r_  Nr   r(   r"   r   rZ  rZ  o  s    (r"   rZ  c                   J    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)TestErrorHandlingiy  c                    U R                   R                  U R                   R                  4 H   nU R                  [        [
        4US5        M"     U R                   R                  U R                   R                  U R                   R                  U R                   R                  4 H!  nU R                  [        [
        4USS5        M#     g r  )
rL   r   r   rN   rO   rP   r   r   r   r   r   r   s     r   test_non_sequence#TestErrorHandling.test_non_sequence{  s    ++%%t{{':':;Ay.91bA <++&&(?(?++&&(=(=?Ay.91b"E?r"   c                    U R                   R                  U R                   R                  4 H(  nU R                  [        [
        4U[        5       5        M*     U R                   R                  U R                   R                  4 H)  nU R                  [        [
        4U[        5       S5        M+     U R                   R                  U R                   R                  4 H#  nU R                  [        US[        5       5        M%     g Nrl   r   )rL   r   r   rN   rO   rP   r   r   r   r   r   rd  s     r   test_len_onlyTestErrorHandling.test_len_only  s    ++%%t{{':':;Ay.91giH <++&&(?(?@Ay.91giL A++&&(=(=>AiAwy9 ?r"   c                    [        5       [        5       [        5       /nU R                  R                  U R                  R                  4 H  nU R	                  [
        X!5        M     U R                  R                  U R                  R                  4 H  nU R	                  [
        X!S5        M     U R                  R                  U R                  R                  4 H  nU R	                  [
        USU5        M     g rh  )
r  rL   r   r   rN   r	  r   r   r   r   )r   r   r   s      r   test_cmp_errTestErrorHandling.test_cmp_err  s    x68,++%%t{{':':;A/8 <++&&(?(?@A/< A++&&(=(=>A/As; ?r"   c                 L   U R                   R                  U R                   R                  U R                   R                  U R                   R                  U R                   R
                  U R                   R                  4 H   nU R                  [        [        4US5        M"     g r  )
rL   r   r   r   r   r   r   rN   rO   rP   rd  s     r   test_arg_parsing"TestErrorHandling.test_arg_parsing  sr    ++%%t{{':':++&&(?(?++&&(=(=?A y.91bA?r"   c                    U R                   R                  U R                   R                  4 GH  nSS[        S5      S[        SSS5      4 H  n[        [
        [        [        [        4 H;  nU R                  [        U" SU" U5      5      5      [        U" SU5      5      5        M=     U R                  [        U" S[        U5      5      5      / 5        U R                  [        US[        U5      5        U R                  [        US[        U5      5        U R                  [         US[#        U5      5        M     GM     g )	N123 rj   )r[   g333333?rk   i     r   )rL   r   r   rI   r  r  r1  rX  r  r   rd   rM  rN   rO   r9  r?  r	  rE  )r   r   r   gs       r   test_iterable_args$TestErrorHandling.test_iterable_args  s    ++&&(=(=>ARthd48JKQAq)A$$T!Aqt*%5tAaF|D *  a1Q4j!126!!)Q1Q48!!)Q1Q48!!"3Q1Q4@ L ?r"   c                   ^ / mTR                  U4S j[        S5       5       5        U R                  [        [        45         U R
                  R                  T[        ST5      5        S S S 5        g ! , (       d  f       g = f)Nc              3   <   >#    U  H  n[        UT5      v   M     g 7fr2   rZ  .0rS   rQ   s     r   	<genexpr>@TestErrorHandling.test_heappush_mutating_heap.<locals>.<genexpr>       >:aLD)):      rt  )extendrI   rN   ru   RuntimeErrorrL   r   rZ  rv   s    @r   test_heappush_mutating_heap-TestErrorHandling.test_heappush_mutating_heap  sX    >5:>>
L9:KK  |At'<= ;::s   'A33
Bc                    ^ / mTR                  U4S j[        S5       5       5        U R                  [        [        45         U R
                  R                  T5        S S S 5        g ! , (       d  f       g = f)Nc              3   <   >#    U  H  n[        UT5      v   M     g 7fr2   rz  r{  s     r   r}  ?TestErrorHandling.test_heappop_mutating_heap.<locals>.<genexpr>  r  r  r  )r  rI   rN   ru   r  rL   r   rv   s    @r   test_heappop_mutating_heap,TestErrorHandling.test_heappop_mutating_heap  sO    >5:>>
L9:KK% ;::s   A((
A6c                    ^  " U4S jS[         5      n/ mU R                  R                  TU" S5      5        U R                  [        U R                  R
                  TS5        g )Nc                   "   > \ rS rSrU 4S jrSrg)MTestErrorHandling.test_comparison_operator_modifiying_heap.<locals>.EvilClassi  c                 0   > TR                  5         [        $ r2   clearNotImplemented)r   orQ   s     r   r   TTestErrorHandling.test_comparison_operator_modifiying_heap.<locals>.EvilClass.__lt__  s    

%%r"   r(   Nr)   r   r*   r+   r   r,   )rQ   s   r   	EvilClassr        & &r"   r  r   r[   )r   rL   r   rN   ru   r   )r   r  rQ   s     @r   (test_comparison_operator_modifiying_heap:TestErrorHandling.test_comparison_operator_modifiying_heap  sL    	& 	&
 T9Q<0*dkk&=&=tQGr"   c                   ^^  " U4S jS[         5      n " U4S jS[         5      n/ / smmU R                  R                  TU" S5      5        U R                  R                  TU" S5      5        U R                  [        [
        4U R                  R                  TU" S5      5        U R                  [        [
        4U R                  R                  TU" S5      5        g )Nc                   "   > \ rS rSrU 4S jrSrg)OTestErrorHandling.test_comparison_operator_modifiying_heap_two_heaps.<locals>.hi  c                 0   > TR                  5         [        $ r2   r  )r   r  list2s     r   r   VTestErrorHandling.test_comparison_operator_modifiying_heap_two_heaps.<locals>.h.__lt__      %%r"   r(   Nr  )r  s   r   r   r    r  r"   r   c                   "   > \ rS rSrU 4S jrSrg)OTestErrorHandling.test_comparison_operator_modifiying_heap_two_heaps.<locals>.gi  c                 0   > TR                  5         [        $ r2   r  )r   r  list1s     r   r   VTestErrorHandling.test_comparison_operator_modifiying_heap_two_heaps.<locals>.g.__lt__  r  r"   r(   Nr  )r  s   r   ru  r    r  r"   ru  r   r[   )r   rL   r   rN   ru   r  )r   r   ru  r  r  s      @@r   2test_comparison_operator_modifiying_heap_two_heapsDTestErrorHandling.test_comparison_operator_modifiying_heap_two_heaps  s    	& 	&
	& 	&
 2uUAaD)UAaD):|4dkk6J6JESTUVSWX:|4dkk6J6JESTUVSWXr"   r(   N)r)   r   r*   r+   re  ri  rl  ro  rv  r  r  r  r  r,   r(   r"   r   rb  rb  y  s4    F:<BA>&
HYr"   rb  c                       \ rS rSr\rSrg)TestErrorHandlingPythoni  r(   Nr   r(   r"   r   r  r    r   r"   r  c                       \ rS rSr\rSrg)TestErrorHandlingCi  r(   Nr   r(   r"   r   r  r    r   r"   r  __main__)&r  rJ   unittestr3   test.supportr   r   r   operatorr   import_fresh_moduler   r%   r   r   rB   rD   r   r   r   r  r  r  r  r1  r9  r?  rE  rM  	itertoolsr   rX  rZ  rb  r  r  r)   mainr(   r"   r   <module>r     sl       & ) ,,WxjI

+
+GH:
FB
K( K"Y/ Y/xXx  G&'(  ( 
8 8
   	 	    2
( (XY XYt/  G&'*H  ( zMMO r"   