
    /hhB                        S SK r S SKrS SKJr  S SKJr  \R                  " SS/S9r\R                  " SS/S9r " S S	\	5      r
 " S
 S5      r " S S\\R                  5      r " S S\\R                  5      r " S S5      r " S S\\R                  5      r " S S\\R                  5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S\\R                  5      r " S  S!\\R                  5      r " S" S#5      r " S$ S%\\R                  5      r " S& S'\\R                  5      r\S(:X  a  \R8                  " 5         gg))    N)import_helper)UserListbisect_bisect)blocked)freshc                   ,    \ rS rSrS rS rS rS rSrg)Range
   c                 *    Xl         X l        S U l        g N)startstoplast_insert)selfr   r   s      9/opt/python-3.13.8/usr/lib/python3.13/test/test_bisect.py__init__Range.__init__   s    
	    c                 4    U R                   U R                  -
  $ r   )r   r   r   s    r   __len__Range.__len__   s    yy4::%%r   c                     U R                   U R                  -
  nUS:  a  X-  nX:  a  [        U5      eU R                  U-   $ )Nr   )r   r   
IndexError)r   idxns      r   __getitem__Range.__getitem__   s@    II

"7HC8S/!zzCr   c                     X4U l         g r   )r   )r   r   items      r   insertRange.insert   s    9r   )r   r   r   N)	__name__
__module____qualname____firstlineno__r   r   r   r"   __static_attributes__ r   r   r
   r
   
   s     
& %r   r
   c                   l    \ rS rSrS rS rS rS rS rSS jr	S r
S	 rS
 rS rS rS rS rS rSrg)
TestBisect    c                    / U R                   R                  / SS4PU R                   R                  S/SS4PU R                   R                  S/SS4PU R                   R                  S/SS4PU R                   R                  SS/SS4PU R                   R                  SS/SS4PU R                   R                  SS/SS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  SS/SS4PU R                   R                  SS/SS4PU R                   R                  SS/SS4PU R                   R                  SS/SS4PU R                   R                  SS/SS4PU R                   R                  / S	QSS4PU R                   R                  / S	QSS4PU R                   R                  / S	QSS4PU R                   R                  / S	QSS4PU R                   R                  / S	QSS4PU R                   R                  / S
QSS4PU R                   R                  / S
QSS4PU R                   R                  / S
QSS4PU R                   R                  / S
QSS4PU R                   R                  / S
QSS4PU R                   R                  / S
QSS4PU R                   R                  / S
QSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SS4PU R                   R                  S/SS4PU R                   R                  S/SS4PU R                   R                  S/SS4PU R                   R                  SS/SS4PU R                   R                  SS/SS4PU R                   R                  SS/SS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  SS/SS4PU R                   R                  SS/SS4PU R                   R                  SS/SS4PU R                   R                  SS/SS4PU R                   R                  SS/SS4PU R                   R                  / S	QSS4PU R                   R                  / S	QSS4PU R                   R                  / S	QSS4PU R                   R                  / S	QSS4PU R                   R                  / S	QSS4PU R                   R                  / S
QSS4PU R                   R                  / S
QSS4PU R                   R                  / S
QSS4PU R                   R                  / S
QSS4PU R                   R                  / S
QSS4PU R                   R                  / S
QSS4PU R                   R                  / S
QSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU R                   R                  / SQSS4PU l        g )N   r      )r.   r.   r.      )r.   r.   r.   r.      g      ?)r.   r.   r/   r/   r.   r/   r0   g      @)
r.   r/   r/   r0   r0   r0   r1   r1   r1   r1      g      @r      )modulebisect_rightbisect_leftprecomputedCasesr   s    r   setUpTestBisect.setUp!   s	   P!
[[%%r1a0P!
[[%%sAq1P!
 [[%%sAq1P!
 [[%%sAq1	P!

 [[%%1vq!4P!
 [[%%1vq!4P!
 [[%%1vq!4P!
 [[%%y!Q7P!
 [[%%y!Q7P!
 [[%%y!Q7P!
 [[%%|Q:P!
 [[%%|Q:P!
 [[%%|Q:P!
 [[%%1vq!4P!
 [[%%1vq!4P!
  [[%%1vsA6!P!
" [[%%1vq!4#P!
$ [[%%1vq!4%P!
& [[%%|Q:'P!
( [[%%|Q:)P!
* [[%%|S!<+P!
, [[%%|Q:-P!
. [[%%|Q:/P!
0 [[%%y!Q71P!
2 [[%%y!Q73P!
4 [[%%y#q95P!
6 [[%%y!Q77P!
8 [[%%y#q99P!
: [[%%y!Q7;P!
< [[%%y!Q7=P!
> [[%%'Eq!L?P!
@ [[%%'Eq!LAP!
B [[%%'EsANCP!
D [[%%'Eq!LEP!
F [[%%'EsANGP!
H [[%%'Eq!LIP!
J [[%%'EsANKP!
L [[%%'Eq"MMP!
N [[%%'Eq"MOP!
R [[$$b!Q/SP!
T [[$$qc1a0UP!
V [[$$qc1a0WP!
X [[$$qc1a0YP!
Z [[$$q!fa3[P!
\ [[$$q!fa3]P!
^ [[$$q!fa3_P!
` [[$$iA6aP!
b [[$$iA6cP!
d [[$$iA6eP!
f [[$$lAq9gP!
h [[$$lAq9iP!
j [[$$lAq9kP!
l [[$$q!fa3mP!
n [[$$q!fa3oP!
p [[$$q!fc15qP!
r [[$$q!fa3sP!
t [[$$q!fa3uP!
v [[$$lAq9wP!
x [[$$lAq9yP!
z [[$$lC;{P!
| [[$$lAq9}P!
~ [[$$lAq9P!
@ [[$$iA6AP!
B [[$$iA6CP!
D [[$$ia8EP!
F [[$$iA6GP!
H [[$$ia8IP!
J [[$$iA6KP!
L [[$$iA6MP!
N [[$$&DaKOP!
P [[$$&DaKQP!
R [[$$&Dc1MSP!
T [[$$&DaKUP!
V [[$$&Dc1MWP!
X [[$$&DaKYP!
Z [[$$&Dc1M[P!
\ [[$$&DaK]P!
^ [[$$&DaL_P!
r   c                     U R                    H@  u  pp4U R                  U" X#5      U5        U R                  U" [        U5      U5      U5        MB     g r   )r8   assertEqualr   )r   funcdataelemexpecteds        r   test_precomputedTestBisect.test_precomputedt   sH    *.*?*?&DT$-x8T(4.$7B +@r   c                 L   U R                   nU R                  [        UR                  / SQSSS5        U R                  [        UR                  / SQSSS5        U R                  [        UR
                  / SQSSS5        U R                  [        UR                  / SQSSS5        g )Nr2   r4   r0   )r5   assertRaises
ValueErrorr7   r6   insort_leftinsort_right)r   mods     r   test_negative_loTestBisect.test_negative_loy   s    kk*cooy!RK*c&6&6	1b!L*cooy!RK*c&6&6	1b!Lr   c                    U R                   n[        R                  n[        US-
  5      nU R	                  UR                  X2S-
  5      US-
  5        U R	                  UR                  X2S-
  5      US-
  5        U R	                  UR                  X2S-
  US-
  U5      US-
  5        U R	                  UR                  X2S-
  US-
  U5      US-
  5        g )Nr.   r0   r/   r   )r5   sysmaxsizeranger<   r7   r6   )r   rI   r   r>   s       r   test_large_rangeTestBisect.test_large_range   s    kkKKQqSzs3QqS9))$!4ac:sAbD!<acB))$!QrT1=qsCr   c                    U R                   n[        R                  n[        SUS-
  5      nU R	                  UR                  X2S-
  5      US-
  5        U R	                  UR                  X2S-
  5      US-
  5        U R	                  UR                  X2S-
  US-
  U5      US-
  5        U R	                  UR                  X2S-
  US-
  U5      US-
  5        US-
  nUR                  X4US-
  US-   5        U R	                  UR                  XD45        US-
  nUR                  X4US-
  US-   5        U R	                  UR                  US-   U45        g )	Nr   r.   r0   r/   r   d   2      )
r5   rM   rN   r
   r<   r7   r6   rG   r   rH   )r   rI   r   r>   xs        r   test_large_pyrangeTestBisect.test_large_pyrange   s5   kkKKQ!}s3QqS9))$!4ac:sAbD!<acB))$!QrT1=qsCGRR0))A62G!b&!b&1))AE1:6r   c           	      >   SSK Jn  [        U5       GH  n[        U5       Vs/ s H  oB" SUS5      PM     nnUR                  5         U" SUS-   5      nU R                  R                  XV5      nU[        U5      :  a  U R                  XeU   :*  5        US:  a  U R                  XWS-
     U:  5        U R                  R                  XV5      nU[        U5      :  a  U R                  XeU   :  5        US:  d  M  U R                  XWS-
     U:*  5        GM     g s  snf )Nr   )	randranger/   rD   r.   )	randomrZ   rO   sortr5   r7   len
assertTruer6   )r   r   rZ   ijr>   r?   ips           r   test_randomTestBisect.test_random   s    $qA05a91IaA&D9IIKR1%D((4BCI~R 01AvT
T 12))$5BCI~Bx0AvT
d 23 9s   Dc                     U R                    GH}  u  pp4[        S5       GHf  n[        [        U5      U5      n[        SS5       GH<  n[        [        U5      U5      nU" X#XV5      nU R	                  XWs=:*  =(       a    U:*  Os  5        XR
                  R                  L a  Xv:  a  U R	                  X2U   :*  5        XR
                  R                  L a  Xu:  a  U R	                  X'S-
     U:  5        XR
                  R                  L a  Xv:  a  U R	                  X2U   :  5        XR
                  R                  L a  Xu:  a  U R	                  X'S-
     U:*  5        U R                  U[        U[        Xd5      5      5        GM?     GMi     GM     g )Nr1   r0      r.   )
r8   rO   minr]   r^   r5   r7   r6   r<   max)r   r=   r>   r?   r@   lohira   s           r   test_optionalSlicingTestBisect.test_optionalSlicing   s5   *.*?*?&DAhTB'!*BSY+Bd"1BOOBNNN3{{66627R(89{{66627T
T(9:{{777BGBx8{{777BGT
d(:;$$RRR1B)CD %  +@r   c                 x    U R                  U R                  R                  U R                  R                  5        g r   )r<   r5   r   r6   r   s    r   test_backcompatibility!TestBisect.test_backcompatibility   &    ++T[[-E-EFr   c           	         / SQnU R                  U R                  R                  USSSS9S5        U R                  U R                  R                  USSSS9S5        U R                  U R                  R	                  USSSS9S5        U R                  R                  USSSS9  U R                  R                  USSSS9  U R                  R                  USSSS9  U R                  U/ SQ5        g )N)r         (   rT      r.   r0   )arV   rh   ri   r/   )r   rq   rt   rt   rt   rr   rs   rT   )r<   r5   r7   r6   r   rG   rH   insort)r   r>   s     r   test_keyword_argsTestBisect.test_keyword_args   s    #0042!0JAN11DB11KQO++dbQ1+EqI$"q9  42! :TRA!4?@r   c           	      `   U R                   n[        n[        / SQUS9n[        [	        X#5      5      nU Ha  nU R                  UR                  X5US9UR                  XE5      5        U R                  UR                  X5US9UR                  XE5      5        Mc     [        R                  n[        SUS9n[        [	        X#5      5      nU Ha  nU R                  UR                  X5US9UR                  XE5      5        U R                  UR                  X5US9UR                  XE5      5        Mc     g )N)r/   r3   re   keyaBcDeEfgHhiIiij)
r5   abssortedlistmapr<   r7   r6   strcasefold)r   rI   keyfuncarrprecomputed_arrrV   s         r   test_lookups_with_key_function)TestBisect.test_lookups_with_key_function   s   kk 'W5s701 AG43   W 5  4 ! ,,&G4s701 AG43   W 5  4 !r   c                 l   SSK Jn  U R                  n[        n[	        [        SS5      5      [	        [        SSS5      5      -   nU" U5        / nU H,  nUR                  XVUS9  U R                  [        XSS9U5        M.     / nU H,  nUR                  XVUS9  U R                  [        XSS9U5        M.     g )	Nr   )shuffler{      irq   r/   r|   )
r[   r   r5   r   r   rO   rG   r<   r   rH   )r   r   rI   r   r>   targetrV   s          r   test_insortTestBisect.test_insort   s    "kk E#rN#d5b!+<&==AOOF7O3v+  AVG4v+ r   c           	          / nSSS.nU R                   R                  U R                   R                  4 H  nU R                  [        X1USS9  M     g )Nr/   r.   )ru   br   r|   )r5   rG   rH   rE   	TypeError)r   rV   yfs       r   test_insort_keynotNone!TestBisect.test_insort_keynotNone  sL    !++))4;;+C+CDAiq< Er   c                 .    " S S5      n[        S5       Vs/ s H
  o!" U5      PM     nnU R                  R                  X1" S5      5      nU R                  R                  X1" S5      5      nU R	                  US5        U R	                  US5        g s  snf )Nc                        \ rS rSrS rS rSrg).TestBisect.test_lt_returns_non_bool.<locals>.Ai  c                     Xl         g r   valr   r   s     r   r   7TestBisect.test_lt_returns_non_bool.<locals>.A.__init__      r   c                 >    U R                   UR                   :  a  S$ S$ )Nnonempty r   r   others     r   __lt__5TestBisect.test_lt_returns_non_bool.<locals>.A.__lt__  s    %)XX		%9zArAr   r   N)r$   r%   r&   r'   r   r   r(   r)   r   r   Ar     s    Br   r   rS   !   "   rO   r5   r7   r6   r<   r   r   r_   r>   i1i2s         r   test_lt_returns_non_bool#TestBisect.test_lt_returns_non_bool
  s    	B 	B $Cj)j!j)[[$$T1R51[[%%dAbE2R R 	 *   Bc                 .    " S S5      n[        S5       Vs/ s H
  o!" U5      PM     nnU R                  R                  X1" S5      5      nU R                  R                  X1" S5      5      nU R	                  US5        U R	                  US5        g s  snf )Nc                   &    \ rS rSrS rS rS rSrg)4TestBisect.test_lt_returns_notimplemented.<locals>.Ai  c                     Xl         g r   r   r   s     r   r   =TestBisect.test_lt_returns_notimplemented.<locals>.A.__init__  r   r   c                     [         $ r   )NotImplementedr   s     r   r   ;TestBisect.test_lt_returns_notimplemented.<locals>.A.__lt__  s    %%r   c                 4    U R                   UR                   :  $ r   r   r   s     r   __gt__;TestBisect.test_lt_returns_notimplemented.<locals>.A.__gt__  s    xx%))++r   r   N)r$   r%   r&   r'   r   r   r   r(   r)   r   r   r   r     s    &,r   r   rS   rs   )   r   r   s         r   test_lt_returns_notimplemented)TestBisect.test_lt_returns_notimplemented  s    	, 	, $Cj)j!j)[[$$T1R51[[%%dAbE2R R 	 *r   )r8   N)rt   )r$   r%   r&   r'   r9   rA   rJ   rP   rW   rb   rj   rm   rw   r   r   r   r   r   r(   r)   r   r   r+   r+       sQ    Q
fC
MD7 4"E$GAB0=!!r   r+   c                       \ rS rSr\rSrg)TestBisectPythoni&  r)   Nr$   r%   r&   r'   	py_bisectr5   r(   r)   r   r   r   r   &      Fr   r   c                       \ rS rSr\rSrg)TestBisectCi)  r)   Nr$   r%   r&   r'   c_bisectr5   r(   r)   r   r   r   r   )      Fr   r   c                   *    \ rS rSrSS jrS rS rSrg)
TestInsorti.  c                 &   SSK Jn  [        5       [        5       4 Hs  n[	        U5       HF  nU" S5      nUS;   a  U R
                  R                  nOU R
                  R                  nU" X55        MH     U R                  [        U5      U5        Mu     g )Nr   )choice
012345678902468)
r[   r   r   r   rO   r5   rG   rH   r<   r   )r   r   r   insortedr_   digitr   s          r   test_vsBuiltinSortTestInsort.test_vsBuiltinSort/  su    !,H1X|,G#//A00A("  VH-x8 -r   c                 x    U R                  U R                  R                  U R                  R                  5        g r   )r<   r5   rv   rH   r   s    r   rm   !TestInsort.test_backcompatibility;  ro   r   c                      " S S[         5      nU" 5       nU R                  R                  US5        U R                  R                  US5        U R	                  SS/UR
                  5        g )Nc                       \ rS rSr/ rS rSrg))TestInsort.test_listDerived.<locals>.Listi?  c                 :    U R                   R                  X5        g r   )r>   r"   )r   indexr!   s      r   r"   0TestInsort.test_listDerived.<locals>.List.insertA  s    		  -r   r)   N)r$   r%   r&   r'   r>   r"   r(   r)   r   r   Listr   ?  s    D.r   r   r   r4   )r   r5   rG   rH   r<   r>   )r   r   lsts      r   test_listDerivedTestInsort.test_listDerived>  sW    	.4 	.
 fR(  a(!R#((+r   r)   N)i  )r$   r%   r&   r'   r   rm   r   r(   r)   r   r   r   r   .  s    
9G	,r   r   c                       \ rS rSr\rSrg)TestInsortPythoniI  r)   Nr   r)   r   r   r   r   I  r   r   r   c                       \ rS rSr\rSrg)TestInsortCiL  r)   Nr   r)   r   r   r   r   L  r   r   r   c                       \ rS rSrS rSrg)LenOnlyiQ  c                     gNr   r)   r   s    r   r   LenOnly.__len__S      r   r)   N)r$   r%   r&   r'   r   r(   r)   r   r   r   r   Q      r   r   c                       \ rS rSrS rSrg)GetOnlyiV  c                     gr   r)   )r   ndxs     r   r   GetOnly.__getitem__X  r   r   r)   N)r$   r%   r&   r'   r   r(   r)   r   r   r   r   V  r   r   r   c                   .    \ rS rSrS r\r\r\r\r\r	Sr
g)CmpErri[  c                     [         er   )ZeroDivisionErrorr   s     r   r   CmpErr.__lt__]  s    r   r)   N)r$   r%   r&   r'   r   r   __le____ge____eq____ne__r(   r)   r   r   r   r   [  s      FFFFFr   r   c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestErrorHandlingie  c                     U R                   R                  U R                   R                  U R                   R                  U R                   R                  4 H  nU R                  [        USS5        M     g r   r5   r7   r6   rG   rH   rE   r   r   r   s     r   test_non_sequence#TestErrorHandling.test_non_sequencef  sV    ++))4;;+C+C++))4;;+C+CEAiB3Er   c                     U R                   R                  U R                   R                  U R                   R                  U R                   R                  4 H#  nU R                  [        U[        5       S5        M%     g r   )r5   r7   r6   rG   rH   rE   r   r   r   s     r   test_len_onlyTestErrorHandling.test_len_onlyk  X    ++))4;;+C+C++))4;;+C+CEAiGIr:Er   c                     U R                   R                  U R                   R                  U R                   R                  U R                   R                  4 H#  nU R                  [        U[        5       S5        M%     g r   )r5   r7   r6   rG   rH   rE   r   r   r   s     r   test_get_onlyTestErrorHandling.test_get_onlyp  r  r   c                 &   [        5       [        5       [        5       /nU R                  R                  U R                  R                  U R                  R                  U R                  R
                  4 H  nU R                  [        X!S5        M     g r   )r   r5   r7   r6   rG   rH   rE   r   )r   seqr   s      r   test_cmp_errTestErrorHandling.test_cmp_erru  sg    x68,++))4;;+C+C++))4;;+C+CEA/<Er   c                     U R                   R                  U R                   R                  U R                   R                  U R                   R                  4 H  nU R                  [        US5        M     g r   r   r   s     r   test_arg_parsing"TestErrorHandling.test_arg_parsing{  sT    ++))4;;+C+C++))4;;+C+CEAiB/Er   r)   N)
r$   r%   r&   r'   r   r   r  r  r  r(   r)   r   r   r   r   e  s    4
;
;
=0r   r   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  c                        \ rS rSrS rS rSrg)TestDocExamplei  c                 ~   ^  / SQS4U 4S jjnS Vs/ s H
  o!" U5      PM     nnT R                  U/ SQ5        g s  snf )N)<   F   P   Z   FDCBAc                 B   > TR                   R                  X5      nX#   $ r   )r5   r   )scorebreakpointsgradesr_   r   s       r   grade)TestDocExample.test_grades.<locals>.grade  s    "";6A9r   )r   c   M   r  Y   r  rS   )Fr   Cr#  Br   r   )r<   )r   r  r  results   `   r   test_gradesTestDocExample.test_grades  sA    %5g 	 -JJ,I5%,,IJ!DE Ks   :c                 b   / SQnUR                  S S9  U Vs/ s H  o"S   PM	     nnU R                  R                  nU R                  X" US5         S5        U R                  X" US5         S5        U R                  X" US5         S	5        U R                  X" US
5         S5        g s  snf )N)redr4   bluer.   yellowre   blackr   c                     U S   $ )Nr.   r)   )rs    r   <lambda>,TestDocExample.test_colors.<locals>.<lambda>  s    !r   r|   r.   r   r/  r+  r4   r)  re   r-  )r\   r5   r7   r<   )r   r>   r2  keysr7   s        r   test_colorsTestDocExample.test_colors  s    E		n	%"#d!d#kk--k$23\Bk$23[Ak$23Z@k$23]C $s   B,r)   N)r$   r%   r&   r'   r&  r6  r(   r)   r   r   r  r    s    FDr   r  c                       \ rS rSr\rSrg)TestDocExamplePythoni  r)   Nr   r)   r   r   r9  r9    r   r   r9  c                       \ rS rSr\rSrg)TestDocExampleCi  r)   Nr   r)   r   r   r;  r;    r   r   r;  __main__)rM   unittesttest.supportr   collectionsr   import_fresh_moduler   r   objectr
   r+   TestCaser   r   r   r   r   r   r   r   r   r  r  r  r9  r;  r$   mainr)   r   r   <module>rD     sL   
  &   --hL	,,Xi[I%F %,D! D!Lz8#4#4 *h// 
, ,6z8#4#4 *h// 
 
 
 0 06/1B1B *H,=,= 
D D&>8+<+< nh&7&7 
 zMMO r   