U
    iâËd ã                    @   sè  d dl mZ d dl mZ d dlmZmZ d dlmZ d dlZd dl	m
Z
mZmZ d dlmZmZ d dlmZ d d	lmZ d d
lmZ dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Z d!d"„ Z!d#d$„ Z"d%d&„ Z#d'd(„ Z$d)d*„ Z%d+d,„ Z&d-d.„ Z'd/d0„ Z(d1d2„ Z)d3d4„ Z*d5d6„ Z+d7d8„ Z,d9d:„ Z-d;d<„ Z.d=d>„ Z/d?d@„ Z0dAdB„ Z1dCdD„ Z2dEdF„ Z3dGdH„ Z4dIdJ„ Z5dKdL„ Z6dMdN„ Z7dOdP„ Z8dQdR„ Z9dSdT„ Z:dUdV„ Z;dWdX„ Z<dYdZ„ Z=d[d\„ Z>d]d^„ Z?d_d`„ Z@dadb„ ZAdcdd„ ZBdedf„ ZCdgdh„ ZDdidj„ ZEdkdl„ ZFdmdn„ ZGdodp„ ZHdqdr„ ZIdsdt„ ZJdudv„ ZKdwdx„ ZLdydz„ ZMd{d|„ ZNd}d~„ ZOdd€„ ZPd�d‚„ ZQdƒd„„ ZRd…d†„ ZSd‡dˆ„ ZTd‰dŠ„ ZUd‹dŒ„ ZVd�dŽ„ ZWd�d�„ ZXd‘d’„ ZYd“d”„ ZZd•d–„ Z[d—d˜„ Z\d™dš„ Z]d›dœ„ Z^d�dž„ Z_dŸd „ Z`d¡d¢„ Zad£d¤„ Zbd¥d¦„ Zcd§d¨„ Zdd©dª„ Zed«d¬„ ZfG d­d®„ d®ee
ƒZgd¯d°d±d²d³d´dµgZhd¯d¶d¶d·d¸d¹dºd»d°d¼d½dµd¾gZid¿dÀdÁdÂdÃdÄdÅdÆdÇdÈdÉdÊdËdÌdÍdÎdÏdÐdÑdÒdÓdÔdÕdÖd×dØdÙdÚdÛdÜdÝdÞg ZjG dßdà„ dàegƒZkG dádâ„ dâegƒZlG dãdä„ däegƒZmG dådæ„ dæegƒZneodçk�räe p¡  dS )èé    )Úproduct)Úpermutations)ÚnjitÚtypeof)ÚtypesN)ÚTestCaseÚno_pyobj_flagsÚMemoryLeakMixin)ÚTypingErrorÚUnsupportedError)Ú_MAX_UNICODE)Ú_header_lead)Úoverloadc                 C   s   t dd„ | D ƒƒS )Nc                 s   s   | ]}t |ƒd k V  qdS )é€   N©Úord)Ú.0Úc© r   úQ/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numba/tests/test_unicode.pyÚ	<genexpr>   s     zisascii.<locals>.<genexpr>)Úall©Úsr   r   r   Úisascii   s    r   c                   C   s   dS ©Nõ   å¤§å¤„ç�€çœ¼ï¼Œå°�å¤„ç�€æ‰‹ã€‚r   r   r   r   r   Úliteral_usecase   s    r   c                 C   s   | S ©Nr   ©Úxr   r   r   Úpassthrough_usecase   s    r!   c                 C   s   | |kS r   r   ©r    Úyr   r   r   Ú
eq_usecase   s    r$   c                 C   s   t | ƒS r   ©Úlenr   r   r   r   Úlen_usecase   s    r'   c                 C   s   t | ƒS r   )Úboolr   r   r   r   Úbool_usecase#   s    r)   c                 C   s   | | S r   r   ©r    Úir   r   r   Úgetitem_usecase'   s    r,   c                 C   s   t | | ƒS r   )Úhashr*   r   r   r   Úgetitem_check_kind_usecase+   s    r.   c                 C   s
   |   |¡S r   )Úzfillr"   r   r   r   Úzfill_usecase/   s    r0   c                 C   s   | | S r   r   r"   r   r   r   Úconcat_usecase3   s    r1   c                 C   s   | | S r   r   r"   r   r   r   Úrepeat_usecase7   s    r2   c                 C   s   | |7 } | S r   r   r"   r   r   r   Úinplace_concat_usecase;   s    r3   c                 C   s   | |kS r   r   r"   r   r   r   Ú
in_usecase@   s    r4   c                 C   s   | |k S r   r   r"   r   r   r   Ú
lt_usecaseD   s    r5   c                 C   s   | |kS r   r   r"   r   r   r   Ú
le_usecaseH   s    r6   c                 C   s   | |kS r   r   r"   r   r   r   Ú
gt_usecaseL   s    r7   c                 C   s   | |kS r   r   r"   r   r   r   Ú
ge_usecaseP   s    r8   c                 C   s
   |   |¡S r   )Ú	partition©r   Úsepr   r   r   Úpartition_usecaseT   s    r<   c                 C   s
   |   |¡S r   ©Úfindr"   r   r   r   Úfind_usecaseX   s    r?   c                 C   s   |   ||¡S r   r=   ©r    r#   Ústartr   r   r   Úfind_with_start_only_usecase\   s    rB   c                 C   s   |   |||¡S r   r=   ©r    r#   rA   Úendr   r   r   Úfind_with_start_end_usecase`   s    rE   c                 C   s
   |   |¡S r   )Ú
rpartitionr:   r   r   r   Úrpartition_usecased   s    rG   c                 C   s
   |   |¡S r   ©Úcountr"   r   r   r   Úcount_usecaseh   s    rJ   c                 C   s   |   ||¡S r   rH   r@   r   r   r   Úcount_with_start_usecasel   s    rK   c                 C   s   |   |||¡S r   rH   rC   r   r   r   Úcount_with_start_end_usecasep   s    rL   c                 C   s
   |   |¡S r   ©Úrfindr"   r   r   r   Úrfind_usecaset   s    rO   c                 C   s   |   ||¡S r   rM   r@   r   r   r   Úrfind_with_start_only_usecasex   s    rP   c                 C   s   |   |||¡S r   rM   rC   r   r   r   Úrfind_with_start_end_usecase|   s    rQ   c                 C   s   |   ||¡S r   ©Úreplace)r   r    r#   r   r   r   Úreplace_usecase€   s    rT   c                 C   s   |   |||¡S r   rR   ©r   r    r#   rI   r   r   r   Úreplace_with_count_usecase„   s    rV   c                 C   s
   |   |¡S r   ©Úrindexr"   r   r   r   Úrindex_usecaseˆ   s    rY   c                 C   s   |   ||¡S r   rW   r@   r   r   r   Úrindex_with_start_only_usecaseŒ   s    rZ   c                 C   s   |   |||¡S r   rW   rC   r   r   r   Úrindex_with_start_end_usecase�   s    r[   c                 C   s
   |   |¡S r   ©Úindexr"   r   r   r   Úindex_usecase”   s    r^   c                 C   s   |   ||¡S r   r\   r@   r   r   r   Úindex_with_start_only_usecase˜   s    r_   c                 C   s   |   |||¡S r   r\   rC   r   r   r   Úindex_with_start_end_usecaseœ   s    r`   c                 C   s
   |   |¡S r   ©Ú
startswithr"   r   r   r   Ústartswith_usecase    s    rc   c                 C   s
   |   |¡S r   ©Úendswithr"   r   r   r   Úendswith_usecase¤   s    rf   c                 C   s   |   ¡ S r   ©Ú
expandtabsr   r   r   r   Úexpandtabs_usecase¨   s    ri   c                 C   s
   |   |¡S r   rg   ©r   Útabsizer   r   r   Úexpandtabs_with_tabsize_usecase¬   s    rl   c                 C   s   | j |d�S )N)rk   rg   rj   r   r   r   Ú%expandtabs_with_tabsize_kwarg_usecase°   s    rm   c                 C   s   |   ||¡S r   ra   r@   r   r   r   Ú"startswith_with_start_only_usecase´   s    rn   c                 C   s   |   |||¡S r   ra   rC   r   r   r   Ú!startswith_with_start_end_usecase¸   s    ro   c                 C   s   |   ||¡S r   rd   r@   r   r   r   Ú endswith_with_start_only_usecase¼   s    rp   c                 C   s   |   |||¡S r   rd   rC   r   r   r   Úendswith_with_start_end_usecaseÀ   s    rq   c                 C   s
   |   |¡S r   ©Úsplitr"   r   r   r   Úsplit_usecaseÄ   s    rt   c                 C   s   |   ||¡S r   rr   ©r    r#   Úmaxsplitr   r   r   Úsplit_with_maxsplit_usecaseÈ   s    rw   c                 C   s   | j ||d�S ©N)rv   rr   ru   r   r   r   Ú!split_with_maxsplit_kwarg_usecaseÌ   s    ry   c                 C   s   |   ¡ S r   rr   r   r   r   r   Úsplit_whitespace_usecaseÐ   s    rz   c                 C   s   |   ¡ S r   ©Ú
splitlinesr   r   r   r   Úsplitlines_usecaseÔ   s    r}   c                 C   s
   |   |¡S r   r{   ©r   Úkeependsr   r   r   Ú splitlines_with_keepends_usecaseØ   s    r€   c                 C   s   | j |d�S )N)r   r{   r~   r   r   r   Ú&splitlines_with_keepends_kwarg_usecaseÜ   s    r�   c                 C   s
   |   |¡S r   ©Úrsplitr:   r   r   r   Úrsplit_usecaseà   s    r„   c                 C   s   |   ||¡S r   r‚   ©r   r;   rv   r   r   r   Úrsplit_with_maxsplit_usecaseä   s    r†   c                 C   s   | j ||d�S rx   r‚   r…   r   r   r   Ú"rsplit_with_maxsplit_kwarg_usecaseè   s    r‡   c                 C   s   |   ¡ S r   r‚   r   r   r   r   Úrsplit_whitespace_usecaseì   s    rˆ   c                 C   s   |   ¡ S r   ©Úlstripr   r   r   r   Úlstrip_usecaseð   s    r‹   c                 C   s
   |   |¡S r   r‰   ©r    Úcharsr   r   r   Úlstrip_usecase_charsô   s    rŽ   c                 C   s   |   ¡ S r   ©Úrstripr   r   r   r   Úrstrip_usecaseø   s    r‘   c                 C   s
   |   |¡S r   r�   rŒ   r   r   r   Úrstrip_usecase_charsü   s    r’   c                 C   s   |   ¡ S r   ©Ústripr   r   r   r   Ústrip_usecase   s    r•   c                 C   s
   |   |¡S r   r“   rŒ   r   r   r   Ústrip_usecase_chars  s    r–   c                 C   s
   |   |¡S r   )Újoinr"   r   r   r   Újoin_usecase  s    r˜   c                 C   s   dg}|  ¡  |  |¡S )NÚ )Úpopr—   )r    Úlr   r   r   Újoin_empty_usecase  s    rœ   c                 C   s
   |   |¡S r   ©Úcenterr"   r   r   r   Úcenter_usecase  s    rŸ   c                 C   s   |   ||¡S r   r�   ©r    r#   Úfillcharr   r   r   Úcenter_usecase_fillchar  s    r¢   c                 C   s
   |   |¡S r   ©Úljustr"   r   r   r   Úljust_usecase  s    r¥   c                 C   s   |   ||¡S r   r£   r    r   r   r   Úljust_usecase_fillchar  s    r¦   c                 C   s
   |   |¡S r   ©Úrjustr"   r   r   r   Úrjust_usecase#  s    r©   c                 C   s   |   ||¡S r   r§   r    r   r   r   Úrjust_usecase_fillchar'  s    rª   c                 C   s   |   ¡ S r   )Úistitler   r   r   r   Úistitle_usecase+  s    r¬   c                 C   s   g }| D ]}|  |¡ q|S r   ©Úappend)r    r›   r+   r   r   r   Úiter_usecase/  s    r¯   c                 C   s   |   ¡ S r   ©Útitler   r   r   r   r±   6  s    r±   c                  C   s   g } dD ]}|   |¡ q| S r   r­   )r›   r+   r   r   r   Úliteral_iter_usecase:  s    r²   c                 C   s2   d}d}t | ƒD ]\}}||7 }|d7 }q||fS )Nr™   r   é   )Ú	enumerate)r    ÚbufÚscanr+   r   r   r   r   Úenumerated_iter_usecaseA  s    
r·   c                 C   s.   t | ƒ}t| ƒ}t|d ƒD ]}t|ƒ qd S )Nr³   )r&   ÚiterÚrangeÚnext)r    Únr+   Ú_r   r   r   Úiter_stopiteration_usecaseJ  s    r½   c                  C   s2   d} t | ƒ}t| ƒ}t|d ƒD ]}t|ƒ q d S )Nr   r³   )r¸   r&   r¹   rº   )r   r+   r»   r¼   r   r   r   Ú"literal_iter_stopiteration_usecaseQ  s
    r¾   c                 C   s   |   ¡ S r   )Úislowerr   r   r   r   Úislower_usecaseY  s    rÀ   c                 C   s   |   ¡ S r   ©Úlowerr   r   r   r   Úlower_usecase]  s    rÃ   c                 C   s   t | ƒS r   r   r   r   r   r   Úord_usecasea  s    rÄ   c                 C   s   t | ƒS r   )Úchrr   r   r   r   Úchr_usecasee  s    rÆ   c                       s   e Zd Z‡ fdd„Z‡  ZS )ÚBaseTestc                    s   t t| ƒ ¡  d S r   )ÚsuperrÇ   ÚsetUp)Úself©Ú	__class__r   r   rÉ   j  s    zBaseTest.setUp)Ú__name__Ú
__module__Ú__qualname__rÉ   Ú__classcell__r   r   rË   r   rÇ   i  s   rÇ   r™   ÚasciiÚ12345Ú
1234567890õ   Â¡Y tÃº quiÃ©n te crees?õ   ðŸ��âš¡r   ÚaaaÚbZaabÚabÚascZascihZasciju   å¤§å¤„ç�€çœ¼ï¼Œå°�å¤„ç�€æ‰‹u%   å¤§å¤„ç�€çœ¼ï¼Œå°�å¤„ç�€æ‰‹ã€‚ðŸ��âš¡©r™   r™   )r™   rÑ   )rÑ   r™   )zasc iiú )rÑ   Úci)rÑ   rÑ   )rÑ   õ   Ä‚)rÑ   õ   å¤§å¤„)rÑ   õ   Ã©tÃº?)r™   õ+   å¤§å¤„ ç�€çœ¼ï¼Œå°�å¤„ç�€æ‰‹ã€‚å¤§å¤§å¤§å¤„)rà   r™   )rà   rÛ   )rà   rÜ   )rà   u   å¤§å¤„å¤§å¤„)rà   rà   )rà   rÝ   ©rà   rÞ   )rà   rß   )r™   õ   tÃº quiÃ©n te crees?)râ   r™   )râ   rÛ   )râ   rÜ   )râ   râ   )râ   rÝ   )râ   rÞ   )râ   rß   )ÚababababÚa)rã   rØ   )rã   Úaba)Ú
aaaaaaaaaarÖ   )ræ   õ   aÄ‚)ZaabbaaaabbaaÚaac                   @   s(  e Zd Zefdd„Zefdd„Zefdd„Zdd„ Zd	d
„ Zefdd„Z	efdd„Z
efdd„Zefdd„Zefdd„Zefdd„Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Zefd3d4„Zd5d6„ Zd7d8„ Zefd9d:„Z d;d<„ Z!d=d>„ Z"d?d@„ Z#dAdB„ Z$dCdD„ Z%dEdF„ Z&dGdH„ Z'dIdJ„ Z(dKdL„ Z)dMdN„ Z*dOdP„ Z+dQdR„ Z,dSdT„ Z-dUdV„ Z.dWdX„ Z/dYdZ„ Z0d[d\„ Z1d]d^„ Z2d_d`„ Z3dadb„ Z4dcdd„ Z5dedf„ Z6dgdh„ Z7didj„ Z8dkdl„ Z9dmdn„ Z:dodp„ Z;dqdr„ Z<dsdt„ Z=dudv„ Z>dwdx„ Z?dydz„ Z@d{d|„ ZAefd}d~„ZBefdd€„ZCd�d‚„ ZDdƒd„„ ZEd…d†„ ZFd‡dˆ„ ZGd‰dŠ„ ZHd‹dŒ„ ZId�dŽ„ ZJd�d�„ ZKd‘d’„ ZLd“d”„ ZMd•d–„ ZNd—d˜„ ZOd™dš„ ZPd›dœ„ ZQd�dž„ ZRdŸd „ ZSd¡d¢„ ZTd£d¤„ ZUd¥d¦„ ZVd§d¨„ ZWd©dª„ ZXefd«d¬„ZYd­d®„ ZZd¯d°„ Z[d±d²„ Z\d³d´„ Z]dµd¶„ Z^efd·d¸„Z_efd¹dº„Z`efd»d¼„Zaefd½d¾„Zbefd¿dÀ„ZcdÁdÂ„ ZddÃdÄ„ ZedÅdÆ„ ZfdÇdÈ„ ZgdÉdÊ„ ZhdËdÌ„ ZidÍdÎ„ ZjdÏdÐ„ ZkdÑdÒ„ ZldÓdÔ„ ZmdÕdÖ„ Znd×dØ„ ZodÙdÚ„ ZpdÛdÜ„ ZqdÝdÞ„ Zrdßdà„ Zsdádâ„ Ztdãdä„ Zudådæ„ Zvdçdè„ Zwdédê„ Zxdëdì„ Zydídî„ Zzdïdð„ Z{dñdò„ Z|dódô„ Z}dõS )öÚTestUnicodec                 C   s   t }| j||d� d S )N)Úflags)r   Zrun_nullary_func)rÊ   rê   Úpyfuncr   r   r   Útest_literal¯  s    zTestUnicode.test_literalc                 C   s.   t }t|ƒ}tD ]}|  ||ƒ||ƒ¡ qd S r   )r!   r   ÚUNICODE_EXAMPLESÚassertEqual©rÊ   rê   rë   Úcfuncr   r   r   r   Útest_passthrough³  s    zTestUnicode.test_passthroughc              	   C   sŽ   t }t|ƒ}tD ]x}ttƒD ]j}|  |||ƒ|||ƒd||f ¡ |  ||dƒ||dƒd|df ¡ |  |d|ƒ|d|ƒdd|f ¡ qqd S )Nz%s, %sr³   )r$   r   rí   Úreversedrî   ©rÊ   rê   rë   rð   rä   r×   r   r   r   Útest_eq¹  s      
ÿ 
ÿ 
ÿzTestUnicode.test_eqc                 C   s<   t dd„ ƒ}tdŽ D ]"\}}|  |||ƒ| ||¡¡ qd S )Nc                 S   s8   | dkrd}nd }|dk r d}nd }||kr0dS dS d S )Nr   Zconcreteé
   é   r   )Zpred1Zpred2Z	resolved1Z	resolved2r   r   r   ÚfooÈ  s    z)TestUnicode.test_eq_optional.<locals>.foo)©éÿÿÿÿr³   rø   )r   r   rî   Úpy_func)rÊ   r÷   Úp1Úp2r   r   r   Útest_eq_optionalÆ  s    
zTestUnicode.test_eq_optionalc              	   C   s¢   |}t |ƒ}tD ]*}|  |||ƒ|||ƒd|j||f ¡ qttdd�D ]T\}}|  |||ƒ|||ƒd|j||f ¡ |  |||ƒ|||ƒd|j||f ¡ qHd S )Nz%s: "%s", "%s"é   ©Úr)r   ÚUNICODE_ORDERING_EXAMPLESrî   rÍ   r   )rÊ   Zusecaserë   rð   rä   r×   r   r   r   Ú_check_ordering_opÜ  s&    ýýýzTestUnicode._check_ordering_opc                 C   s   |   t¡ d S r   )r  r5   ©rÊ   rê   r   r   r   Útest_ltö  s    zTestUnicode.test_ltc                 C   s   |   t¡ d S r   )r  r6   r  r   r   r   Útest_leù  s    zTestUnicode.test_lec                 C   s   |   t¡ d S r   )r  r7   r  r   r   r   Útest_gtü  s    zTestUnicode.test_gtc                 C   s   |   t¡ d S r   )r  r8   r  r   r   r   Útest_geÿ  s    zTestUnicode.test_gec                 C   s.   t }t|ƒ}tD ]}|  ||ƒ||ƒ¡ qd S r   )r'   r   rí   rî   rï   r   r   r   Útest_len  s    zTestUnicode.test_lenc                 C   s.   t }t|ƒ}tD ]}|  ||ƒ||ƒ¡ qd S r   )r)   r   rí   rî   rï   r   r   r   Ú	test_bool  s    zTestUnicode.test_boolc              	   C   sR   t }t|ƒ}ddddddddd	g	}d
}|D ]"}| j||ƒ||ƒ| |¡d� q*d S )Nr™   ú	út	t	úa	õ   	âš¡ú	a	bc
ab	cõ   ðŸ��	âš¡õ   ðŸ��âš¡
		ðŸ��	úabab			ab
	az*Results of "{}".expandtabs() must be equal©Úmsg)ri   r   rî   Úformat©rÊ   rë   rð   Úcasesr  r   r   r   r   Útest_expandtabs  s      ÿzTestUnicode.test_expandtabsc              
   C   s†   t tƒt tƒg}ddg}ddddddd	d
dg	}|D ]N}tddƒD ]>}t||ƒD ].\}}| j| ||¡|||ƒ| ||¡d� qNq@q2d S )Nz,Results of "{}".expandtabs({}) must be equalz4Results of "{}".expandtabs(tabsize={}) must be equalr™   r
  r  r  r  r  r  r  r  rù   rõ   r  )r   rl   rm   r¹   Úziprî   rú   r  )rÊ   ÚfnsÚmessagesr  r   rk   Úfnr  r   r   r   Útest_expandtabs_with_tabsize  s"    ÿÿ  ÿ
ÿz(TestUnicode.test_expandtabs_with_tabsizec              	   C   sV   t }t|ƒ}tjtf}|  t¡�}|ddƒ W 5 Q R X d |¡}|  |t	|j
ƒ¡ d S )Nr
  ç333333@z"tabsize" must be {}, not float)rl   r   r   ÚIntegerÚintÚassertRaisesr
   r  ÚassertInÚstrÚ	exception)rÊ   rë   rð   Úaccepted_typesÚraisesr  r   r   r   Ú,test_expandtabs_exception_noninteger_tabsize(  s    

z8TestUnicode.test_expandtabs_exception_noninteger_tabsizec           	   
   C   s–   t }t|ƒ}dddg}ddddddddddg
}d	d
g}|t D ]R}dd|d d… |dd … ||| g}|| | D ]}|  |||ƒ|||ƒ¡ qrq>d S ©NÚhelloÚ
helloworldr™   ÚheÚelloÚlowoÚloÚoÚhellohellohellorÛ   r    éþÿÿÿé   ©rc   r   rí   rî   )	rÊ   rë   rð   Úcpython_strÚcpython_subsÚ
extra_subsr   Údefault_subsÚprefixr   r   r   Útest_startswith_default2  s&    
        þ$z#TestUnicode.test_startswith_defaultc           
   
   C   s´   t }t|ƒ}dddg}ddddddddddg
}d	d
g}|t D ]p}dd|d d… |dd … ||| g}|| | D ]:}ttddƒƒd g D ] }	|  ||||	ƒ||||	ƒ¡ qŠqrq>d S ©Nr(  r)  r™   r*  r+  r,  r-  r.  r/  rÛ   r    r0  r1  éìÿÿÿrö   )rn   r   rí   Úlistr¹   rî   )
rÊ   rë   rð   r3  r4  r5  r   r6  r7  rA   r   r   r   Útest_startswith_with_startA  s,    
        þ$
ÿz&TestUnicode.test_startswith_with_startc                 C   sÒ   t }t|ƒ}dddg}ddddddddddg
}d	d
g}|t D ]Ž}dd|d d… |dd … ||| g}|| | D ]X}ttddƒƒd g D ]>}	ttddƒƒd g D ]$}
|  ||||	|
ƒ||||	|
ƒ¡ q¢qŠqrq>d S r9  ©ro   r   rí   r;  r¹   rî   )rÊ   rë   rð   r3  r4  r5  r   r6  r7  rA   rD   r   r   r   Útest_startswith_with_start_endR  s.    
        þ$ÿz*TestUnicode.test_startswith_with_start_endc              	   C   s”   d}|   t|¡� ttƒ}|ddƒ W 5 Q R X d}|   t|¡� ttƒ}|dddƒ W 5 Q R X d}|   t|¡� ttƒ}|dddd	ƒ W 5 Q R X d S )
Nz9The arg 'prefix' should be a string or a tuple of stringsr(  )r³   r*  z:When specified, the arg 'start' must be an Integer or Noner*  zinvalid startz8When specified, the arg 'end' must be an Integer or Noner   zinvalid end)ÚassertRaisesRegexr
   r   rc   rn   ro   )rÊ   Zmsg_invalid_prefixrð   Zmsg_invalid_startZmsg_invalid_endr   r   r   Ú&test_startswith_exception_invalid_argsd  s    ÿÿÿz2TestUnicode.test_startswith_exception_invalid_argsc           
   
   C   sž   t }t|ƒ}dddg}ddddddddddg
}d	d
g}|t D ]Z}dd|d d… |dd … ||| g}|| | D ]$}|df}	|  |||	ƒ|||	ƒ¡ qrq>d S r'  r2  )
rÊ   rë   rð   r3  r4  r5  r   r6  Úsub_strr7  r   r   r   Útest_startswith_tuplew  s,    
        þ$ÿz!TestUnicode.test_startswith_tuplec                 C   sÚ   t }t|ƒ}dddg}ddddddddddg
}d	d
g}|t D ]–}dd|d d… |dd … ||| g}|| | D ]`}ttddƒƒd g D ]F}	ttddƒƒd g D ],}
|df}|  ||||	|
ƒ||||	|
ƒ¡ q¢qŠqrq>d S r9  r=  )rÊ   rë   rð   r3  r4  r5  r   r6  rA  rA   rD   r7  r   r   r   Útest_startswith_tuple_argsˆ  s0    
        þ$ÿz&TestUnicode.test_startswith_tuple_argsc           
   
   C   s¦   t }t|ƒ}dddg}ddddddddddg
}d	d
g}|t D ]b}dd|d d… |dd … ||| g}|| | D ],}d}	| j|||ƒ|||ƒ|	 ||¡d� qrq>d S )Nr(  r)  r™   r*  r+  r,  r-  r.  r/  rÛ   r    r0  r1  z)Results "{}".endswith("{}") must be equalr  ©rf   r   rí   rî   r  )
rÊ   rë   rð   r3  r4  r5  r   r6  rA  r  r   r   r   Útest_endswith_default›  s,    
        þ$
ÿz!TestUnicode.test_endswith_defaultc                 C   sÆ   t }t|ƒ}dddg}ddddddddddg
}d	d
g}|t D ]‚}dd|d d… |dd … ||| g}|| | D ]L}ttddƒƒd g D ]2}	d}
| j||||	ƒ||||	ƒ|
 |||	¡d� qŠqrq>d S )Nr(  r)  r™   r*  r+  r,  r-  r.  r/  rÛ   r    r0  r1  r:  rö   z-Results "{}".endswith("{}", {}) must be equalr  )rp   r   rí   r;  r¹   rî   r  )rÊ   rë   rð   r3  r4  r5  r   r6  rA  rA   r  r   r   r   Útest_endswith_with_start®  s0    
        þ$
þz$TestUnicode.test_endswith_with_startc                 C   sæ   t }t|ƒ}dddg}ddddddddddg
}d	d
g}|t D ]¢}dd|d d… |dd … ||| g}|| | D ]l}ttddƒƒd g D ]R}	ttddƒƒd g D ]8}
d}| j||||	|
ƒ||||	|
ƒ| |||	|
¡d� q¢qŠqrq>d S ©Nr(  r)  r™   r*  r+  r,  r-  r.  r/  rÛ   r    r0  r1  r:  rö   zOResults "{}".endswith("{}", {}, {})                               must be equalr  ©rq   r   rí   r;  r¹   rî   r  )rÊ   rë   rð   r3  r4  r5  r   r6  rA  rA   rD   r  r   r   r   Útest_endswith_with_start_endÃ  s2    
        þ$þz(TestUnicode.test_endswith_with_start_endc              
   C   s®   t }t|ƒ}dddg}ddddddddddg
}d	d
g}|t D ]j}dd|d d… |dd … ||| g}|| | D ]4}d}	|df}
| j|||
ƒ|||
ƒ|	 ||
¡d� qrq>d S )Nr(  r)  r™   r*  r+  r,  r-  r.  r/  rÛ   r    r0  r1  z'Results "{}".endswith({}) must be equalr  rD  )rÊ   rë   rð   r3  r4  r5  r   r6  rA  r  Ú
tuple_subsr   r   r   Útest_endswith_tupleÚ  s0    
        þ$
þzTestUnicode.test_endswith_tuplec                 C   sî   t }t|ƒ}dddg}ddddddddddg
}d	d
g}|t D ]ª}dd|d d… |dd … ||| g}|| | D ]t}ttddƒƒd g D ]Z}	ttddƒƒd g D ]@}
d}|df}| j||||	|
ƒ||||	|
ƒ| |||	|
¡d� q¢qŠqrq>d S rG  rH  )rÊ   rë   rð   r3  r4  r5  r   r6  rA  rA   rD   r  rJ  r   r   r   Útest_endswith_tuple_argsï  s:    
        þ$ ÿþz$TestUnicode.test_endswith_tuple_argsc              	   C   sv   t }t|ƒ}tD ]`}dd|d d d… |d d… |dd … ||| g}|D ]&}|  |||ƒ|||ƒd||f ¡ qHqd S )Nr™   Úxxrù   r0  r1  z'%s' in '%s'?)r4   r   rí   rî   )rÊ   rê   rë   rð   rä   ÚextrasÚsubstrr   r   r   Útest_in  s    0
þzTestUnicode.test_inc              
   C   s    |   ¡  t}t|ƒ}||fD ]6}|  t¡�}|ddƒ W 5 Q R X |  dt|jƒ¡ qtj	tj
f}|  t¡�}|dd ƒ W 5 Q R X d |¡}|  |t|jƒ¡ d S ©Nrä   r™   úempty separatorz"sep" must be {}, not none)Údisable_leak_checkr<   r   r   Ú
ValueErrorr!  r"  r#  r   ÚUnicodeTypeÚUnicodeCharSeqr
   r  ©rÊ   rë   rð   Úfuncr%  r$  r  r   r   r   Ú$test_partition_exception_invalid_sep  s    
z0TestUnicode.test_partition_exception_invalid_sepc              	   C   s\   t }t|ƒ}ddddddddd	g	}d
}|D ],\}}| j|||ƒ|||ƒ| ||¡d� q*d S )N©r™   õ   âš¡©Úabcabcr[  ©rÕ   r[  ©õ   ðŸ��âš¡ðŸ��r[  ©Úabababarä   ©rb  r×   ©rb  r   ©rb  rØ   ©rb  rå   z-Results of "{}".partition("{}") must be equalr  )r<   r   rî   r  ©rÊ   rë   rð   ÚCASESr  r   r;   r   r   r   Útest_partition$  s"    ÷
ÿzTestUnicode.test_partitionc           
      C   sÈ   t }t|ƒ}dd„ tD ƒ}dddddgfdd	d
dgfddgfddgfddgfddd	ddgfdd	dgfddgfddgfddgfg
}|| D ]:\}}|D ],}d}	| j|||ƒ|||ƒ|	 ||¡d� q”qˆd S )Nc              	   S   s.   g | ]&}|d d|dd… |dd… |gf‘qS ©r™   rM  Nr0  r1  r   ©r   r   r   r   r   Ú
<listcomp><  s    z)TestUnicode.test_find.<locals>.<listcomp>uf   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaÄ‚rÝ   õ   È�õ   Ä õ   È uh   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaô€Œ„õ   ô€Œ„õ   ô€ˆ„õ   ô‚€„õÉ   Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚arä   õ‘  ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„aõ’  ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„Ä‚Údaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarç   u   aô€Œ„õÈ   Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚u   Ä‚ô€Œ„õÊ   Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚a_Úa_õ’  ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„a_õ“  ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„Ä‚_õ   Ä‚_z%Results "{}".find("{}") must be equalr  )r?   r   rí   rî   r  )
rÊ   rê   rë   rð   r6  r4  r   ÚsubsrA  r  r   r   r   Ú	test_find8  s0    ÿÿ
õ
ÿzTestUnicode.test_findc                 C   s†   t }t|ƒ}tD ]p}dd|d d… |dd … |fD ]L}ttddƒƒd g D ]2}d}| j||||ƒ||||ƒ| |||¡d� qJq2qd S )	Nr™   rM  r0  r1  r:  rö   z)Results "{}".find("{}", {}) must be equalr  )rB   r   rí   r;  r¹   rî   r  ©rÊ   rë   rð   r   rA  rA   r  r   r   r   Útest_find_with_start_onlyT  s    "
þz%TestUnicode.test_find_with_start_onlyc           
      C   sž   t }t|ƒ}ttddƒƒd g  }}tD ]p}dd|d d… |dd … |fD ]L}t||ƒD ]<\}}d}	| j|||||ƒ|||||ƒ|	 ||||¡d� qXqJq(d S )	Nr:  rö   r™   rM  r0  r1  z0Results of "{}".find("{}", {}, {}) must be equalr  )rE   r   r;  r¹   rí   r   rî   r  ©
rÊ   rë   rð   ÚstartsÚendsr   rA  rA   rD   r  r   r   r   Útest_find_with_start_end`  s    "þz$TestUnicode.test_find_with_start_endc           	   
   C   sn   t }t|ƒ}tjtjf}dD ]L\}}}|  t¡�}|dd||ƒ W 5 Q R X d ||¡}|  |t	|j
ƒ¡ qd S ©N))çš™™™™™¹?é   rA   )r   ç      à?rD   rÑ   Zsciz"{}" must be {}, not float)rE   r   r   r  ÚNoneTyper   r
   r  r!  r"  r#  )	rÊ   rë   rð   ÚacceptedrA   rD   Únamer%  r  r   r   r   Ú(test_find_exception_noninteger_start_endm  s    z4TestUnicode.test_find_exception_noninteger_start_endc              
   C   s    |   ¡  t}t|ƒ}||fD ]6}|  t¡�}|ddƒ W 5 Q R X |  dt|jƒ¡ qtj	tj
f}|  t¡�}|dd ƒ W 5 Q R X d |¡}|  |t|jƒ¡ d S rQ  )rS  rG   r   r   rT  r!  r"  r#  r   rU  rV  r
   r  rW  r   r   r   Ú%test_rpartition_exception_invalid_sepx  s    
z1TestUnicode.test_rpartition_exception_invalid_sepc              	   C   s\   t }t|ƒ}ddddddddd	g	}d
}|D ],\}}| j|||ƒ|||ƒ| ||¡d� q*d S )NrZ  r\  r^  r_  ra  rc  rd  re  rf  z.Results of "{}".rpartition("{}") must be equalr  )rG   r   rî   r  rg  r   r   r   Útest_rpartitionŠ  s"    ÷
ÿzTestUnicode.test_rpartitionc                 C   sP   t }t|ƒ}d}tD ]6\}}|||ƒ}|||ƒ}|  ||| ||||¡¡ qd S )Nz6'{0}'.py_count('{1}') = {2}
'{0}'.c_count('{1}') = {3})rJ   r   ÚUNICODE_COUNT_EXAMPLESrî   r  )rÊ   rë   rð   Ú	error_msgr   ÚsubÚ	py_resultÚc_resultr   r   r   Ú
test_countž  s    

ÿzTestUnicode.test_countc           	      C   sž   t }t|ƒ}dd }tD ]€\}}tddƒD ]8}||||ƒ}||||ƒ}|  ||| |||||¡¡ q*|||d ƒ}|||d ƒ}|  ||| ||d ||¡¡ qd S )Nú%s
%s)z '{0}'.py_count('{1}', {2}) = {3}z'{0}'.c_count('{1}', {2}) = {4}éîÿÿÿé   )rK   r   r�  r¹   rî   r  )	rÊ   rë   rð   r�  r   r‘  r+   r’  r“  r   r   r   Útest_count_with_start©  s&    ÿÿÿÿz!TestUnicode.test_count_with_startc           
      C   sþ   t }t|ƒ}dd }tD ]à\}}ttddƒdƒD ]B\}}|||||ƒ}|||||ƒ}	|  ||	| ||||||	¡¡ q0tddƒD ]>}|||d |ƒ}|||d |ƒ}	|  ||	| ||d |||	¡¡ q~|||d d ƒ}|||d d ƒ}	|  ||	| ||d d ||	¡¡ qd S )Nr•  )ú%'{0}'.py_count('{1}', {2}, {3}) = {4}z$'{0}'.c_count('{1}', {2}, {3}) = {5}r–  r—  )r–  r—  )rL   r   r�  r   r¹   rî   r  )
rÊ   rë   rð   r�  r   r‘  r+   Újr’  r“  r   r   r   Útest_count_with_start_end½  s6    ÿÿÿÿÿÿz%TestUnicode.test_count_with_start_endc              	   C   s®   t tƒ}|  t¡�}|ddddƒ W 5 Q R X |  dt|jƒ¡ |  t¡�}|ddddƒ W 5 Q R X |  dt|jƒ¡ |  t¡�}|ddddƒ W 5 Q R X |  d	t|jƒ¡ d S )
NrÑ   r   r³   rˆ  ú,The slice indices must be an Integer or Noneg333333ó?é   é   z(The substring must be a UnicodeType, not)r   rL   r   r
   r!  r"  r#  ©rÊ   rð   r%  r   r   r   Útest_count_arg_type_checkØ  s     ÿÿÿz%TestUnicode.test_count_arg_type_checkc                    s¾   t ‰ ‡ fdd„}|  t¡�}|ddddƒ W 5 Q R X |  dt|jƒ¡ dd }t tjtjt 	tj¡t 	tj¡¡}t
|gƒˆ ƒ}ˆ ddd	d
ƒ}|ddd	d
ƒ}|  ||| ddd	d
||¡¡ d S )Nc                     s6   t  t jt jt  t j¡t  t j¡¡}t|gƒˆ ƒ d S r   )r   Úint64Úunicode_typeÚOptionalÚfloat64r   )ÚargsZbad_sig©rë   r   r   Útry_compile_bad_optionalí  s    

ýzPTestUnicode.test_count_optional_arg_type_check.<locals>.try_compile_bad_optionalõ	   tÃº quis?u   tÃºçš™™™™™ñ?rœ  r•  )r™  z''{0}'.c_count_op('{1}', {2}, {3}) = {5}r   é   )rL   r   r
   r!  r"  r#  r   r¡  r¢  r£  r   rî   r  )rÊ   r§  r%  r�  Zsig_optionalÚcfunc_optionalr’  r“  r   r¦  r   Ú"test_count_optional_arg_type_checkê  s*    ÿ

ýÿÿz.TestUnicode.test_count_optional_arg_type_checkc           	      C   sÒ   t }t|ƒ}dd„ tD ƒ}dddddgfdd	d
dgfdddgfddgfddgfddgfddd	ddgfdd	dgfddgfddgfddgfg}|| D ]:\}}|D ],}d}| j|||ƒ|||ƒ| ||¡d� qžq’d S )Nc              	   S   s.   g | ]&}|d d|dd… |dd… |gf‘qS rj  r   rk  r   r   r   rl    s    z*TestUnicode.test_rfind.<locals>.<listcomp>uf   Ä‚aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarÝ   rm  rn  ro  uh   ô€Œ„aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarp  rq  rr  ÚabcdefghiabcÚabcr™   õÉ   aÄ‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚rä   õ‘  aô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„õ’  Ä‚ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„rv  u   Ä‚au   ô€Œ„arw  u   ô€Œ„Ä‚õÊ   _aÄ‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ä‚Ú_aõ’  _aô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„õ“  _Ä‚ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„ô€Œ„õ   _Ä‚z&Results "{}".rfind("{}") must be equalr  )rO   r   rí   rî   r  ©	rÊ   rë   rð   r6  r4  r   r}  rA  r  r   r   r   Ú
test_rfind  s2    ÿÿ

ô
ÿzTestUnicode.test_rfindc                 C   s†   t }t|ƒ}tD ]p}dd|d d… |dd … |fD ]L}ttddƒƒd g D ]2}d}| j||||ƒ||||ƒ| |||¡d� qJq2qd S )	Nr™   rM  r0  r1  r:  rö   z*Results "{}".rfind("{}", {}) must be equalr  )rP   r   rí   r;  r¹   rî   r  r  r   r   r   Útest_rfind_with_start_only$  s    "
þz&TestUnicode.test_rfind_with_start_onlyc           
      C   s®   t }t|ƒ}ttddƒƒd g }ttddƒƒd g }tD ]p}dd|d d… |dd … |fD ]L}t||ƒD ]<\}}d}	| j|||||ƒ|||||ƒ|	 ||||¡d� qhqZq8d S )	Nr:  rö   r™   rM  r0  r1  z1Results of "{}".rfind("{}", {}, {}) must be equalr  )rQ   r   r;  r¹   rí   r   rî   r  r�  r   r   r   Útest_rfind_with_start_end0  s    "þz%TestUnicode.test_rfind_with_start_endc                 C   s^   t tƒ}tD ]L}dD ]B}|  t¡�}|||ƒ W 5 Q R X d tj¡}|  |t	|j
ƒ¡ qqd S )N)Nr³   Fú
must be {})r   rO   rí   r   r
   r  r   rU  r!  r"  r#  )rÊ   rð   r   rA  r%  r  r   r   r   Útest_rfind_wrong_substr>  s    z#TestUnicode.test_rfind_wrong_substrc           	      C   sþ   t tƒ}tjtjf}tD ]à}dd|d d… |dd … |fD ]¼}tddgddgƒD ]H\}}|  t¡�}|||||ƒ W 5 Q R X d	 	|¡}|  
|t|jƒ¡ qPtddgd
dgƒD ]H\}}|  t¡�}|||||ƒ W 5 Q R X d 	|¡}|  
|t|jƒ¡ q¬q:qd S )Nr™   rM  r0  r1  r†  Frù   r³   z"start" must be {}gš™™™™™¹¿Tz"end" must be {})r   rQ   r   r  r‰  rí   r   r   r
   r  r!  r"  r#  )	rÊ   rð   r$  r   rA  rA   rD   r%  r  r   r   r   Útest_rfind_wrong_start_endH  s    "

z&TestUnicode.test_rfind_wrong_start_endc              	   C   sª   t d }|dd… }tjtjf}d |¡}dd„ }|  t¡�}|||ddƒ W 5 Q R X |  |t|j	ƒ¡ dd	„ }|  t¡�}|||ddƒ W 5 Q R X |  |t|j	ƒ¡ d S )
Nr   r³   rù   r»  c                  W   s6   t  t jt jt  t j¡t  t j¡¡}t|gƒtƒ d S r   )r   r¡  r¢  r£  r¤  Úintpr   rQ   ©r¥  Zwrong_sig_optionalr   r   r   Ú try_compile_wrong_start_optionalb  s    

ýzYTestUnicode.test_rfind_wrong_start_end_optional.<locals>.try_compile_wrong_start_optionalr†  c                  W   s6   t  t jt jt  t j¡t  t j¡¡}t|gƒtƒ d S r   )r   r¡  r¢  r£  r¾  r¤  r   rQ   r¿  r   r   r   Útry_compile_wrong_end_optionalm  s    

ýzWTestUnicode.test_rfind_wrong_start_end_optional.<locals>.try_compile_wrong_end_optional)
rí   r   r  r‰  r  r   r
   r!  r"  r#  )rÊ   r   rA  r$  r  rÀ  r%  rÁ  r   r   r   Ú#test_rfind_wrong_start_end_optional\  s    
z/TestUnicode.test_rfind_wrong_start_end_optionalc           	   	   C   s¢   t }t|ƒ}dd„ tD ƒ}ddddgfddgfd	dgfd
dgfddgfddgfddgfg}|| D ]:\}}|D ],}d}| j|||ƒ|||ƒ| ||¡d� qnqbd S )Nc                 S   s,   g | ]$}|d |dd… |dd… |gf‘qS ©r™   Nr0  r1  r   rk  r   r   r   rl  |  s    z+TestUnicode.test_rindex.<locals>.<listcomp>r­  r™   Údefr®  r¯  rä   r°  r±  rÝ   r²  r³  r´  rµ  r¶  z'Results "{}".rindex("{}") must be equalr  )rY   r   rí   rî   r  r·  r   r   r   Útest_rindexx  s&    ÿù	
ÿzTestUnicode.test_rindexc           	   	   C   s¢   t }t|ƒ}dd„ tD ƒ}ddddgfddgfd	dgfd
dgfddgfddgfddgfg}|| D ]:\}}|D ],}d}| j|||ƒ|||ƒ| ||¡d� qnqbd S )Nc                 S   s,   g | ]$}|d |dd… |dd… |gf‘qS rÃ  r   rk  r   r   r   rl  ”  s    z*TestUnicode.test_index.<locals>.<listcomp>r­  r™   rÄ  r®  rs  rä   rt  ru  rÝ   rx  ry  rz  r{  r|  z&Results "{}".index("{}") must be equalr  )r^   r   rí   rî   r  r·  r   r   r   Ú
test_index�  s&    ÿù	
ÿzTestUnicode.test_indexc                 C   s  t tg}ddg}dddddg}t||ƒD ]æ\}}t|ƒ}|D ]Ð}t|ƒ}dttd	|d
 ƒƒf|d d… dgttd	d
| ƒƒ f|dd … ttdƒƒttd	d| ƒƒ f|dgttd	d
| ƒƒ fg}	|	D ]B\}
}|d g D ].}| j|||
|ƒ|||
|ƒ| ||
|¡d� qÚqÈq<q(d S )Nz*Results "{}".index("{}", {}) must be equalz+Results "{}".rindex("{}", {}) must be equalrÑ   rÒ   rÓ   rÔ   r   r™   éöÿÿÿr³   r0  r   r1  é   r  )	r_   rZ   r  r   r&   r;  r¹   rî   r  )rÊ   Úpyfuncsr  Úunicode_examplesrë   r  rð   r   r›   r  rA  r‚  rA   r   r   r   Ú!test_index_rindex_with_start_only¨  s6    ÿÿû"(ü
þz-TestUnicode.test_index_rindex_with_start_onlyc                 C   sf  t tg}ddg}dddddg}t||ƒD �]6\}}t|ƒ}|D �]}t|ƒ}dttd	|d
 ƒƒtt|dƒƒf|d d… dgttd	d
| ƒƒ ddgtt|d dƒƒ f|dd … ttdƒƒttd	dƒƒ tt|dƒƒf|dgttd	d
| ƒƒ tt|dƒƒfg}	|	D ]X\}
}}t|d g |ƒD ]:\}}| j|||
||ƒ|||
||ƒ| 	||
||¡d� �q�qq>q(d S )Nz1Results of "{}".index("{}", {}, {}) must be equalz2Results of "{}".rindex("{}", {}, {}) must be equalrÑ   rÒ   rÓ   rÔ   r   r™   rÇ  r³   rõ   r0  r   rù   rþ   r1  rÈ  r  )
r`   r[   r  r   r&   r;  r¹   r   rî   r  )rÊ   rÉ  r  rÊ  rë   r  rð   r   r›   r  rA  r‚  rƒ  rA   rD   r   r   r   Ú test_index_rindex_with_start_endÄ  s:    ÿû
  ÿ"ÿ&úþz,TestUnicode.test_index_rindex_with_start_endc                 C   s  |   ¡  dddddg}ttg}|D ]ò}t|ƒ}|D ]à}t|ƒ}dtt|d dƒƒ|gf|d d	… d
gtt|d ƒƒf|dd … ttddƒƒ|gf|d gtt|ƒƒfg}|D ]f\}}	}
t|	|
ƒD ]P\}}||fD ]>}|  t	¡�}|||||ƒ W 5 Q R X d}|  
|t|jƒ¡ qÎq¾qªq2q"d S )NrÑ   rÒ   rÓ   rÔ   r   r™   r³   rõ   r0  r   rþ   r1  rÈ  zsubstring not found)rS  r`   r[   r   r&   r;  r¹   r   r   rT  r!  r"  r#  )rÊ   rÊ  rÉ  rë   rð   r   r›   r  rA  r‚  rƒ  rA   rD   rX  r%  r  r   r   r   Ú/test_index_rindex_exception_substring_not_foundá  s0    ûüz;TestUnicode.test_index_rindex_exception_substring_not_foundc           
      C   s|   t jt jf}ttg}|D ]^}t|ƒ}dD ]L\}}}|  t¡�}|dd||ƒ W 5 Q R X d ||¡}	|  	|	t
|jƒ¡ q(qd S r…  )r   r  r‰  r`   r[   r   r   r
   r  r!  r"  r#  )
rÊ   rŠ  rÉ  rë   rð   rA   rD   r‹  r%  r  r   r   r   Ú0test_index_rindex_exception_noninteger_start_endþ  s    z<TestUnicode.test_index_rindex_exception_noninteger_start_endc              	   C   sV   t }t|ƒ}tD ]@}tt|ƒ t|ƒƒD ]&}|  |||ƒ|||ƒd||f ¡ q(qd S )Nú	'%s'[%d]?)r,   r   rí   r¹   r&   rî   )rÊ   rë   rð   r   r+   r   r   r   Útest_getitem	  s    
þzTestUnicode.test_getitemc              	   C   s^   t }t|ƒ}ddg}|D ]@}tt|ƒ t|ƒƒD ]&}|  |||ƒ|||ƒd||f ¡ q0qd S )Nu   aáˆ´u   Â¡ç�€rÏ  )r.   r   r¹   r&   rî   )rÊ   rë   rð   Úsamplesr   r+   r   r   r   Útest_getitem_scalar_kind  s    
þz$TestUnicode.test_getitem_scalar_kindc              
   C   sŽ   |   ¡  t}t|ƒ}tD ]p}|  t¡�}||t|ƒƒ W 5 Q R X |  dt|j	ƒ¡ |  t¡�}||t|ƒƒ W 5 Q R X |  dt|j	ƒ¡ qd S )Nzstring index out of range)
rS  r,   r   rí   r   Ú
IndexErrorr&   r!  r"  r#  )rÊ   rë   rð   r   r%  r   r   r   Útest_getitem_error   s    zTestUnicode.test_getitem_errorc                 C   s„   t }t|ƒ}tD ]n}ttt|ƒ t|ƒƒƒD ]P}ttt|ƒ t|ƒƒƒD ]2}t||ƒ}|  |||ƒ|||ƒd|||f ¡ qHq,qd S )Nú'%s'[%d:%d]?)r,   r   rí   r;  r¹   r&   Úslicerî   ©rÊ   rë   rð   r   r+   rš  Úslr   r   r   Útest_slice2/  s    
þzTestUnicode.test_slice2c                 C   s„   t }t|ƒ}tD ]n}ddt|ƒt|ƒd fD ]P}ddt|ƒt|ƒd fD ]2}t||ƒ}|  |||ƒ|||ƒd|||f ¡ qHq,qd S )Nr0  rù   r³   rÕ  ©r,   r   rí   r&   rÖ  rî   r×  r   r   r   Útest_slice2_error;  s    
þzTestUnicode.test_slice2_errorc                 C   s˜   t }t|ƒ}ddg}|D ]z}dddddt|ƒt|ƒd fD ]V}dddddt|ƒt|ƒd fD ]2}t||ƒ}|  |||ƒ|||ƒd|||f ¡ q\q:qd S )	Nõ	   abcáˆ´áˆ´u   Â¡Â¡Â¡ç�€ç�€ç�€r0  rù   r   r³   rþ   rÕ  )r.   r   r&   rÖ  rî   )rÊ   rë   rð   rÑ  r   r+   rš  rØ  r   r   r   Útest_getitem_slice2_kindG  s    ""
þz$TestUnicode.test_getitem_slice2_kindc                 C   sŠ   t }t|ƒ}tD ]t}tt|ƒ t|ƒƒD ]Z}tt|ƒ t|ƒƒD ]@}dD ]6}t|||ƒ}|  |||ƒ|||ƒd||||f ¡ qHq@q(qd S )N©r0  rù   r³   rþ   ú'%s'[%d:%d:%d]?)r,   r   rí   r¹   r&   rÖ  rî   ©rÊ   rë   rð   r   r+   rš  ÚkrØ  r   r   r   Útest_slice3U  s    þzTestUnicode.test_slice3c           	      C   sš   t }t|ƒ}ddddddg}|D ]t}tt|ƒ t|ƒƒD ]Z}tt|ƒ t|ƒƒD ]@}dD ]6}t|||ƒ}|  |||ƒ|||ƒd||||f ¡ qXqPq8q d S )	NrÜ  u   aáˆ´báˆ´cÂ¡Â¡Â¡ç�€ç�€ç�€u   Â¡ç�€Â¡ç�€Â¡ç�€u   ç�€aç�€bç�€cu   Â¡ç�€aÂ¡ç�€bÂ¡ç�€cu   Â¡ç�€aç�€Â¡crÞ  rß  )r.   r   r¹   r&   rÖ  rî   )	rÊ   rë   rð   rÑ  r   r+   rš  rá  rØ  r   r   r   Útest_getitem_slice3_kindb  s$    úþz$TestUnicode.test_getitem_slice3_kindc                 C   s’   t }t|ƒ}tD ]|}ddt|ƒt|ƒd fD ]^}ddt|ƒt|ƒd fD ]@}dD ]6}t|||ƒ}|  |||ƒ|||ƒd||||f ¡ qPqHq,qd S )Nr0  rù   r³   rÞ  rß  rÚ  rà  r   r   r   Útest_slice3_errorw  s    þzTestUnicode.test_slice3_errorc                 C   s$   t dd„ ƒ}d}|  ||ƒd¡ dS )zƒ
        Make sure ascii flag is False when ascii and non-ascii characters are
        mixed in output of Unicode slicing.
        c                 S   s    | d d d… j | dd d… j fS )Nrþ   r³   ©Ú	_is_asciir   r   r   r   Úf‰  s    z,TestUnicode.test_slice_ascii_flag.<locals>.fu    Â¿abcÂ¡Y tÃº, quiÃ©n te cre		es?)r   r³   N©r   rî   ©rÊ   rç  r   r   r   r   Útest_slice_ascii_flag„  s    
z!TestUnicode.test_slice_ascii_flagc                 C   sš   t }t|ƒ}ddddddddd	d
dddddg}|  t¡�}||d dƒ W 5 Q R X |  dt|jƒ¡ |D ],}tddƒD ]}|  |||ƒ|||ƒ¡ qvqhd S )NrÑ   z+asciiz-asciiz-asc ii-rÒ   z-12345z+12345r™   u   Â¡Y tÃº crs?rÕ   u   +ðŸ��âš¡u   -ðŸ��âš¡u   å¤§çœ¼ï¼Œå°�æ‰‹ã€‚u   +å¤§çœ¼ï¼Œå°�æ‰‹ã€‚u   -å¤§çœ¼ï¼Œå°�æ‰‹ã€‚r   r©  z<width> must be an Integeréýÿÿÿrö   )	r0   r   r   r
   r!  r"  r#  r¹   rî   )rÊ   rë   rð   ZZFILL_INPUTSr%  r   Úwidthr   r   r   Ú
test_zfill�  s4    ñÿzTestUnicode.test_zfillc              	   C   sP   t }t|ƒ}tD ]:}td d d… D ]&}|  |||ƒ|||ƒd||f ¡ q"qd S ©Nrù   z'%s' + '%s'?)r1   r   rí   rî   ró   r   r   r   Útest_concat¯  s    
þzTestUnicode.test_concatc                 C   sT   t }t|ƒ}tD ]>}dD ]4}|  |||ƒ|||ƒ¡ |  |||ƒ|||ƒ¡ qqd S )N)rù   r   r³   rþ   r1  rÈ  r‡  r�  rª  é   éF   )r2   r   rí   rî   ró   r   r   r   Útest_repeat¸  s    ÿÿzTestUnicode.test_repeatc              	   C   sJ   |   ¡  ttƒ}|  t¡�}|ddƒ W 5 Q R X |  td t|jƒ¡ d S )NÚhig      @z" Function(<built-in function mul>))	rS  r   r2   r   r
   r!  r   r"  r#  rŸ  r   r   r   Útest_repeat_exception_floatÂ  s    
ÿz'TestUnicode.test_repeat_exception_floatc              
   C   sX   |   ¡  t}t|ƒ}||fD ]6}|  t¡�}|ddƒ W 5 Q R X |  dt|jƒ¡ qd S ©Nrä   r™   rR  )rS  rt   r   r   rT  r!  r"  r#  ©rÊ   rë   rð   rX  r%  r   r   r   Útest_split_exception_empty_sepÊ  s    z*TestUnicode.test_split_exception_empty_sepc              
   C   sT   t }t|ƒ}dD ]>}|  t¡�}|d|dƒ W 5 Q R X |  dt|jƒd| ¡ qd S )N©rÛ   Nrä   r  r¤  z"non-integer maxsplit with sep = %s)rw   r   r   r
   r!  r"  r#  )rÊ   rë   rð   r;   r%  r   r   r   Ú(test_split_exception_noninteger_maxsplitÖ  s    ÿz4TestUnicode.test_split_exception_noninteger_maxsplitc              
   C   sX   t }t|ƒ}ddddddddd	d
g
}|D ]*\}}|  |||ƒ|||ƒd||f ¡ q(d S )N©ú a NrZ  r\  r^  r_  ra  rc  rd  re  rf  z'%s'.split('%s')?)rt   r   rî   )rÊ   rë   rð   rh  Útest_strÚsplitterr   r   r   Ú
test_splitá  s$    ö
þzTestUnicode.test_splitc              
   C   sv   ddddddddd	d
g
}t dftdffD ]H\}}t|ƒ}|D ]2\}}}|  ||||ƒ||||ƒ||||f ¡ q<q(d S )N©rû  Nr³   ©r™   r[  r³   ©r]  r[  r³   ©rÕ   r[  r³   ©r`  r[  r³   ©rb  rä   rþ   ©rb  r×   r³   ©rb  r   rþ   ©rb  rØ   r³   ©rb  rå   r‡  z'%s'.split('%s', %d)?z'%s'.split('%s', maxsplit=%d)?)rw   ry   r   rî   )rÊ   rh  rë   Zfmt_strrð   rü  rý  rv   r   r   r   Útest_split_with_maxsplit÷  s0    öÿÿþ
þz$TestUnicode.test_split_with_maxsplitc              !   C   sš   t }t|ƒ}d ttdddddddd	d
ddddddddddddddddddddgƒ¡}ddd d!d"d#d$| d% g}|D ] }|  ||ƒ||ƒd&|f ¡ qtd S )'Nr™   é	   rõ   é   rž  é   é   é   é   é   é    é…   é    é€  é    é   é   é   é   é   é   é   é   é	   é
   é(   é)   é/   é_   é 0  r]  õ   ðŸ�� âš¡õ   ðŸ�� âš¡ ðŸ��õ   ðŸ��   âš¡ ðŸ��  õ     ðŸ��   âš¡ ðŸ��õ    ðŸ��õ
   âš¡ ðŸ��  z'%s'.split()?)rz   r   r—   ÚmaprÅ   rî   )rÊ   rë   rð   Úall_whitespacerh  rü  r   r   r   Útest_split_whitespace  s\                             ü
ù	
þz!TestUnicode.test_split_whitespacec              
   C   sl   t }t|ƒ}tjttjtf}dD ]F\}}|  t¡�}|d|ƒ W 5 Q R X d 	||¡}|  
|t|jƒ¡ q d S )N))ÚnoneN)r¢  ÚNoneÚ
z"keepends" must be {}, not {})r€   r   r   r  r  ÚBooleanr(   r   r
   r  r!  r"  r#  )rÊ   rë   rð   r$  Útyr   r%  r  r   r   r   Ú%test_split_exception_invalid_keepends-  s    z1TestUnicode.test_split_exception_invalid_keependsc                 C   sN   t }t|ƒ}dddddddg}d}|D ]"}| j||ƒ||ƒ| |¡d	� q&d S )
Nr™   r0  ú
abcabc
õ   ðŸ��âš¡õ   ðŸ��âš¡ðŸ��Â…õ   â€¨abaâ€©babaú

abcz*Results of "{}".splitlines() must be equalr  )r}   r   rî   r  r  r   r   r   Útest_splitlines8  s    
 ÿzTestUnicode.test_splitlinesc           
   	   C   sŠ   t tg}ddg}ddddddd	g}d
dddddg}t||ƒD ]H\}}t|ƒ}t||ƒD ],\}}	| j|||	ƒ|||	ƒ| ||	¡d� qVq<d S )Nz,Results of "{}".splitlines({}) must be equalz5Results of "{}".splitlines(keepends={}) must be equalr™   r0  r4  r5  r6  r7  r8  TFr   r³   rù   éd   r  )r€   r�   r  r   r   rî   r  )
rÊ   rÉ  r  r  Zall_keependsrë   r  rð   r   r   r   r   r   Útest_splitlines_with_keependsC  s"    þþ
 ÿ
ÿz)TestUnicode.test_splitlines_with_keependsc              
   C   sX   |   ¡  t}t|ƒ}||fD ]6}|  t¡�}|ddƒ W 5 Q R X |  dt|jƒ¡ qd S rõ  )rS  r„   r   r   rT  r!  r"  r#  rö  r   r   r   Útest_rsplit_exception_empty_sepV  s    z+TestUnicode.test_rsplit_exception_empty_sepc              
   C   sb   t }t|ƒ}tjtf}dD ]B}|  t¡�}|d|dƒ W 5 Q R X d |¡}|  |t	|j
ƒ¡ qd S )Nrø  rä   r  z "maxsplit" must be {}, not float)r†   r   r   r  r  r   r
   r  r!  r"  r#  )rÊ   rë   rð   r$  r;   r%  r  r   r   r   Ú)test_rsplit_exception_noninteger_maxsplitb  s    

z5TestUnicode.test_rsplit_exception_noninteger_maxsplitc              
   C   s^   t }t|ƒ}ddddddddd	d
g
}d}|D ],\}}| j|||ƒ|||ƒ| ||¡d� q,d S )Nrú  rZ  r\  r^  r_  ra  rc  rd  re  rf  z*Results of "{}".rsplit("{}") must be equalr  )r„   r   rî   r  rg  r   r   r   Útest_rsplitm  s$    ö
ÿzTestUnicode.test_rsplitc           
   
   C   s‚   t tg}ddddddddd	d
g
}ddg}t||ƒD ]J\}}t|ƒ}|D ]4\}}}	| j||||	ƒ||||	ƒ| |||	¡d� qFq2d S )Nrÿ  r   r  r  r  r  r  r  r  r  z.Results of "{}".rsplit("{}", {}) must be equalz7Results of "{}".rsplit("{}", maxsplit={}) must be equalr  )r†   r‡   r  r   rî   r  )
rÊ   rÉ  rh  r  rë   r  rð   rü  r;   rv   r   r   r   Útest_rsplit_with_maxsplit‚  s0    ÿöþ
þz%TestUnicode.test_rsplit_with_maxsplitc              !   C   sž   t }t|ƒ}d ttdddddddd	d
ddddddddddddddddddddgƒ¡}ddd d!d"d#d$| d% g}d&}|D ] }|  ||ƒ||ƒ| |¡¡ qxd S )'Nr™   r
  rõ   r  rž  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r]  r%  r&  r'  r(  r)  r*  z&Results of "{}".rsplit() must be equal)rˆ   r   r—   r+  rÅ   rî   r  )rÊ   rë   rð   r,  rh  r  r   r   r   r   Útest_rsplit_whitespace�  sX                             ü
ù	z"TestUnicode.test_rsplit_whitespacec                 C   s>   t }t|ƒ}ddg}|D ] }|  ||ƒ||ƒd|f ¡ qd S )Nr™   õ   ðŸ��ðŸ��ðŸ��z'%s'.join([])?)rœ   r   rî   )rÊ   rë   rð   rh  r;   r   r   r   Útest_join_empty·  s    þ
þzTestUnicode.test_join_emptyc              	   C   sX   t }t|ƒ}|  t¡�}|ddddgƒ W 5 Q R X t|jƒ}|  d|¡ |  d|¡ d S )Nr™   r³   rþ   r1  z,During: resolving callee type: BoundFunctionzreflected list(int)r˜   r   r   r
   r"  r#  r!  )rÊ   rë   rð   r%  Zexc_messager   r   r   Útest_join_non_string_exceptionÇ  s    
þz*TestUnicode.test_join_non_string_exceptionc                 C   st   t }t|ƒ}ddddgfddddgfddddgfddgd fg}|D ]*\}}|  |||ƒ|||ƒd||f ¡ qDd S )	Nr™   rä   Zbbbbr   rA  õ   âš¡âš¡r‡  ú'%s'.join('%s')?©r˜   r   rî   ©rÊ   rë   rð   rh  r;   Úpartsr   r   r   Ú	test_joinÚ  s    ü
þzTestUnicode.test_joinc                 C   sH   t }t|ƒ}ddg}|D ]*\}}|  |||ƒ|||ƒd||f ¡ qd S )N)r®  Ú123)rA  rD  rE  rF  rG  r   r   r   Útest_join_interleave_strê  s    þ
þz$TestUnicode.test_join_interleave_strc                 C   s    t dftdftdffD ]„\}}t|ƒ}|  t¡�}|td dƒ W 5 Q R X |  dt|j	ƒ¡ tD ]8}t
ddƒD ](}|  |||ƒ|||ƒd	|||f ¡ qnq`qd S )
Nrž   r¤   r¨   r   r©  úThe width must be an Integerrë  rö   z'%s'.%s(%d)?)rŸ   r¥   r©   r   r   r
   rí   r!  r"  r#  r¹   rî   )rÊ   rë   Ú	case_namerð   r%  r   rì  r   r   r   Útest_justificationù  s    þþzTestUnicode.test_justificationc                 C   s²   t dftdftdffD ]–\}}t|ƒ}dD ]€}|  t¡�}|td d|ƒ W 5 Q R X |  dt|j	ƒ¡ tD ]>}t
dd	ƒD ].}|  ||||ƒ||||ƒd
||||f ¡ qxqjq*qd S )Nrž   r¤   r¨   )rÛ   ú+õ   Ãºu   å¤„r   r©  rL  rë  rö   z'%s'.%s(%d, '%s')?)r¢   r¦   rª   r   r   r
   rí   r!  r"  r#  r¹   rî   )rÊ   rë   rM  rð   r¡   r%  r   rì  r   r   r   Útest_justification_fillchar	  s(    þÿ
þþz'TestUnicode.test_justification_fillcharc                 C   s¨   |   ¡  tttfD ]�}t|ƒ}dD ]<}|  t¡�}|td d|ƒ W 5 Q R X |  dt	|j
ƒ¡ q"dD ]<}|  t¡�}|td d|ƒ W 5 Q R X |  dt	|j
ƒ¡ qdqd S )N)r™   z+0u   quiÃ©nu   å¤„ç�€r   rö   z&The fill character must be exactly one)r³   r©  z"The fillchar must be a UnicodeType)rS  r¢   r¦   rª   r   r   rT  rí   r!  r"  r#  r
   )rÊ   rë   rð   r¡   r%  r   r   r   Ú%test_justification_fillchar_exception  s$    þÿÿz1TestUnicode.test_justification_fillchar_exceptionc              	   C   sP   t }t|ƒ}tD ]:}td d d… D ]&}|  |||ƒ|||ƒd||f ¡ q"qd S rî  )r3   r   rí   rî   ró   r   r   r   Útest_inplace_concat4  s    
þzTestUnicode.test_inplace_concatc                 C   s~   dd„ }t |ƒ}ddddddd	d
ddddg}ddddddddg}d}tdg | | D ]"}| j||ƒ||ƒ| |¡d� qVd S )Nc                 S   s   |   ¡ S r   )Úisidentifierr   r   r   r   rë   >  s    z-TestUnicode.test_isidentifier.<locals>.pyfuncrä   ÚZr¼   Zb0ÚbcZb_õ   Âµu   ð�”˜ð�”«ð�”¦ð�” ð�”¬ð�”¡ð�”¢rÛ   ú[õ   Â©Ú0õ   í €õ   í¿¿õ   í €í €õ   í¿¿í¿¿õ   aí €bí¿¿õ   aí¿¿bí €õ	   aí €bí¿¿aõ	   aí¿¿bí €az,Results of "{}".isidentifier() must be equalr™   r  ©r   rí   rî   r  ©rÊ   rë   rð   ÚcpythonZcpython_extrasr  r   r   r   r   Útest_isidentifier=  s$        ÿ  þzTestUnicode.test_isidentifierc                    st  ddddddddd	d
ddddddddddddddddddddg}t dftd ftd!ffD ]<\‰ }tˆ ƒ}|D ]&\}}|  ˆ |ƒ||ƒd"||f ¡ qjqVtdftd ftd!ffD ]Ä\‰ }tˆ ƒ}t 	tj	t 
tj	¡¡}t|gƒˆ ƒ}‡ fd#d$„}||fD ]6}	|  t¡�}
|	d%d&ƒ W 5 Q R X |  d't|
jƒ¡ qò||fD ]:}	|D ].\}}|  ˆ ||ƒ|	||ƒd(|||f ¡ �q:�q2qªd S ))N)úass ciiZai)rg  N)Zassciiúai )zasscii rh  )ú	 asscii  rh  )ri  zasci )ri  r   )z      rÛ   )r™   rÛ   rÚ   )r™   Nrø  )ú
  asscii  rh  )rj  r™   )rj  N)râ   õ   Ã©tÃº? )õ     tÃº quiÃ©n te crees?   rk  )u     tÃº qrees?   r™   )rl  Nrá   )õ    å¤§å¤„å¤§å¤„  r™   )z	
abcd	z	a)rm  N)z	 abcd 	N)z
 abcd 
N)z abcd N)z abcd N)z abcd N)u
   â€©abcdâ�ŸN)u	   Â…abcdâ€‰Nr”   rŠ   r�   z
'%s'.%s()?c                     s(   t  t jt  t j¡¡}t|gƒˆ ƒ d S r   )r   r¢  r£  r¤  r   )r¥  Úbadr¦  r   r   r§  …  s    
ÿz8TestUnicode.test_strip.<locals>.try_compile_bad_optionalr¨  r©  z%The arg must be a UnicodeType or Nonez'%s'.%s('%s')?)r•   r‹   r‘   r   rî   r–   rŽ   r’   r   r¢  r£  r   r
   r!  r"  r#  )rÊ   ZSTRIP_CASESrM  rð   Ústringr�   Zsig1r«  r§  r  r%  r   r¦  r   Ú
test_stripN  s‚    â"þ

þþ
ÿÿÿþzTestUnicode.test_stripc              	   C   sx   dd„ }t |ƒ}ddddddd	d
dg	}ddddddddg}d}tdg | | D ]"}| j||ƒ||ƒ| |¡d� qPd S )Nc                 S   s   |   ¡ S r   )Úisspacer   r   r   r   rë   ™  s    z(TestUnicode.test_isspace.<locals>.pyfuncu   â€€u   â€Šu   â€”õ   ð���õ   ð��§õ   ð��©õ   ð�‘Žõ   ðŸ��õ   ðŸ‘¯r[  r\  r]  r^  r_  r`  ra  rb  z'Results of "{}".isspace() must be equalr™   r  rc  rd  r   r   r   Útest_isspace˜  s"    
   ÿ  þzTestUnicode.test_isspacec           
      C   sŠ   t }t|ƒ}d}dd„ tD ƒ}dddddd	d
ddddddddddddg}t| | }|D ],}||ƒ}||ƒ}	|  ||	| |||	¡¡ qXd S )Nz0'{0}'.py_istitle() = {1}
'{0}'.c_istitle() = {2}c                 S   s   g | ]}|  ¡ ‘qS r   r°   ©r   r    r   r   r   rl  ®  s     z,TestUnicode.test_istitle.<locals>.<listcomp>r™   z    z  AA  z  Ab  Ú1ZA123ZA12Bcdz+abAZ12AbcZA12abcu   %^Abc 5 $% Defð���ð��©u   ð��§ð�‘Žrt  ru  u   ðŸ�� Isu   ðŸ�� NOTu   ðŸ‘¯Isõ   á¿¼u   Greek á¿¼itlecases ...)r¬   r   rí   rî   r  )
rÊ   rë   rð   r�  Zunicode_titleÚspecialZISTITLE_EXAMPLESr   r’  r“  r   r   r   Útest_istitle©  s>    ìÿzTestUnicode.test_istitlec              	   C   sZ   dd„ }t |ƒ}ddddddd	d
dg	}d}t| D ]"}| j||ƒ||ƒ| |¡d� q2d S )Nc                 S   s   |   ¡ S r   )Úisprintabler   r   r   r   rë   Î  s    z,TestUnicode.test_isprintable.<locals>.pyfuncr™   rÛ   Úabcdefgzabcdefg
u   Í´u   Í¸r[  rw  u   ó € z+Results of "{}".isprintable() must be equalr  rc  ©rÊ   rë   rð   re  r  r   r   r   r   Útest_isprintableÍ  s      ÿzTestUnicode.test_isprintablec                 C   s.   dd„ }t |ƒ}dg}|  ||Ž ||Ž ¡ d S )Nc                 S   s   | d d … S r   r   ©rä   r   r   r   rë   Û  s    z0TestUnicode.test_pointless_slice.<locals>.pyfuncrä   rè  ©rÊ   rê   rë   rð   r¥  r   r   r   Útest_pointless_sliceÚ  s    z TestUnicode.test_pointless_slicec                 C   s.   dd„ }t |ƒ}dg}|  ||Ž ||Ž ¡ d S )Nc                 S   s   | d d d… S )Nrù   r   r‚  r   r   r   rë   â  s    z/TestUnicode.test_walk_backwards.<locals>.pyfuncrä   rè  rƒ  r   r   r   Útest_walk_backwardsá  s    zTestUnicode.test_walk_backwardsc                 C   s.   dd„ }t |ƒ}dg}|  ||Ž ||Ž ¡ d S )Nc                 S   s   | d d d… S ©Nrþ   r   r‚  r   r   r   rë   é  s    z-TestUnicode.test_stride_slice.<locals>.pyfuncrä   rè  rƒ  r   r   r   Útest_stride_sliceè  s    zTestUnicode.test_stride_slicec                 C   s0   dd„ }t |ƒ}ddg}|  ||Ž ||Ž ¡ d S )Nc                 S   s   | |k S r   r   ©rä   r×   r   r   r   rë   ð  s    z)TestUnicode.test_basic_lt.<locals>.pyfuncrØ   r×   rè  rƒ  r   r   r   Útest_basic_ltï  s    zTestUnicode.test_basic_ltc                 C   s0   dd„ }t |ƒ}ddg}|  ||Ž ||Ž ¡ d S )Nc                 S   s   | |kS r   r   rˆ  r   r   r   rë   ÷  s    z)TestUnicode.test_basic_gt.<locals>.pyfuncrØ   r×   rè  rƒ  r   r   r   Útest_basic_gtö  s    zTestUnicode.test_basic_gtc                 C   s\   dd„ }t |ƒ}ttdd�D ]:\}}dD ],}|||g}| j||Ž ||Ž d |¡d� q(qd S )Nc                 S   sh   | dkr||kS | dkr ||kS | dkr0||k S | dkr@||kS | dkrP||kS | dkr`||kS d S d S )Nú==ú!=ú<ú>ú<=ú>=r   ©Úoptionr    r#   r   r   r   rë   þ  s    z+TestUnicode.test_comparison.<locals>.pyfuncrþ   rÿ   ©r‹  rŒ  r�  rŽ  r�  r�  r™   úfailed on {}r  )r   r   r  rî   r  )rÊ   rë   rð   r    r#   Úcmpopr¥  r   r   r   Útest_comparisoný  s    
ÿzTestUnicode.test_comparisonc                 C   sH   dd„ }t |ƒ}dg}|  ||Ž ||Ž ¡ dg}|  ||Ž ||Ž ¡ d S )Nc                 S   s0   d}t | ƒr|d |  d S | | d |  S d S )Nr®  Zb123ÚIOrJ  r%   )r    r®  r   r   r   rë     s    z/TestUnicode.test_literal_concat.<locals>.pyfuncr    r™   rè  ©rÊ   rë   rð   r¥  r   r   r   Útest_literal_concat  s    zTestUnicode.test_literal_concatc                 C   sB   dd„ }t |ƒ}dD ](}|g}| j||Ž ||Ž d |¡d� qd S )Nc                 S   sp   d}d}| dkr||kS | dkr(||kS | dkr8||k S | dkrH||kS | dkrX||kS | dkrh||kS d S d S )	NZa123Zaa12r‹  rŒ  r�  rŽ  r�  r�  r   r‘  r   r   r   rë   %  s    z3TestUnicode.test_literal_comparison.<locals>.pyfuncr“  r”  r  ©r   rî   r  )rÊ   rë   rð   r•  r¥  r   r   r   Útest_literal_comparison$  s    ÿz#TestUnicode.test_literal_comparisonc                 C   s$   dd„ }t |ƒ}|  |ƒ |ƒ ¡ d S )Nc                   S   s   t dƒS ©Nr®  r%   r   r   r   r   rë   >  s    z,TestUnicode.test_literal_len.<locals>.pyfuncrè  ©rÊ   rë   rð   r   r   r   Útest_literal_len=  s    zTestUnicode.test_literal_lenc                 C   sX   dd„ }t |ƒ}dddtdd ƒtd dƒfD ](}|g}| j||Ž ||Ž d |¡d� q*d S )Nc                 S   s   d|  S rœ  r   )Úwhichr   r   r   rë   D  s    z0TestUnicode.test_literal_getitem.<locals>.pyfuncrù   r   r³   r”  r  )r   rÖ  rî   r  ©rÊ   rë   rð   rä   r¥  r   r   r   Útest_literal_getitemC  s    ÿz TestUnicode.test_literal_getitemc                 C   sB   dd„ }t |ƒ}dD ](}|g}| j||Ž ||Ž d |¡d� qd S )Nc                 S   s   | dkS )NZ
9876zabiuhr   r   r   r   r   rë   M  s    z+TestUnicode.test_literal_in.<locals>.pyfunc)rä   Ú9rz  r™   Z8uhaZ987r”  r  rš  r   r   r   r   Útest_literal_inL  s    ÿzTestUnicode.test_literal_inc                 C   sD   dd„ }t |ƒ}tddd�D ]"}| j||Ž ||Ž d |¡d� qd S )Nc                 S   s   d  | ¡d |¡fS )Nr®  Zcde)rb   re   r"   r   r   r   rë   W  s    z0TestUnicode.test_literal_xyzwith.<locals>.pyfuncr  rþ   rÿ   r”  r  )r   r   rî   r  r˜  r   r   r   Útest_literal_xyzwithV  s    ÿz TestUnicode.test_literal_xyzwithc                 C   sB   dd„ }t |ƒ}dD ](}|g}| j||Ž ||Ž d |¡d� qd S )Nc                 S   s   d  | ¡|   d¡fS )Nr®  rä   r=   r   r   r   r   rë   `  s    z-TestUnicode.test_literal_find.<locals>.pyfunc)rØ   r”  r  rš  r   r   r   r   Útest_literal_find_  s    ÿzTestUnicode.test_literal_findc                 C   sB   dd„ }t |ƒ}tD ](}|g}| j||Ž ||Ž d |¡d� qd S )Nc                 S   s   |  S r   r   r   r   r   r   rë   j  s    z$TestUnicode.test_not.<locals>.pyfuncr”  r  rc  r   r   r   r   Útest_noti  s    ÿzTestUnicode.test_notc              	   C   sj   dd„ }t |ƒ}ddddddd	d
dg	}dg}d}tdg | | D ]"}| j||ƒ||ƒ| |¡d� qBd S )Nc                 S   s   |   ¡ S r   )Ú
capitalizer   r   r   r   rë   t  s    z+TestUnicode.test_capitalize.<locals>.pyfuncõ   ð�‘�õ   ð�‘�ð�‘�õ   ð��§ð�‘�õ   ð�‘�ð��§õ
   Xð��§xð�‘�u   hÄ°u   á¿’Ä°u   ï¬�nnishõ   AÍ…Î£õ   ð�€€ô€€€z*Results of "{}".capitalize() must be equalr™   r  rc  rd  r   r   r   Útest_capitalizes  s        þzTestUnicode.test_capitalizec           	      C   s’   dd„ }t |ƒ}dd„ tD ƒ}ddddd	d
g}ddddddddg}dd„ |D ƒ}t| | | | D ](}|g}| j||Ž ||Ž d |¡d� qdd S )Nc                 S   s   |   ¡ S r   )Úisupperr   r   r   r   rë   …  s    z(TestUnicode.test_isupper.<locals>.pyfuncc                 S   s   g | ]}|  ¡ ‘qS r   ©Úupperry  r   r   r   rl  ‰  s     z,TestUnicode.test_isupper.<locals>.<listcomp>ÚAA12AÚaa12aõ   å¤§AA12Aõ   å¤§aa12aõ   AAAÇ„Aõ	   A 1 1 å¤§õ   â…§õ   â…·rr  rs  rt  ru  rv  rw  c                 S   s   g | ]}|d  ‘qS ©rÈ  r   ry  r   r   r   rl  �  s     r”  r  rc  )	rÊ   rë   rð   ZuppersrN  re  Zfourxcpyrä   r¥  r   r   r   Útest_isupper„  s    
  ÿÿzTestUnicode.test_isupperc                 C   sB   dd„ }t |ƒ}tD ](}|g}| j||Ž ||Ž d |¡d� qd S )Nc                 S   s   |   ¡ S r   r±  r   r   r   r   rë   ˜  s    z&TestUnicode.test_upper.<locals>.pyfuncr”  r  rc  r   r   r   r   Ú
test_upper—  s    ÿzTestUnicode.test_upperc                 C   sf   dd„ }t |ƒ}ddddddd	g}d
g}d}tdg | | D ]"}| j||ƒ||ƒ| |¡d� q>d S )Nc                 S   s   |   ¡ S r   )Úcasefoldr   r   r   r   rë   ¢  s    z)TestUnicode.test_casefold.<locals>.pyfuncr(  ZhELloõ   ÃŸõ   ï¬�õ   Î£r­  rW  r®  z(Results of "{}".casefold() must be equalr™   r  rc  rd  r   r   r   Útest_casefold¡  s    
 ÿzTestUnicode.test_casefoldc                 C   st   dd„ }t |ƒ}ddddddd	g}d
dddddddg}d}tdg | | D ]"}| j||ƒ||ƒ| |¡d� qLd S )Nc                 S   s   |   ¡ S r   )Úisalphar   r   r   r   rë   ±  s    z(TestUnicode.test_isalpha.<locals>.pyfuncr{  rr  rs  rt  ru  rv  rw  r[  r\  r]  r^  r_  r`  ra  rb  z'Results of "{}".isalpha() must be equalr™   r  rc  ©rÊ   rë   rð   re  rN  r  r   r   r   r   Útest_isalpha°  s       ÿ  þzTestUnicode.test_isalphac                 C   sV   dd„ }t |ƒ}ddddddd	g}d
}t| D ]"}| j||ƒ||ƒ| |¡d� q.d S )Nc                 S   s   |   ¡ S r   )r   r   r   r   r   rë   Ã  s    z(TestUnicode.test_isascii.<locals>.pyfuncr™   ú úz õ   Â€õ   Ã©rÛ   z'Results of "{}".isascii() must be equalr  rc  r€  r   r   r   Útest_isasciiÂ  s    zTestUnicode.test_isasciic              	   C   s\   t }t|ƒ}ddddddddd	g	}d
}tdg | D ]"}| j||ƒ||ƒ| |¡d� q4d S )Nr¨  r©  u   ð�‘�ð�‘� ð�‘�ð�‘�u   ð��§ð�‘� ð��§ð�‘�u   ð�‘�ð��§ ð�‘�ð��§u   Xð��§xð�‘� Xð��§xð�‘�u   ï¬�NNISHu	   AÎ£ á¾¡xyu   AÎ£Az%Results of "{}".title() must be equalr™   r  )r±   r   rí   rî   r  r€  r   r   r   Ú
test_titleÏ  s      ûzTestUnicode.test_titlec                 C   s|   dd„ }t |ƒ}ddddddd	d
ddddddddddg}dg}d}tdg | | D ]"}| j||ƒ||ƒ| |¡d� qTd S )Nc                 S   s   |   ¡ S r   )Úswapcaser   r   r   r   rë   à  s    z)TestUnicode.test_swapcase.<locals>.pyfuncr¨  rs  r©  rª  r«  r¬  rÀ  õ   Ä°rÁ  õ   Í…Î£r­  õ   AÍ…Î£au   AÎ£Í…õ   Î£Í… r¿  u   á¿’r®  z(Results of "{}".swapcase() must be equalr™   r  rc  rd  r   r   r   Útest_swapcaseß  s.              ûzTestUnicode.test_swapcasec                 C   s’   t }t|ƒ}dd„ tD ƒ}ddddddg}d	d
ddddddg}|dd„ |D ƒ7 }d}t| dg | | D ]"}| j||ƒ||ƒ| |¡d� qjd S )Nc                 S   s   g | ]}|  ¡ ‘qS r   rÁ   ry  r   r   r   rl  õ  s     z,TestUnicode.test_islower.<locals>.<listcomp>r³  r´  rµ  r¶  r·  r¸  r¹  rº  rr  rs  rt  ru  rv  rw  c                 S   s   g | ]}|d  ‘qS r»  r   ry  r   r   r   rl  ü  s     z'Results of "{}".islower() must be equalr™   r  )rÀ   r   rí   rî   r  )rÊ   rë   rð   ZlowersrN  re  r  r   r   r   r   Útest_islowerò  s       ÿzTestUnicode.test_islowerc                 C   sv   dd„ }t |ƒ}ddddddd	d
g}ddddddddg}d}tdg | | D ]"}| j||ƒ||ƒ| |¡d� qNd S )Nc                 S   s   |   ¡ S r   )Úisalnumr   r   r   r   rë   	  s    z(TestUnicode.test_isalnum.<locals>.pyfuncrr  rs  rt  ru  õ   ð�Ÿ¶õ   ð‘�¦õ   ð�’ õ   ðŸ„‡r[  r\  r]  r^  r_  r`  ra  rb  z'Results of "{}".isalnum() must be equalr™   r  rc  rÄ  r   r   r   Útest_isalnum	  s"       ÿ  þzTestUnicode.test_isalnumc           	      C   s’   t }t|ƒ}ddddddg}ddd	d
ddddg}dddddddg}d}| |¡ d}tdg | | | D ]"}| j||ƒ||ƒ| |¡d� qjd S )Nr³  r´  rµ  r¶  r·  r¸  rr  rs  ru  rw  u   ð��§ð��§rª  r¬  rÍ  rÁ  rÎ  r­  rÏ  rÐ  u   ò�¿¾rº  u   AÎ£Î¢z%Results of "{}".lower() must be equalr™   r  )rÃ   r   r®   rí   rî   r  )	rÊ   rë   rð   rN  re  ÚsigmaZextra_sigmar  r   r   r   r   Ú
test_lower	  s&      þ  ÿ
zTestUnicode.test_lowerc                 C   sŒ   dd„ }t |ƒ}ddddddd	d
dddddddddddg}ddddddddg}d}tdg | | D ]"}| j||ƒ||ƒ| |¡d� qdd S ) Nc                 S   s   |   ¡ S r   )Ú	isnumericr   r   r   r   rë   ,	  s    z*TestUnicode.test_isnumeric.<locals>.pyfuncr™   rä   rZ  õ   â‘ õ   Â¼õ   Ù Ú
0123456789Ú0123456789arr  rs  rt  ru  rv  rw  õ   ð‘�¥rÔ  rÕ  rÖ  r×  r[  r\  r]  r^  r_  r`  ra  rb  z)Results of "{}".isnumeric() must be equalr  rc  rd  r   r   r   Útest_isnumeric+	  s2             ý  þzTestUnicode.test_isnumericc                 C   s‚   dd„ }t |ƒ}ddddddd	d
ddddddg}ddddddddg}d}tdg | | D ]"}| j||ƒ||ƒ| |¡d� qZd S )Nc                 S   s   |   ¡ S r   )Úisdigitr   r   r   r   rë   ?	  s    z(TestUnicode.test_isdigit.<locals>.pyfuncrÜ  rÝ  rÞ  rr  rs  rt  ru  rv  rw  rá  rÔ  rÕ  rÖ  r×  r[  r\  r]  r^  r_  r`  ra  rb  z'Results of "{}".isdigit() must be equalr™   r  rc  rd  r   r   r   Útest_isdigit>	  s,    
      ý  þzTestUnicode.test_isdigitc                 C   sŒ   dd„ }t |ƒ}ddddddd	d
dddddddddddg}ddddddddg}d}tdg | | D ]"}| j||ƒ||ƒ| |¡d� qdd S ) Nc                 S   s   |   ¡ S r   )Ú	isdecimalr   r   r   r   rë   R	  s    z*TestUnicode.test_isdecimal.<locals>.pyfuncr™   rä   rZ  rÜ  rÝ  rÞ  rß  rà  rr  rs  rt  ru  rv  rw  rá  r×  rÔ  rÕ  rÖ  r[  r\  r]  r^  r_  r`  ra  rb  z)Results of "{}".isdecimal() must be equalr  rc  rd  r   r   r   Útest_isdecimalQ	  s2             ý  þzTestUnicode.test_isdecimalc              
   C   s`   t }t|ƒ}ddddddddd	d
g
}|D ]2\}}}|  ||||ƒ||||ƒd|||f ¡ q(d S )N©r®  r™   ÚA©r™   r[  rè  ©r]  r[  rè  ©rÕ   r[  rè  ©r`  r[  rè  ©rb  rä   rè  ©rb  r×   rè  ©rb  r   rè  ©rb  rØ   rè  ©rb  rå   rè  z'%s'.replace('%s', '%s')?)rT   r   rî   )rÊ   rë   rð   rh  rü  Úold_strÚnew_strr   r   r   Útest_replaced	  s(    ö
ÿþzTestUnicode.test_replacec           	      C   s|   t }t|ƒ}ddddddddd	d
g
}ddddg}|D ]B\}}}|D ]2}|  |||||ƒ|||||ƒd||||f ¡ qBq4d S )Nrç  ré  rê  rë  rì  rí  rî  rï  rð  rñ  rù   r³   r   r‡  z'%s'.replace('%s', '%s', '%s')?)rV   r   rî   )	rÊ   rë   rð   rh  Z
count_testrü  rò  ró  rI   r   r   r   Útest_replace_with_count{	  s,    ö
ÿþz#TestUnicode.test_replace_with_countc              	   C   sÂ   dd„ }t |ƒ}|  t¡�}|ddddƒ W 5 Q R X d}|  |t|jƒ¡ |  t¡�}|dddd	ƒ W 5 Q R X d
}|  |t|jƒ¡ |  t¡�}|dddd	ƒ W 5 Q R X d
}|  |t|jƒ¡ d S )Nc                 S   s   |   |||¡S r   rR   rU   r   r   r   rë   –	  s    z4TestUnicode.test_replace_unsupported.<locals>.pyfuncZ
abababababÚbaZqqqg      @z7Unsupported parameters. The parameters must be Integer.r   r1  z!The object must be a UnicodeType.)r   r   r
   r!  r"  r#  )rÊ   rë   rð   r%  r  r   r   r   Útest_replace_unsupported•	  s    z$TestUnicode.test_replace_unsupportedN)~rÍ   rÎ   rÏ   r   rì   rñ   rô   rý   r  r  r  r  r  r  r	  r  r  r&  r8  r<  r>  r@  rB  rC  rE  rF  rI  rK  rL  rP  rY  ri  r~  r€  r„  rŒ  r�  rŽ  r”  r˜  r›  r   r¬  r¸  r¹  rº  r¼  r½  rÂ  rÅ  rÆ  rË  rÌ  rÍ  rÎ  rÐ  rÒ  rÔ  rÙ  rÛ  rÝ  râ  rã  rä  rê  rí  rï  rò  rô  r÷  rù  rþ  r	  r-  r3  r9  r;  r<  r=  r>  r?  r@  rB  rC  rI  rK  rN  rQ  rR  rS  rf  rp  rx  r}  r�  r„  r…  r‡  r‰  rŠ  r–  r™  r›  rž  r¡  r£  r¤  r¥  r¦  r¯  r¼  r½  rÂ  rÅ  rÊ  rË  rÑ  rÒ  rØ  rÚ  râ  rä  ræ  rô  rõ  r÷  r   r   r   r   ré   ­  sô   



	
	J$	
	


ré   c                   @   s<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚTestUnicodeInTuplec                 C   s@   t dd„ ƒ}|  | ¡ |ƒ ¡ t dd„ ƒ}|  | ¡ |ƒ ¡ d S )Nc                   S   s   ddk S )N)rè   ©Úbbr   r   r   r   r   rç  ¯	  s    z9TestUnicodeInTuple.test_const_unicode_in_tuple.<locals>.fc                   S   s   ddk S )N)Úccrù  r   r   r   r   r   rç  µ	  s    ©r   rî   rú   ©rÊ   rç  r   r   r   Útest_const_unicode_in_tuple­	  s    

z.TestUnicodeInTuple.test_const_unicode_in_tuplec                 C   s@   t dd„ ƒ}|  | ¡ |ƒ ¡ t dd„ ƒ}|  | ¡ |ƒ ¡ d S )Nc                   S   s   ddk S )N©rè   r³   )rú  r³   r   r   r   r   r   rç  ¼	  s    z@TestUnicodeInTuple.test_const_unicode_in_hetero_tuple.<locals>.fc                   S   s   ddk S )Nrÿ  )rè   rþ   r   r   r   r   r   rç  Â	  s    rü  rý  r   r   r   Ú"test_const_unicode_in_hetero_tuple»	  s    

z5TestUnicodeInTuple.test_const_unicode_in_hetero_tuplec                 C   s.   t dd„ ƒ}tD ]}|  ||ƒt|ƒ¡ qd S )Nc                 S   s   | j S r   rå  r   r   r   r   rç  É	  s    z3TestUnicodeInTuple.test_ascii_flag_unbox.<locals>.f)r   rí   rî   r   ré  r   r   r   Útest_ascii_flag_unboxÈ	  s    
z(TestUnicodeInTuple.test_ascii_flag_unboxc                 C   s   t dd„ ƒ}|  |ƒ d¡ d S )Nc                  S   sL   d} d}d}d}d  | |g¡jd  | |g¡jd  | |g¡jd  ||g¡jfS )Nr®  rJ  rÕ   r   ú,)r—   ræ  ©Ús1Ús2Zs3Zs4r   r   r   rç  Ñ	  s    ýz2TestUnicodeInTuple.test_ascii_flag_join.<locals>.f)r³   r   r   r   rè  rý  r   r   r   Útest_ascii_flag_joinÐ	  s    

z'TestUnicodeInTuple.test_ascii_flag_joinc                 C   s   t dd„ ƒ}|  |ƒ d¡ d S )Nc                  S   s4   d} d}| d j | dd … j |d j |dd … j fS )NZabc123u   ðŸ��âš¡ðŸ��âš¡ðŸ��âš¡r   rþ   rå  )r  r  r   r   r   rç  ß	  s
    ÿz5TestUnicodeInTuple.test_ascii_flag_getitem.<locals>.f)r³   r³   r   r   rè  rý  r   r   r   Útest_ascii_flag_getitemÞ	  s    
z*TestUnicodeInTuple.test_ascii_flag_getitemc                 C   s   t dd„ ƒ}|  |ƒ d¡ d S )Nc                  S   s<   d} d}d}d}| | j | | j || j | d j |d j fS )Nr®  rJ  rÕ   r   rþ   rå  r  r   r   r   rç  é	  s    üz5TestUnicodeInTuple.test_ascii_flag_add_mul.<locals>.f)r³   r   r   r³   r   rè  rý  r   r   r   Útest_ascii_flag_add_mulè	  s    
z*TestUnicodeInTuple.test_ascii_flag_add_mulN)	rÍ   rÎ   rÏ   rþ  r   r  r  r  r  r   r   r   r   rø  «	  s   
rø  c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestUnicodeIterationc                 C   s.   t }t|ƒ}tD ]}|  ||ƒ||ƒ¡ qd S r   )r¯   r   rí   ÚassertPreciseEqual©rÊ   rë   rð   rä   r   r   r   Útest_unicode_iterú	  s    z&TestUnicodeIteration.test_unicode_iterc                 C   s    t }t|ƒ}|  |ƒ |ƒ ¡ d S r   )r²   r   r
  r�  r   r   r   Útest_unicode_literal_iter 
  s    z.TestUnicodeIteration.test_unicode_literal_iterc                 C   s.   t }t|ƒ}tD ]}|  ||ƒ||ƒ¡ qd S r   )r·   r   rí   r
  r  r   r   r   Útest_unicode_enumerate_iter
  s    z0TestUnicodeIteration.test_unicode_enumerate_iterc                 C   sN   |   ¡  t}t|ƒ}||fD ],}tD ]"}|  t¡� ||ƒ W 5 Q R X q$qd S r   )rS  r½   r   rí   r   ÚStopIteration)rÊ   rë   rð   rç  rä   r   r   r   Útest_unicode_stopiteration_iter
  s    z4TestUnicodeIteration.test_unicode_stopiteration_iterc              
   C   s:   t }t|ƒ}||fD ] }|  t¡� |ƒ  W 5 Q R X qd S r   )r¾   r   r   r  )rÊ   rë   rð   rç  r   r   r   Ú'test_unicode_literal_stopiteration_iter
  s
    z<TestUnicodeIteration.test_unicode_literal_stopiteration_iterN)rÍ   rÎ   rÏ   r  r  r  r  r  r   r   r   r   r	  ø	  s
   	r	  c                   @   s<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚTestUnicodeAuxillaryc                 C   s8   t }t|ƒ}tD ]"}|D ]}|  ||ƒ||ƒ¡ qqd S r   )rÄ   r   rí   r
  )rÊ   rë   rð   Úexrä   r   r   r   Útest_ord
  s
    zTestUnicodeAuxillary.test_ordc                 C   s�   |   ¡  t}t|ƒ}||fD ]>}dD ]4}|  t¡�}||ƒ W 5 Q R X |  dt|jƒ¡ q$q|  t¡�}|dƒ W 5 Q R X |  t	t|jƒ¡ d S )N)r™   r®  zord() expected a characterg®Gáz®ó?)
rS  rÄ   r   r   Ú	TypeErrorr!  r"  r#  r
   r   )rÊ   rë   rð   rX  Úchr%  r   r   r   Útest_ord_invalid%
  s    ÿz%TestUnicodeAuxillary.test_ord_invalidc                 C   sb   t }t|ƒ}tD ]*}|D ] }t|ƒ}|  ||ƒ||ƒ¡ qqdtfD ]}|  ||ƒ||ƒ¡ qDd S )Nr   )rÆ   r   rí   r   r
  r   )rÊ   rë   rð   r  r    rä   r   r   r   Útest_chr8
  s    zTestUnicodeAuxillary.test_chrc                 C   s�   t }t|ƒ}||fD ]F}dtd fD ]4}|  t¡�}||ƒ W 5 Q R X |  dt|jƒ¡ q$q|  t¡�}|dƒ W 5 Q R X |  t	t|jƒ¡ d S )Nr0  r³   zchr() arg not in ranger®  )
rÆ   r   r   r   rT  r!  r"  r#  r
   r   )rÊ   rë   rð   rX  Úvr%  r   r   r   Útest_chr_invalidC
  s    z%TestUnicodeAuxillary.test_chr_invalidc                    sZ   dd„ ‰ t ˆ ƒdd„ ƒ}t‡ fdd„ƒ}d}|  | |¡||ƒ¡ |  tjtjjj	¡ d S )Nc                 S   s   dS )NTr   r   r   r   r   ÚbarU
  s    z7TestUnicodeAuxillary.test_unicode_type_mro.<locals>.barc                    s,   d‰ t | tjƒr t | tjƒr d‰ ‡ fdd„S )NFTc                    s   ˆ S r   r   r   ©Úokr   r   Ú<lambda>^
  ó    zLTestUnicodeAuxillary.test_unicode_type_mro.<locals>.ol_bar.<locals>.<lambda>)Ú
isinstancer   rU  ÚHashabler   r   r  r   Úol_barX
  s
    z:TestUnicodeAuxillary.test_unicode_type_mro.<locals>.ol_barc                    s   ˆ | ƒS r   r   )Zstrinst©r  r   r   r÷   `
  s    z7TestUnicodeAuxillary.test_unicode_type_mro.<locals>.foor®  )
r   r   rî   rú   r!  r   r!  r¢  rÌ   Ú__mro__)rÊ   r"  r÷   Úinstr   r#  r   Útest_unicode_type_mroS
  s    
z*TestUnicodeAuxillary.test_unicode_type_mroc              	   C   sô   dd„ }dd„ }dd„ }dd„ }d	d
„ }|   |dƒt|ƒdƒ¡ |   |dƒt|ƒdƒ¡ |   |dƒt|ƒdƒ¡ ddg}t|ƒ|ƒ}dt|ƒ› d�}|   ||¡ |  t¡�}	t|ƒddgƒ W 5 Q R X d}
|  |
t|	jƒ¡ |   |ƒ t|ƒƒ ¡ dS )z@test f-string support, which requires bytecode handling
        c                 S   s   d| d › d�S )NZAA_r1  Z_Br   r‚  r   r   r   Úimpl1l
  s    z2TestUnicodeAuxillary.test_f_strings.<locals>.impl1c                 S   s
   | d › S r†  r   r‚  r   r   r   Úimpl2p
  s    z2TestUnicodeAuxillary.test_f_strings.<locals>.impl2c                 S   s
   d| › �S )NÚABC_r   r‚  r   r   r   Úimpl3t
  s    z2TestUnicodeAuxillary.test_f_strings.<locals>.impl3c                 S   s   d| d›�S )Nr)  rZ  r   r‚  r   r   r   Úimpl4x
  s    z2TestUnicodeAuxillary.test_f_strings.<locals>.impl4c                   S   s   � S r   r   r   r   r   r   Úimpl5|
  s    z2TestUnicodeAuxillary.test_f_strings.<locals>.impl5r1  rþ   ZDErè  ÚBzABC_<object type:rŽ  z*format spec in f-strings not supported yetN)rî   r   r   r   r   r!  r"  r#  )rÊ   r'  r(  r*  r+  r,  Zlist_argÚgotÚexpectedr%  r  r   r   r   Útest_f_stringsh
  s"    z#TestUnicodeAuxillary.test_f_stringsN)	rÍ   rÎ   rÏ   r  r  r  r  r&  r0  r   r   r   r   r  
  s   r  Ú__main__)qÚ	itertoolsr   r   Znumbar   r   Z
numba.corer   ZunittestZnumba.tests.supportr   r   r	   Znumba.core.errorsr
   r   Znumba.cpython.unicoder   Znumba.core.types.functionsr   Znumba.extendingr   r   r   r!   r$   r'   r)   r,   r.   r0   r1   r2   r3   r4   r5   r6   r7   r8   r<   r?   rB   rE   rG   rJ   rK   rL   rO   rP   rQ   rT   rV   rY   rZ   r[   r^   r_   r`   rc   rf   ri   rl   rm   rn   ro   rp   rq   rt   rw   ry   rz   r}   r€   r�   r„   r†   r‡   rˆ   r‹   rŽ   r‘   r’   r•   r–   r˜   rœ   rŸ   r¢   r¥   r¦   r©   rª   r¬   r¯   r±   r²   r·   r½   r¾   rÀ   rÃ   rÄ   rÆ   rÇ   rí   r  r�  ré   rø  r	  r  rÍ   Úmainr   r   r   r   Ú<module>   sP  	ùòà$                M$v
