
    ;e                        	 d dl mZ d dlmZmZmZmZ d dlZd dlZd dl	Z	dZ
dZdZe	j        dk     rdndZ G d	 d
          Z G d dej        e          Z G d dej        e          Z G d dej        e          Z G d dej                  Z G d dej                  Z G d dej                  Zedk    r@ ee	j                  dk    r ej        e	j        d                     ej                     dS dS )    )support)
bigmemtest_1G_2G_4GN         l           c                      e Zd Zd Z eedz   d          d             Z eed          d             Z eed          d             Z eedz   d          d	             Z	 eed          d
             Z
 eed          d             Z eed          d             Z eed          d             Z eed          d             Z eed          d             Z eed          d             Z eed          d             Z eed          d             Z eed          d             Z eedz   d          d             Z eedz   d          d             Z eedz   d          d             Z eedz   d          d             Z eed          d             Z eed          d             Z eedz   d          d             Z eedz   d          d             Z eed          d             Z eedz   edz  ez             d             Z eed          d              Z  eed          d!             Z! eed          d"             Z"d# Z#d$ Z$ eed          d%             Z% eedz   d          d&             Z& eed'z   d          d(             Z' ee(dz   d)          d*             Z) ee(dz   d)          d+             Z* eed'z   d          d,             Z+ eed          d-             Z, eedz   d          d.             Z- eedz   d          d/             Z.d0S )1BaseStrTestc                 h   | j         }|                      d          } |d          |z  |z   }|                                }|                     |t          |           d          |                                           |                     |                     |d                    |           d S N abc def ghi-)from_latin1
capitalizeassertEquallenlstrip)selfsize_SUBSTRscapss         '/usr/lib/python3.11/test/test_bigmem.py_test_capitalizezBaseStrTest._test_capitalizeH   s    !!.11AcFFTMF"||~~s6{{lmm,**,,	. 	. 	.QQsVV,,f55555    
   r   r   memusec                    |                      d          }|                    |          }|                     t          |          |           t          |          t          |          z
  dz  x}}t          |          dz  r|dz  }|                     |||          |           |                     |                                |                                           d S )Nr   r	   r   )r   centerr   r   strip)r   r   r   r   lpadsizerpadsizes         r   test_centerzBaseStrTest.test_centerQ   s    !!.11MM$Q&&&"1vvF3998q66A: 	MH8XI-.777FLLNN33333r   r	   c                 b   | j         } |d          } |d          |z  |z   }|                     |                     |d                    |           | |d          z  }|                     |                     |d                    |dz              |                     |                     |d                    d           |                     |                     |d                    d           |                     |                     |d                    d           d S )	Nr   .r       ijr   )r   r   countr   r   r   r   r   s        r   
test_countzBaseStrTest.test_count\   s   >""AcFFTMF"3$///	QQsVV3$(3333!,,,3!,,,3!,,,,,r   c                    | j         } |d          } |d          |z  |z   }|                     |                    |                     |                     |                    |                      |d          |z   }|                     |                    |                     |                     |                     |d          |z                        |                     |                    |                     d S )Nr   r   ...a)r   
assertTrueendswithassertFalse)r   r   r   r   r   s2s         r   test_endswithzBaseStrTest.test_endswithh   s    >""AcFFTMF"

6**+++

1&&&QuXX\A'''AAcFFVO44555++,,,,,r   c           	         | j         } |d          |z  }d}|                     |                                |k               ~t          ||          \  }} |d          |z  }|                    |          }|                     t          |          ||z
             |                     t          |                     |d                              d           d S )Nr   r   z       	r+   r   )r   r5   
expandtabsdivmodr   r   r%   )r   r   r   r   tabsizeslen	remainders          r   test_expandtabszBaseStrTest.test_expandtabst   s    AcFFTM!+,,, w//iAkNNT!LL!!Q	!1222QWWQQsVV__--q11111r   c           	         | j         } |d          }t          |          } |d                              | |d          |z  |g          }|                     |                     |d                    d           |                     |                    |          d           |                     |                     |d          |          ||z              |                     |                    |t          |                    ||z              |                     |                     |d                    |                     |d                               |                     |                     |d          |          ||z   |                     |d                    z              |                     |                     |d          |          ||z   |                     |d                    z              |                     |                     |d                    d           d S 	Nr    r   r+   r   r-   r.   )r   r   joinr   findr   r   r   r   sublenr   s         r   	test_findzBaseStrTest.test_find   s    >""VAbEEJJ#v677#++++++#//$???F44ftmDDD#QQsVV)<)<===#//$QQsVV)<)<<	> 	> 	>#--$QQsVV)<)<<	> 	> 	>#,,,,,r   c           	      b   | j         } |d          }t          |          } |d                              | |d          |z  |g          }|                     |                     |d                    d           |                     |                    |          d           |                     |                     |d          |          ||z              |                     |                    ||          ||z              |                     |                     |d                    |                     |d                               |                     |                     |d          |          ||z   |                     |d                    z              |                     |                     |d          |          ||z   |                     |d                    z              |                     t          |j         |d                     d S )Nr   rC   r   r+   r   r-   r.   )r   r   rE   r   indexassertRaises
ValueErrorrG   s         r   
test_indexzBaseStrTest.test_index   s   >""VAbEEJJ#v6773!,,,!,,,300&4-@@@00&4-@@@3&,,qqvv*>*>???300$aaff)=)==	? 	? 	?3..$aaff)=)==	? 	? 	?*agqqvv66666r   c                    | j         } |d          } |d          |z  |z   }|                     |                                           | |d          z  }|                     |                                           d S )N123456r4   r*   )r   r5   isalnumr7   r0   s        r   test_isalnumzBaseStrTest.test_isalnum   z    8AcFFTMF"		$$$	QQsVV%%%%%r   c                    | j         } |d          } |d          |z  |z   }|                     |                                           | |d          z  }|                     |                                           d S )Nzzzzzzzr4   r*   )r   r5   isalphar7   r0   s        r   test_isalphazBaseStrTest.test_isalpha   sz    9AcFFTMF"		$$$	QQsVV%%%%%r   c                    | j         } |d          } |d          |z  |z   }|                     |                                           | |d          z  }|                     |                                           d S )NrP   9z)r   r5   isdigitr7   r0   s        r   test_isdigitzBaseStrTest.test_isdigit   rS   r   c                 j   | j         } |d                    d t          d          D                                 }|t          |          z  dz   }||z  }|                     |                                           | |d          z  }|                     |                                           d S )NrC   c              3   v   K   | ]4}t          |                                          #t          |          V  5d S N)chrisupper.0cs     r   	<genexpr>z+BaseStrTest.test_islower.<locals>.<genexpr>   Z       @ @c!ffnn.>.>@FF@ @ @ @ @ @r      r	   A)r   rE   ranger   r5   islowerr7   r   r   r   charsrepeatsr   s         r   test_islowerzBaseStrTest.test_islower       "'' @ @!#JJ@ @ @ @ @ A A#e**$q(GO		$$$	QQsVV%%%%%r   c                    | j         } |d          }|t          |          z  dz   }||z  }|                     |                                           | |d          z  }|                     |                                           d S )Nz 
	r	   r.   )r   r   r5   isspacer7   )r   r   r   
whitespacerm   r   s         r   test_isspacezBaseStrTest.test_isspace   s    Q}%%
#j//)A- 		$$$	QQsVV%%%%%r   c                    | j         } |d          } |d                               |d           |d          |z  |g          }|                     |                                           | |d          z  }|                     |                                           | |d          z  }|                     |                                           d S )NrP   rC   rh   r4   aA)r   rE   r5   istitler7   r0   s        r   test_istitlezBaseStrTest.test_istitle   s    8AbEEJJ##v677		$$$	QQsVV		$$$	QQtWW%%%%%r   c                 j   | j         } |d                    d t          d          D                                 }|t          |          z  dz   }||z  }|                     |                                           | |d          z  }|                     |                                           d S )NrC   c              3   v   K   | ]4}t          |                                          #t          |          V  5d S r_   )r`   rj   rb   s     r   re   z+BaseStrTest.test_isupper.<locals>.<genexpr>   rf   r   rg   r	   r4   )r   rE   ri   r   r5   ra   r7   rk   s         r   test_isupperzBaseStrTest.test_isupper   ro   r   c                    | j         } |d          |z  }|                     |d           |d          g          }|                     |                     |d                    d           |                     |                     |d                    d           |                     |                     |d                               |                     |                     |d                               d S )	Nrh   aaaaabbbbbr4      baaaaaAAbbbbb)r   rE   r   r/   r5   
startswithr6   )r   r   r   r   xs        r   	test_joinzBaseStrTest.test_join   s    AcFFTMFFAAgJJ'

+,,3!,,,3!,,,QQx[[11222

11X;;//00000r   c                 v   | j         } |d          }|                    |          }|                     |                    | |d          z                        |                     t          |          |           |                     |                                |                                           d S Nr   z  r   ljustr5   r   r   r   r%   r0   s        r   
test_ljustzBaseStrTest.test_ljust       >""LLVaagg%566777Q&&&FLLNN33333r   c                    | j         } |d          |z  }|                                }|                     t          |          |           |                     |                     |d                    |           d S )Nrh   r4   )r   lowerr   r   r/   r   r   r   r   s       r   
test_lowerzBaseStrTest.test_lower   r    AcFFTMGGIIQ&&&3$/////r   c                    | j         } |d          }|                    |          }|                     t          |          |           |                     |                                |                                           ~|                    |          }|                     t          |          |           t          |t          t          f          r-|                                }| 	                    ||u            d S d S )Nzabc def ghi)
r   rjustr   r   r   r   
isinstancestrbytesr5   r   r   r   r   r   strippeds         r   test_lstripzBaseStrTest.test_lstrip  s    =!!LLQ&&&V]]__555LLQ&&&a#u&& 	+xxzzHOOHM*****	+ 	+r   c                 H   | j         } |d          } |d          |z  }|                     |d          |          }|                     t          |          |           |                     |                    |          |           |                    | |d          |dz
            }|                     t          |          |           |                     |                    |          d           |                     |dd           |d                     d S )Nr4   r+   r
   z
      aaaa)r   replacer   r   r/   )r   r   r   replacementr   s        r   test_replacezBaseStrTest.test_replace  s   affAcFFTMIIaaffk**Q&&&--t444IIk11S664!844Q&&&--q111344!!L//22222r   c           	         | j         } |d          }t          |          } |d                              | |d          |z  |g          }|                     |                     |d                    ||z   |                     |d                    z              |                     |                    |          ||z              |                     |                     |d          d|          |                     |d                               |                     |                    |d||z             d           |                     |                     |d                    ||z   |                     |d                    z              |                     |                     |d          d|          |                     |d                               |                     |                     |d          d||z             |                     |d                               |                     |                     |d                    d           d S rB   )r   r   rE   r   rfindrG   s         r   
test_rfindzBaseStrTest.test_rfind   s'   >""VAbEEJJ#v6773&4-&,,qqvv:N:N*NOOO&4-8883D116<<#3G3GHHHFTM::A>>>3&4-&,,qqvv:N:N*NOOO3F33V\\!!C&&5I5IJJJ3FTM::aaff--	/ 	/ 	/3"-----r   c           	         | j         } |d          }t          |          } |d                              | |d          |z  |g          }|                     |                     |d                    ||z   |                     |d                    z              |                     |                    |          ||z              |                     |                     |d          d||z   dz
            |                     |d                               |                     |                    |d||z             d           |                     |                     |d                    ||z   |                     |d                    z              |                     |                     |d          d|          |                     |d                               |                     |                     |d          d||z             |                     |d                               |                     t          |j         |d                     d S )	Nr   rC   r   r+   r   r   r-   r.   )r   r   rE   r   rindexrL   rM   rG   s         r   test_rindexzBaseStrTest.test_rindex0  sK   >""VAbEEJJ#v677!!C&&))$qqvv)>)>>	@ 	@ 	@&))6D=999!!C&&!Vd]Q->??qqvv..	0 	0 	0&!Vd];;Q???!!C&&))$qqvv)>)>>	@ 	@ 	@!!C&&!V44fmmAAcFF6K6KLLL!!C&&!Vd];;qqvv..	0 	0 	0*ah#77777r   c                 v   | j         } |d          }|                    |          }|                     |                    | |d          z                        |                     t          |          |           |                     |                                |                                           d S r   r   r0   s        r   
test_rjustzBaseStrTest.test_rjustC  r   r   c                    | j         } |d          }|                    |          }|                     t          |          |           |                     |                                |                                           ~|                    |          }|                     t          |          |           t          |t          t          f          r-|                                }| 	                    ||u            d S d S )Nr   )
r   r   r   r   rstripr   r   r   r   r5   r   s         r   test_rstripzBaseStrTest.test_rstripL  s    >""LLQ&&&V]]__555LLQ&&&a#u&& 	+xxzzHOOHM*****	+ 	+r   g @c                 .   | j         }t          |dz  dz             } |d           |d          |z  z   }||z  }|                                }|                     t	          |          |            |d          }|D ]}|                     ||           ~|                     |d                    }|                     t	          |          |dz               |d          |z  }t          d |          D ]}|                     ||           d S )N      ?r	   r4   r+   r   )r   intsplitr   r   filter	r   r   r   	chunksizer   r   lexpecteditems	            r   test_split_smallzBaseStrTest.test_split_small^  s.    a((	3!!C&&9,,YGGIIQ+++1S66 	- 	-DT8,,,,GGAAcFFOOQQ///1S66I%4OO 	- 	-DT8,,,,	- 	-r   r~   c                 (   | j         } |d          |z   |d          z   }|                                }|                     t          |          |           |                     t	          |          t	           |d          g                     ~|                     |d                    }|                     t          |          |dz              |                     t	          |          t	           |d          g                     d S )Nz ar+   r4   r   )r   r   r   r   set)r   r   r   r   r   s        r   test_split_largezBaseStrTest.test_split_largex  s    AdGGdNQQsVV#GGIIQ&&&QaaffX///GGAAcFFOOQ***QaaffX/////r   c                    | j         }t          |dz  dz             dz  } |d          |z   |d          z    |d          |z  z    |d          z   }||dz  z  }|                                }|                     t	          |          |dz              |d          |z  }|D ]}|                     ||           d S )Nr   r	   r+   
z
r
   )r   r   
splitlinesr   r   r   s	            r   test_splitlineszBaseStrTest.test_splitlines  s     a((A-	3)#aagg-#0BBQQvYYNi!m$LLNNQQ///1S66I% 	- 	-DT8,,,,	- 	-r   c                 T   | j         } |d          } |d          |z  |z   }|                     |                    |                     |                     |                     |d          |z                       |                     |                    |                     d S r   )r   r5   r   r7   r0   s        r   test_startswithzBaseStrTest.test_startswith  s    >""AcFFTMF"Q(((QQsVVd]33444f--.....r   c                    | j         } |d          }|                    |          }|                     t          |          |           |                     |                                |                                           ~|                    |          }|                     t          |          |           |                     |                                |                                           d S )Nz   abc def ghi   )r   r   r   r   r%   r   r0   s        r   
test_stripzBaseStrTest.test_strip  s    &''LLQ&&&FLLNN333LLQ&&&FLLNN33333r   c                    | j         } |d          }t          |          }||z  dz   }||z  }|                                }|                     t          |          ||z             |                     |d |dz           |                                dz             |                     || dz  d          |                                dz             d S )Nu   aBcDeFG12.'© r	   r,   )r   r   swapcaser   )r   r   r   r   rH   rm   r   s          r   _test_swapcasezBaseStrTest._test_swapcase  s    ())V&.1$WJJLLQ'!1222;FQJ;):):Q)>???F7Q;<<&//*;*;a*?@@@@@r   c                 v   | j         } |d          }||t          |          z  dz   z  }|                                }|                     |                    |dz                                                       |                     |                    |                                dz                       d S )NSpaaHAaaAahamr	   r,   )r   r   titler5   r   r6   r   r0   s        r   _test_titlezBaseStrTest._test_title  s    ?##dc&kk)A-.GGIIfqj%7%7%9%9::;;;

6<<>>A#56677777r   c                    | j         } |d          }t                              dd          }t          |          }||z  dz   }||z  }|                    |          }|                     t          |          ||z             |                     |d |         |                    |                     |                     || d          |                    |                     |                     |                     |d                    d           |                     |                     |d                    |dz             |                     |                     |d                    |d	z             d S )
N
aZz.z.Aaz.s   .aZs   -!$r	   r*   r   !rZ   r,   )r   r   	maketransr   	translater   r/   r   r   r   r   transrH   rm   r   s           r   test_translatezBaseStrTest.test_translate  s_   <//V&.1$WKKQ6!12227F7V%5%5e%<%<===F788f&6&6u&=&=>>>3!,,,3'A+6663'A+66666r   c                    | j         } |d          |z  }|                                }|                     t          |          |           |                     |                     |d                    |           d S )Nr4   rh   )r   upperr   r   r/   r   s       r   
test_upperzBaseStrTest.test_upper  r   r      c                    | j         } |d          }|                    |          }|                     |                     |d          |dd          z                        |                     |                     |d                               |                     t          |          |           |                     |                     |d                    |t          |          z
             d S )Nz-5683247235982340r   z-0)r   zfillr5   r6   r   r   r   r/   r0   s        r   
test_zfillzBaseStrTest.test_zfill  s    %&&LL

11S66F122J#677888QQtWW--...Q&&&3$V*<=====r   r,   c                 6   | j         } |d          |z  }|                     t          |          |           ||z   }|                     t          |          |dz             |                     |                     |d                    |dz             d S Nr*   r	   r   r   r   r/   r   s       r   test_concatzBaseStrTest.test_concat      AcFFTMQ&&&EQ***3$(33333r   c                 6   | j         } |d          |z  }|                     t          |          |           |dz  }|                     t          |          |dz             |                     |                     |d                    |dz             d S r   r   r   s       r   test_repeatzBaseStrTest.test_repeat  r   r   c           	         | j         } |d          }t          |          }|||z  z  }t          |          dz  }|||z  z
  }t          dt          |          |z
  |          D ]}|                     ||         |d                    |                     ||||z            |           |                     ||||z   d         |d d d                    |dk    r1|                     |||z   dz
  |dz
  d         ||d d                    |                     |t          |          dz
           |d                    |                     |d         |d                    |                     |t          |          dz
           |d                    |                     ||          |d                    |                     |t          |          d           |d	                     |                     |t          |          dz
  d          |dd                     |                     |dd          |dd                     |                     |t          |          |z
  d          |           |                     || d          |           |                     t          |d d                    t          |                     |                     t          |d t          |          d
z
                     t          |          d
z
             |                     t          |d
d                   t          |          dz
             |                     t
          t          j        |t          |                     |                     t
          t          j        |t          |          dz              |                     t
          t          j        |t          |          dz   dz             d S )N
0123456789d   r   r	   r   rD   r    rC   r~      )r   r   ri   r   rL   
IndexErroroperatorgetitem)r   r   r   r   rH   r   stepsizer-   s           r   test_slice_and_getitemz"BaseStrTest.test_slice_and_getitem  s   <Vdfn%q66S=x&01q#a&&8+X66 	5 	5AQqT6!9---QqV|_f555QqVA~.sss<<<1uu  1v:>!a%#:!;!'

!35 5 5 	3q66A:r
3332r
+++3q66B;333F7VAY///3q6677QQrUU+++3q66A:;;555233---3q66F?++,f555F788f---QqqqTCFF+++Q{A
{^,,c!ffqj999QqtWs1vv{333*h&63q66BBB*h&63q66A:FFF*h&63q66A:r>JJJJJr   c                    | j         } |d          } |d          |dz  z  } |d                              |||g          }~|                     ||v            |                     |dz  |v            |                      |d          |v            |                      |d          |v            | |d          z  }|                      |d          |v            d S )Nr   r   r	   rC   r4   )r   rE   r5   r7   )r   r   r   r   edger   s         r   test_containszBaseStrTest.test_contains  s    <qvv#AbEEJJfd+,,!$$$!q)))#!$$$31%%%	QQsVV#!$$$$$r   c                    | j         } |d          |z  } |d          |z  }|                     ||k               ~| |d          z   }|                     ||k               ~ |d          |z  }|                     ||k               d S )Nr   r4   r*   )r   r5   r7   )r   r   r   s1r8   s        r   test_comparezBaseStrTest.test_compare"  s    QsVVd]QsVVd]b!!!!!C&&[r"""QsVVd]r"""""r   c                     | j         } |d          |z  }t          |          }~ |d          |dz   z  }|                     |t          |                     d S )N r   )r   hashassertNotEqual)r   r   r   r   h1s        r   	test_hashzBaseStrTest.test_hash/  sd     AfII!WWAfII"BQ(((((r   N)/__name__
__module____qualname__r   r   r   r(   r1   r9   r@   rI   rN   rR   rW   r\   rn   rs   rw   rz   r   r   r   r   r   r   r   r   r   r   ascii_char_sizepointer_sizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   r   r   F   s       6 6 6 ZS2Xa(((4 4 )(4 ZS###	- 	- $#	- ZS###	- 	- $#	- ZS2Xa(((
2 
2 )(
2 ZS###- - $#-  ZS###7 7 $#7  ZS###& & $#& ZS###& & $#& ZS###& & $#& ZS###& & $#& ZS###& & $#& ZS###& & $#& ZS###& & $#& ZS###1 1 $#1 ZS2Xa(((4 4 )(4 ZS2Xa(((0 0 )(0 ZS2Xa(((+ + )(+ ZS2Xa(((
3 
3 )(
3 ZS###. . $#. ZS###8 8 $#8$ ZS2Xa(((4 4 )(4 ZS2Xa(((+ + )(+" ZS%%%- - &%-2 ZS1W_q%8<%GHHH	0 	0 IH	0 ZS%%%- - &%- ZS###/ / $#/ ZS###	4 	4 $#	4	A 	A 	A8 8 8 ZS###7 7 $#7 ZS1WQ'''0 0 ('0 ZS2Xa(((> > )(> ZS1WQ'''4 4 ('4 ZS1WQ'''4 4 ('4 ZS2Xa(((K K )(KB ZS###% % $#% ZS2Xa(((
# 
# )(
# ZS2Xa((() ) )() ) )r   r   c                      e Zd Zd ZddZd Zd Z eee	dz  e
dz  z   	          d
             Z eee	dz  e
dz  z   	          d             Z eee	dz  e
dz  z   	          d             Z eedz   e
dz   	          d             Z eedz  dz   e
e	z   dz   	          d             Z eedz  dz   e
dz   dz   	          d             Z eedz  dz   e
e	z   dz   	          d             Z eedz
  e
dz   	          d             Z eedz   e
dz  e	z   	          d             Z eedz   e
dz  	          d             Z eedz   e
dz  	          d             Z eedz  dz   ee	z   e
dz  z   	          d             Z eedz  dz   e	dz  e
dz  z   	          d             Z eee
dz  e	z   	          d             ZdS ) StrTestc                     |S r_   r   r   r   s     r   r   zStrTest.from_latin1A  s    r   r*   Nc                     ||}	 ||z  }|                      t          |                    |                    |           d }d S # d }w xY wr_   )r   r   encode)r   r   encrd   expectedsizer   s         r   basic_encode_testzStrTest.basic_encode_testD  sY    L	DAS#//>>>AAAAHHHHs   ;A A	c                    i | _         t          t                    D ]g}|                    d          st	          t          |           |          }	 |j        }n# t          $ r Y Jw xY wt          |z  |_        || j         |<   hd S )Ntest_)		_adjusteddirr   r   getattrtyper"   AttributeErrorr   )r   namemethr"   s       r   setUpzStrTest.setUpM  s     $$ 		* 		*D??7++ 4::t,,D!   )F2DK#)DN4  		* 		*s   A
A'&A'c                     | j                                         D ]'\  }}|t          t          |           |          _        (d S r_   )r  itemsr  r  r"   )r   r	  r"   s      r   tearDownzStrTest.tearDown\  sH     N0022 	6 	6LD&/5GDJJ%%,,	6 	6r   r,   r	   r!   c                 0    |                      |           d S r_   r   r   r   s     r   test_capitalizezStrTest.test_capitalize`      d#####r   c                 0    |                      |           d S r_   r   r  s     r   
test_titlezStrTest.test_titled      r   c                 0    |                      |           d S r_   r   r  s     r   test_swapcasezStrTest.test_swapcaseh      D!!!!!r   r   c                 .    |                      |d          S )Nutf-8r  r  s     r   test_encodezStrTest.test_encodeo  s    %%dG444r      c                 R    	 |                      |d          S # t          $ r Y d S w xY w)Nraw_unicode_escaper  MemoryErrorr  s     r   test_encode_raw_unicode_escapez&StrTest.test_encode_raw_unicode_escapes  s@    	))$0DEEE 	 	 	DD	    
&&r~   F   r   c                 R    	 |                      |d          S # t          $ r Y d S w xY w)Nutf7r#  r  s     r   test_encode_utf7zStrTest.test_encode_utf7z  s?    	))$777 	 	 	DD	r&  r
   c                 b    	 |                      |dd|z  dz             S # t          $ r Y d S w xY w)Nutf32r
   )r   r#  r  s     r   test_encode_utf32zStrTest.test_encode_utf32  sM    	))$a$hQRl)SSS 	 	 	DD	s     
..c                 2    |                      |dd          S )Nasciirh   )rd   r  r  s     r   test_encode_asciizStrTest.test_encode_ascii  s    %%dGs%;;;r   r    c                    d|z  }|}|                      ||k               ~d|d}|                     t          |          t          |          dz              |                      |                    d                     |                      |                    d                     ~~|dz  }d|z  }d                    |d|g          }~|d	z  }|                     t          |          |dz  d
z              |                     |                    d          d
           |                     |                    d          |dz             d S )Nr   z..r
   z..-z-..r	   rC   z%sr3   r,   r*   )r5   r   r   r   r6   rE   r/   )r   r   r   sfr   s        r   test_formatzStrTest.test_format  sC   $JQR   B_R#a&&1*---e,,---E**+++r
TzGGT4&''IQA...q)))tax00000r   c                    d|z  }t          |          }|                     t          |          |dz              |                     |d         d           |                     |d         d           |                     |                    d          |           ~|dz  dz  }d|z  }t          |          }|                     t          |          |dz  dz              |                     |d         d           |                     |d         d           |                     |                    d	          |           |                     |                    d
          |dz             d S )Nr   r	   r   'rD   r~   r   r
   \r   reprr   r   r/   r   r   r   s      r   test_repr_smallzStrTest.test_repr_small  sR   $JGGQ***1s###2$$$t,,, qy1}TMGGQA...1s###2$$$---tax00000r   c                    d|z  }t          |          }|                     t          |          |dz  dz              |                     |d         d           |                     |d         d           |                     |                    d          |           |                     |                    d          |dz             d S )	Nr   r
   r	   r   r5  rD   r6  r   r7  r9  s      r   test_repr_largezStrTest.test_repr_large  s    TMGGQA...1s###2$$$---tax00000r   c           
      T   d}||z  }	 t           t          fD ]} ||          }|                     t          |          dt           ||                    dz
  |z  z              |                     |                    d          |dd                     d }	 d x}}d S # d x}}w xY w)Nu   r	   z\udcba'r   r8  r/  r   r   r5   r6   r   r   charr   frs         r   test_unicode_reprzStrTest.test_unicode_repr  s    
 4K	E]  AaDD  Qc!!D''llQ.>$-F)FGGG

: 6 6#$$@@@	 LADLALLLL   BB! !B'c           
      T   d}||z  }	 t           t          fD ]} ||          }|                     t          |          dt           ||                    dz
  |z  z              |                     |                    d          |dd                     d }	 d x}}d S # d x}}w xY w)Nu   𝲺r	   z\U0001dcba'ir>  r?  s         r   test_unicode_repr_widezStrTest.test_unicode_repr_wide  s    4K	E]  AaDD  Qc!!D''llQ.>$-F)FGGG

> : :AcddGDDD	 LADLALLLLrD  c           	         | j         } |d          }t           |d                     |d          t           |d                     |d          t           |d                     |d          i}t          |          }||z  dz   }||z  }|                    |          }|                     t          |          ||z             |                     |d |         |                    |                     |                     || d          |                    |                     |                     |                     |d                    d	           |                     |                     |d                    |dz             |                     |                     |d
                    |dz             d S )Nr   r*   r   r4   r   Z$r	   r   rZ   r,   )r   ordr   r   r   r/   r   s           r   r   zStrTest.test_translate  s   <#KK3#KK3#KK3

 V&.1$WKKQ6!12227F7V%5%5e%<%<===F788f&6&6u&=&=>>>3!,,,3'A+6663'A+66666r   )r*   N)r   r   r   r   r  r  r  r   r   ucs4_char_sizer   r  r  r  r  r   r%  r*  r-  r0  r3  r:  r<  ucs2_char_sizerC  rF  r   r   r   r   r   r   ?  s            * * *6 6 6 ZS!!3o6I!IJJJ$ $ KJ$ ZS!!3o6I!IJJJ  KJ ZS!!3o6I!IJJJ" " KJ" ZS1W_q%89995 5 :95 ZSAX\/N*JQ*NOOO  PO ZSAX]?Q+>+BCCC  DC ZSAX\/N*JQ*NOOO  PO ZS1W_q%8999< < :9<
 ZS2Xo&9N&JKKK1 1 LK1( ZS2Xo&9:::1 1 ;:1( ZS2Xo&9:::1 1 ;:1 ZSAX\.*8+9;JQ;N+O P P P P P ZSAX\.1*<QS?S*STTT
 
 UT
  ZS1!4~!EFFF7 7 GF7 7 7r   r   c                       e Zd Zd Z eedz   dez             d             Z eed          d             Z eed          d             Z	 eed          d             Z
d	S )
	BytesTestc                 ,    |                     d          S Nzlatin-1)r   r   s     r   r   zBytesTest.from_latin1  s    xx	"""r   r	   r   r!   c                     |                      d          |z  }|                     t          |                    d                    |           d S Nr*   r  r   r   r   decoder9  s      r   test_decodezBytesTest.test_decode  J    S!!D(QXXg..//66666r   c                 0    |                      |           d S r_   r  r  s     r   r  zBytesTest.test_capitalize  r  r   c                 0    |                      |           d S r_   r  r  s     r   r  zBytesTest.test_title  r  r   c                 0    |                      |           d S r_   r  r  s     r   r  zBytesTest.test_swapcase  r  r   N)r   r   r   r   r   r   r   rU  r  r  r  r   r   r   rN  rN    s        # # # ZS1WQ%89997 7 :97 ZS###$ $ $#$ ZS###  $# ZS###" " $#" " "r   rN  c                       e Zd Zd Z eedz   dez             d             Z eed          d             Z eed          d             Z	 eed          d             Z
d	Zd	Zd	S )
BytearrayTestc                 F    t          |                    d                    S rP  )	bytearrayr   r   s     r   r   zBytearrayTest.from_latin1  s    ),,---r   r	   r   r!   c                     |                      d          |z  }|                     t          |                    d                    |           d S rR  rS  r9  s      r   rU  zBytearrayTest.test_decode  rV  r   c                 0    |                      |           d S r_   r  r  s     r   r  zBytearrayTest.test_capitalize  r  r   c                 0    |                      |           d S r_   r  r  s     r   r  zBytearrayTest.test_title"  r  r   c                 0    |                      |           d S r_   r  r  s     r   r  zBytearrayTest.test_swapcase&  r  r   N)r   r   r   r   r   r   r   rU  r  r  r  r   r   r   r   r   r[  r[    s        . . . ZS1WQ%89997 7 :97 ZS###$ $ $#$ ZS###  $# ZS###" " $#" Ir   r[  c                   
   e Zd Z eedz   edz            d             Zd Z eedz  dz   edz            d             Z eedz   edz            d             Z	 eedz  d	z   edz            d
             Z
 eed	z   e          d             Z eed	z   e          d             Zd Z eedz  dz   edz            d             Z eedz   edz            d             Z eedz
  d          d             Z eedz
  edz            d             Z eedz
  edz            d             Zd Z eedz  dz   eedz  z             d             Z eedz   eedz  z             d             ZdS )	TupleTestr	   r!   c                     d|z  }d|z  }|                      ||k               ~d|dz   z  }|                     ||k               ~d|z  }|                     ||k               d S )NrC   r   )r   r5   r7   )r   r   t1t2s       r   r   zTupleTest.test_compare8  s}    T\T\b!!!dQhr"""D[r"""""r   c                     d|z  }|                      t          |          |           ||z   }|                      t          |          |dz             d S )N)r   r	   r   r   r   r   ts      r   basic_concat_testzTupleTest.basic_concat_testI  V    DLQ&&&EQ*****r   r,   c                 ,    |                      |          S r_   rm  r  s     r   test_concat_smallzTupleTest.test_concat_smallO      %%d+++r   c                 ,    |                      |          S r_   rp  r  s     r   test_concat_largezTupleTest.test_concat_largeS  rr  r   r~   r    c                     d|z  }|                      t          |          |dz             |                     d|v            |                     d|v            |                     d|v            d S Nr   r	   r,   r
   r~   r~   r   r   r   r5   r7   rk  s      r   r   zTupleTest.test_containsW  sy    d"Q***QA-...a     r   c                     d|z  }t          |          }~d|dz   z  }|                     |t          |          k               d S )N)r   r   )r   r7   )r   r   rg  r   rh  s        r   r   zTupleTest.test_hash_  sK    D["XXTAXtBxx(((((r   c                    d|z  }|                      t          |          |           |                      |d         d            |                      |d         d            |                      ||dz
           d            |                     t          t          j        ||           |                      |d d         d           |                      |dd          d           |                      |dd         d           |                      |d	d
         d           |                      ||dz
  d          d           |                      ||dz
  |         d           |                      ||dz
  |dz
           d           |                      |||         d           |                      |||dz            d           d S )Nr_   rD   r~   r   )NNNNNr   r      r   r	   )NNNNr   )r   r   rL   r   r   r   rk  s      r   test_index_and_slicezTupleTest.test_index_and_sliceg  s   dNQ&&&2%%%1t$$$4!8d+++*h&64@@@2A2,,,233---2b5;///3s7[1114!899{3334!8D=);7774!8D1H,-{;;;49r***4Q;,,,,,r   c                     d|z  }|                      t          |          |           |dz  }|                      t          |          |dz             d S )Nre  r	   rj  rk  s      r   basic_test_repeatzTupleTest.basic_test_repeatz  rn  r   c                 ,    |                      |          S r_   r  r  s     r   test_repeat_smallzTupleTest.test_repeat_small  rr  r   c                 ,    |                      |          S r_   r  r  s     r   test_repeat_largezTupleTest.test_repeat_large  rr  r   r      c                 ,    |                      |          S r_   r  r  s     r   test_repeat_large_2zTupleTest.test_repeat_large_2  rr  r   c                 (   	 t          t          dg|z                      }|                     t          |          |           |                     |d d         d           |                     |dd          d           d S # t          $ r Y d S w xY wN*   r    )
r  r  r  r  r  r  r  r  r  r  r   tupleiterr   r   r$  rk  s      r   test_from_2G_generatorz TupleTest.test_from_2G_generator      	2dB49oo&&A SVVT***QssVZ000QsttWj11111  	 	 	DD	    B 
BBr{  c                 (   	 t          t          dg|z                      }|                     t          |          |           |                     |d d         d           |                     |dd          d           d S # t          $ r Y d S w xY wr  r  rk  s      r   test_from_almost_2G_generatorz'TupleTest.test_from_almost_2G_generator  r  r  c                     d|z  }t          |          }|                     t          |          |dz             |                     |d d         d           |                     |dd          d           d S )N)F   r    z
(False, Far   z
se, False))r8  r   r   )r   r   rl  r   s       r   basic_test_reprzTupleTest.basic_test_repr  sx    tOGGQ***3B3...344,/////r   r  c                 ,    |                      |          S r_   r  r  s     r   r:  zTupleTest.test_repr_small      ##D)))r   c                 ,    |                      |          S r_   r  r  s     r   r<  zTupleTest.test_repr_large  r  r   N)r   r   r   r   r   r   r   rm  rq  rt  r   r   r~  r  r  r  r   r  r  r  r  r   r:  r<  r   r   r   rc  rc  -  s        ZS1W\A%5666	# 	# 76	# + + + ZSAX\,*:;;;, , <;, ZS1W\A%5666, , 76, ZSAX]<!+;<<<! ! =<! ZS2Xl333) ) 43) ZS2Xl333- - 43-$+ + + ZSAX\,*:;;;, , <;, ZS1W\A%5666, , 76, ZS1WR(((, , )(, ZS1W\A%56662 2 762 ZS2XlQ&67772 2 8720 0 0 ZSAX\,19L*LMMM* * NM* ZS1W\Oa4G%GHHH* * IH* * *r   rc  c                      e Zd Z eedz   edz            d             Zd Z eedz  dz   edz            d             Z eedz   edz            d             Z	d Z
 eedz  dz   edz  d	z  d
z            d             Z eedz   edz  d	z  d
z            d             Z eedz  dz   edz            d             Z eedz   e          d             Z eedz   e          d             Zd Z eedz  dz   edz            d             Z eedz   edz            d             Zd Z eedz  dz   edz  d	z  d
z            d             Z eedz   edz  d	z  d
z            d             Zd Z eedz  dz   eedz  z             d             Z eedz   eedz  z             d             Z eeed	z  d
z            d             Z eedz  dz   edz            d             Zd Z eedz  dz   edz  d	z  d
z            d             Z eedz   edz  d	z  d
z            d              Z eedz  dz   edz            d!             Z eedz   ed	z  d
z            d"             Z  eedz  d#z   edz            d$             Z! eedz   e          d%             Z" eedz  dz   edz            d&             Z# eedz  dz   edz  d'z            d(             Z$d)S )*ListTestr	   r!   c                     dg|z  }dg|z  }|                      ||k               ~dg|dz   z  }|                     ||k               ~dg|z  }|                     ||k               d S )NrC   r   r	   rf  )r   r   l1l2s       r   r   zListTest.test_compare  s    TD[TD[b!!!TTAXr"""S4Zr"""""r   c                     g g|z  }|                      t          |          |           ||z   }|                      t          |          |dz             d S )Nr	   rj  r   r   r   s      r   basic_test_concatzListTest.basic_test_concat  sX    D4KQ&&&EQ*****r   r,   c                 ,    |                      |          S r_   r  r  s     r   rq  zListTest.test_concat_small  rr  r   c                 ,    |                      |          S r_   r  r  s     r   rt  zListTest.test_concat_large  rr  r   c                    t           j        g|z  }||z  }|                     t          |          |dz             |                     |d         |d         u            |                     ||dz
           ||dz            u            d S Nr	   r   rD   r   )sysstdoutr   r   r5   r  s      r   basic_test_inplace_concatz"ListTest.basic_test_inplace_concat  s    ZL4	QQ***!"&&&$(q{233333r   	   r   c                 ,    |                      |          S r_   r  r  s     r   test_inplace_concat_smallz"ListTest.test_inplace_concat_small      --d333r   c                 ,    |                      |          S r_   r  r  s     r   test_inplace_concat_largez"ListTest.test_inplace_concat_large  r  r   r~   r    c                     g d|z  }|                      t          |          |dz             |                     d|v            |                     g d|v            |                     d|v            d S rv  rx  r  s      r   r   zListTest.test_contains  s    OOd"Q***QA-...a     r   c                 T    dg|z  }|                      t          t          |           d S )Nr   )rL   	TypeErrorr   r  s      r   r   zListTest.test_hash  s+    C$J)T1-----r   c                    d g|z  }|                      t          |          |           |                      |d         d            |                      |d         d            |                      ||dz
           d            |                     t          t          j        ||           |                      |d d         d gdz             |                      |dd          d gdz             |                      |dd         d gdz             |                      |dd         d gdz             |                      ||dz
  d          d gdz             |                      ||dz
  |         d gdz             |                      ||d	z
  |d
z
           d gdz             |                      |||         g            |                      |||dz            g            d||d
z
  <   |                      t          |          |           |                      |dd          g d           |                      |                    d          d           |                     t          t          j        ||d	           |                      t          |          |           g d||dz
  d <   |d
z  }|                      t          |          |           |                      |dd          g d           g d|d d<   |d
z  }|                      t          |          |           |                      |d d         g d           ||dz
  = |dz  }|                      t          |          |           |                      |d         d           |dd = |d
z  }|                      t          |          |           |                      |d         d
           |d= |dz  }|                      t          |          |           |                      |d         d
           |d d
= |d
z  }|                      t          |          |           |                      |d         d           d S )NrD   r~   r   r   r   r{  r|  r}  r   r	   r
   r   )Nr~   Nrw  r  i)NNr   r	   r,   r
   r~   )r   r	   r,   r
   r~   NNr   )r   r   rL   r   r   r   r/   setitemr  s      r   r~  zListTest.test_index_and_slice  sq   FTMQ&&&2%%%1t$$$4!8d+++*h&64@@@2A2
+++233$!,,,2b5D6A:...3s7dVaZ0004!899vz2224!8D=)D6A:6664!8D1H,-vz:::49r***4Q;,,,$(Q&&&233111Q'''*h&64CCCQ&&&&$())	Q&&&233!<!<!<==="1"	Q&&&2A2 ; ; ;<<<dQhK	Q&&&2"""bccF	Q&&&2"""aD	Q&&&1q!!!bqbE	Q&&&1q!!!!!r   c                     g |z  }|                      |           dg|z  }|                     t          |          |           |dz  }|                     t          |          |dz             d S )NrC   r	   )r7   r   r   r  s      r   r  zListTest.basic_test_repeat/  su    ID4KQ&&&EQ*****r   c                 ,    |                      |          S r_   r  r  s     r   r  zListTest.test_repeat_small7  rr  r   c                 ,    |                      |          S r_   r  r  s     r   r  zListTest.test_repeat_large;  rr  r   c                 R   dg}||z  }|                      t          |          |           |                     |d         |d         u            ~dg|z  }|dz  }|                      t          |          |dz             |                     ||dz
           |d         u            d S )NrC   r   rD   r	   r   )r   r   r5   r  s      r   basic_test_inplace_repeatz"ListTest.basic_test_inplace_repeatA  s    D	T	Q&&&!"&&&D4K	QQ***$(qu,-----r   c                 ,    |                      |          S r_   r  r  s     r   test_inplace_repeat_smallz"ListTest.test_inplace_repeat_smallM  r  r   c                 ,    |                      |          S r_   r  r  s     r   test_inplace_repeat_largez"ListTest.test_inplace_repeat_largeQ  r  r   c                 F   dg|z  }t          |          }|                     t          |          |dz             |                     |d d         d           |                     |dd          d           |                     |                    d          |           d S )NFr  r    z
[False, Far   z
se, False]Fr7  )r   r   r   r   s       r   r  zListTest.basic_test_reprU  s    GdNGGQ***3B3...344,///t,,,,,r   r  c                 ,    |                      |          S r_   r  r  s     r   r:  zListTest.test_repr_small^  r  r   c                 ,    |                      |          S r_   r  r  s     r   r<  zListTest.test_repr_largeb  r  r   c                 D   t                      g|z  }|                    t                                 |                     t          |          |dz              |                     |d         |d         u            |                     |d         |d         u            d S )Nr   r   r  rD   )objectappendr   r   r5   r7   r  s      r   test_appendzListTest.test_appendh  s    XXJ	Qa((("2'''2!B%(((((r   c                     g d|z  }|                      |                    d          |           |                      |                    d          d           d S )Nrw  r   1r   )r   r/   r  s      r   r1   zListTest.test_countp  sV    OOd"T***q)))))r   c                 *   t           g|z  }|                    |           |                     t          |          |dz             |                     |d         |d         u            |                     ||dz
           ||dz            u            d S r  )r  extendr   r   r5   r  s      r   basic_test_extendzListTest.basic_test_extendx  s    HtO	Q***!"&&&$(q{233333r   c                 ,    |                      |          S r_   r  r  s     r   test_extend_smallzListTest.test_extend_small  rr  r   c                 ,    |                      |          S r_   r  r  s     r   test_extend_largezListTest.test_extend_large  rr  r   c                    g d|z  }|dz  }|                      |                    d          d           |                      |                    d|dz
            |dz
             |                      |                    d|dz
  |          |dz
             |                     t          |j        d|dz
  |           |                     t          |j        d           d S )Nrw  r~   r   r   r
   r   )r   rK   rL   rM   r  s      r   rN   zListTest.test_index  s    OOd"	Q'''D1H--tax888D1Hd33TAX>>>*agq$(DAAA*agq11111r   c                    dg|z  }|                     |dz
  d           |dz  }|                     t          |          |           |                     |dd          g d           |                     |dz   d           |dz  }|                     t          |          |           |                     |dd          g d           |                     dd           |dz  }|                     t          |          |           |                     |d d	         g d
           |                     ||d	z
  d          g d           d S )N      ?r   rh   r   )r  rh   r  B)rh   r  r  Cr,   )r  r  r  )insertr   r   r  s      r   test_insertzListTest.test_insert  sR   EDL	3	Q&&&233111	3	Q&&&233111	C	Q&&&2A20004!89977777r   r
   c                    g d|z  }|dz  }|                      t          |          |           |                                }|dz  }|                      t          |          |           |                      |d           |                      |dd          ddg           |                    d          }|dz  }|                      t          |          |           |                      |d	           |                      |d d
         ddg           |                    |d
z
            }|dz  }|                      t          |          |           |                      |d           |                      |dd          ddg           d S )N)r4   r   rd   der~   r   r  r  rd   r  r   r4   r	   r   )r   r   pop)r   r   r   r   s       r   test_popzListTest.test_pop  s   %%%,	Q&&&uuww	Q&&&s###233#s,,,uuQxx	Q&&&s###2A2c
+++uuTAX	Q&&&s###233#s,,,,,r   c                 F   dg|z  }|                      t          |          |           |                    d           |dz  }|                      t          |          |           |                    d           |dz  }|                      t          |          |           |                      |dd          ddg           |                    d           |dz  }|                      t          |          |           |                      |dd          ddg           d S )Nr    r   r~   r  )r   r   remover  r  s      r   test_removezListTest.test_remove  s   D4KQ&&&		Q&&& 	
	Q&&&233"a)))		Q&&&233"b*****r   c                    g d|z  }|                                  |                     t          |          |dz             |                     |dd          g d           |                     |d d         g d           d S )Nrw  r~   r   )r~   r
   r,   r	   r   )reverser   r   r  s      r   test_reversezListTest.test_reverse  s    OOd"			Q***2331112A200000r   g      ?c                 b   g d|z  }|                                  |                     t          |          |dz             |                     |                    d          |           |                     |d d         dgdz             |                     |dd          dgdz             d S )Nrw  r~   r   r    r   )sortr   r   r/   r  s      r   	test_sortzListTest.test_sort  s    OOd"	Q***T***3B3!r***3441#(+++++r   N)%r   r   r   r   r   r   r   r  rq  rt  r  r  r  r   r   r~  r  r  r  r  r  r  r  r   r:  r<  r  r1   r  r  r  rN   r  r  r  r  r  r   r   r   r  r    s        ZS1W\A%5666	# 	# 76	# + + + ZSAX\,*:;;;, , <;, ZS1W\A%5666, , 76,
4 4 4 ZSAX\,*:Q*>q*@AAA4 4 BA4 ZS1W\A%5%9!%;<<<4 4 =<4 ZSAX]<!+;<<<! ! =<! ZS2Xl333. . 43. ZS2Xl3334" 4" 434"n+ + + ZSAX\,*:;;;, , <;, ZS1W\A%5666, , 76,

. 
. 
. ZSAX\,*:Q*>q*@AAA4 4 BA4 ZS1W\A%5%9!%;<<<4 4 =<4- - - ZSAX\,19L*LMMM* * NM* ZS1W\Oa4G%GHHH* * IH*
 ZS!1!!3444) ) 54) ZSAX\,*:;;;* * <;*4 4 4 ZSAX\,*:Q*>q*@AAA, , BA, ZS1W\A%5%9!%;<<<, , =<, ZSAX\,*:;;;2 2 <;2 ZS2XlQ&6q&89998 8 :98$ ZSAX\,*:;;;- - <;-. ZS2Xl333+ + 43+& ZSAX\,*:;;;1 1 <;1 ZSAX\,*:S*@AAA, , BA, , ,r   r  c                   :    e Zd Z edd          d             ZdS )DictTestiUUU   r!   c                 ^    t                               t          |                    }d||<   d S )Nr   )dictfromkeysri   )r   r   r  s      r   	test_dictzDictTest.test_dict  s(     MM%++&&$r   N)r   r   r   r   r  r   r   r   r  r    s=        ZYs+++  ,+  r   r  __main__)testr   test.supportr   r   r   r   unittestr   r  r   rL  rK  maxsizer   r   TestCaser   rN  r[  rc  r  r  r   r   argvset_memlimitmainr   r   r   <module>r     s8         2 2 2 2 2 2 2 2 2 2 2 2   



` K%''qqQv) v) v) v) v) v) v) v)r{7 {7 {7 {7 {7h {7 {7 {7|" " " " "!; " " ".    H%{   2D* D* D* D* D*! D* D* D*Lm, m, m, m, m,x  m, m, m,`	    x     z
s38}}qSXa[)))HMOOOOO r   