a
    ç´«jO« ã                   @   s¼  d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZ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 d dlmZ d dlZ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"m#Z#m$Z$ d dl%m&Z& d dl'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6 d dl7m8Z8 d dl9m:Z: G dd„ deƒZ;e j<dkZ=zd dl>Z>dZ?W n e@�y–   dZ?Y n0 zd dlAZAdZBW n e@�yÀ   dZBY n0 d=dd„ZCG dd„ dƒZDG dd„ deDƒZEG dd„ deDƒZFG dd„ dƒZGG dd „ d ƒZHG d!d"„ d"eHƒZIG d#d$„ d$ƒZJG d%d&„ d&eHƒZKG d'd(„ d(ƒZLd)d*„ ZMG d+d,„ d,ƒZNG d-d.„ d.ƒZOd/d0„ ZPd1d2„ ZQd3d4„ ZRd5d6„ ZSejTjUe1 d7d8�d9d:„ ƒZVd;d<„ ZWdS )>é    N)ÚPath)ÚNamedTemporaryFile)ÚBytesIOÚStringIO)Údatetime)ÚValueÚget_context)Úc_bool)ÚVisibleDeprecationWarning)ÚConverterErrorÚConversionWarning)Ú_npyio_impl)Ú
recfromcsvÚ
recfromtxt)Úassert_equal)Úassert_warnsÚassert_Úassert_raises_regexÚassert_raisesÚassert_allcloseÚassert_array_equalÚtemppathÚtempdirÚIS_PYPYÚHAS_REFCOUNTÚsuppress_warningsÚassert_no_gc_cyclesÚassert_no_warningsÚbreak_cyclesÚIS_WASM)Úrequires_memory©Úasbytesc                   @   s*   e Zd ZdZd
dd„Zdd„ Zdd„ Zd	S )ÚTextIOzõHelper IO class.

    Writes encode strings to bytes if needed, reads return bytes.
    This makes it easier to emulate files opened in binary mode
    without needing to explicitly convert strings to bytes in
    setting up the test data.

    Ú c                 C   s   t  | t|ƒ¡ d S ©N)r   Ú__init__r"   ©ÚselfÚs© r*   úV/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/numpy/lib/tests/test_io.pyr&   ,   s    zTextIO.__init__c                 C   s   t  | t|ƒ¡ d S r%   )r   Úwriter"   r'   r*   r*   r+   r,   /   s    zTextIO.writec                 C   s   t  | dd„ |D ƒ¡ d S )Nc                 S   s   g | ]}t |ƒ‘qS r*   r!   )Ú.0r)   r*   r*   r+   Ú
<listcomp>3   ó    z%TextIO.writelines.<locals>.<listcomp>)r   Ú
writelines)r(   Úlinesr*   r*   r+   r0   2   s    zTextIO.writelinesN)r$   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r&   r,   r0   r*   r*   r*   r+   r#   #   s   
r#   l        TFc                 C   s.   t | ƒtkr|  d¡} tt | |¡dd… Ž S )zY
    This function is available in the datetime module only from Python >=
    2.5.

    Úlatin1Né   )ÚtypeÚbytesÚdecoder   ÚtimeÚstrptime)r)   Úfmtr*   r*   r+   r<   C   s    
r<   c                   @   sj   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zej	j
ejdkdd�dd„ ƒZdd„ Zej	jdd„ ƒZdS )ÚRoundtripTestc              	   O   s0  |  di ¡}|  dddi¡}|  dd¡}|r>tdd�}|j}n
tƒ }|}z¢|}	||g|	¢R i |¤Ž | ¡  | d¡ tjd	kr’t|tƒs’| 	¡  t
j|fi |¤Ž}
|	| _|
| _W t|tƒsê| 	¡  d
tƒ v rêt|
t
jjjƒsêt |j¡ n@t|tƒ�s*| 	¡  d
tƒ v �r*t|
t
jjjƒ�s*t |j¡ 0 dS )až  
        save_func : callable
            Function used to save arrays to file.
        file_on_disk : bool
            If true, store the file on disk, instead of in a
            string buffer.
        save_kwds : dict
            Parameters passed to `save_func`.
        load_kwds : dict
            Parameters passed to `numpy.load`.
        args : tuple of arrays
            Arrays stored to file.

        Ú	save_kwdsÚ	load_kwdsZallow_pickleTÚfile_on_diskF)Údeleter   Úwin32Úarr_reloadedN)Úgetr   Únamer   ÚflushÚseekÚsysÚplatformÚ
isinstanceÚcloseÚnpÚloadÚarrrD   ÚlocalsÚlibZnpyioZNpzFileÚosÚremove)r(   Z	save_funcÚargsÚkwargsr?   r@   rA   Ztarget_fileZ	load_filerO   rD   r*   r*   r+   Ú	roundtripO   s8    



ûzRoundtripTest.roundtripc                 C   s‚   |   |¡ | j |dd� |   t |¡¡ | j t |¡dd� |jd dkr~|   t |¡dd … ¡ | j t |¡dd … dd� d S )NT)rA   r   é   )rV   rM   ÚasfortranarrayÚshape©r(   Úar*   r*   r+   Úcheck_roundtrips   s    
zRoundtripTest.check_roundtripsc                 C   sª   t  g t¡}|  |¡ t  ddgddggt¡}|  |¡ t  ddgddggt¡}|  |¡ t jddgddggt jd	�}|  |¡ t jddgddggt jd	�}|  |¡ d S )
NrW   é   r7   é   y      ð?      @y       @      @y      @      @y      @       @©Údtype)rM   ÚarrayÚfloatr\   ÚintZcsingleZcdoublerZ   r*   r*   r+   Ú
test_array‰   s    



zRoundtripTest.test_arrayc                 C   s<   t  g t¡}|  |¡ t  ddgddggt¡}|  |¡ d S )NrW   r]   r7   r^   )rM   ra   Úobjectr\   rZ   r*   r*   r+   Útest_array_object™   s    
zRoundtripTest.test_array_objectc                 C   s   t  g d¢t¡}|  |¡ d S )N©rW   r]   r7   r^   )rM   ra   rc   rV   rZ   r*   r*   r+   Útest_1D    s    zRoundtripTest.test_1DrC   zFails on Win32©Úreasonc                 C   sX   t  ddgddgg¡}| j|dddid� t  ddgddgg¡}| j|dddid� d S )	NrW   g      @r^   g333333@TÚ	mmap_modeÚr)rA   r@   )rM   ra   rV   rX   rZ   r*   r*   r+   Ú	test_mmap¤   s    zRoundtripTest.test_mmapc                 C   s$   t jddgddgd�}|  |¡ d S )N©rW   r]   ©r7   r^   ©ÚxÚi4©Úyrr   r_   )rM   ra   r\   rZ   r*   r*   r+   Útest_record¬   s    zRoundtripTest.test_recordc                 C   sh   dd„ t dƒD ƒ}tjd|d�}tjdd��( t dd	t¡ |  |¡ W d   ƒ n1 sZ0    Y  d S )
Nc                 S   s   g | ]}d | d t f‘qS )ú%déd   ©rb   ©r-   Úir*   r*   r+   r.   ²   r/   z1RoundtripTest.test_format_2_0.<locals>.<listcomp>éô  iè  r_   T©ÚrecordÚalwaysr$   )ÚrangerM   ÚonesÚwarningsÚcatch_warningsÚfilterwarningsÚUserWarningr\   )r(   Údtr[   r*   r*   r+   Útest_format_2_0°   s
    zRoundtripTest.test_format_2_0N)r2   r3   r4   rV   r\   rd   rf   rh   ÚpytestÚmarkÚskipifrI   rJ   rm   ru   Úslowr†   r*   r*   r*   r+   r>   N   s   0

r>   c                   @   s   e Zd Zdd„ ZdS )ÚTestSaveLoadc                 O   sb   t j| tjg|¢R i |¤Ž t| jd | jƒ t| jd j| jjƒ t| jd jj	| jjj	ƒ d S )Nr   )
r>   rV   rM   Úsaver   rO   rD   r`   ÚflagsÚfnc)r(   rT   rU   r*   r*   r+   rV   º   s    zTestSaveLoad.roundtripN)r2   r3   r4   rV   r*   r*   r*   r+   r‹   ¹   s   r‹   c                   @   s¸   e Zd Zdd„ Zejjedd�ejje dd�ejj	dd„ ƒƒƒZ
dd	„ Zd
d„ Zdd„ Zdd„ Zejjedd�dd„ ƒZdd„ Zejjdd„ ƒZdd„ Zej dg d¢¡dd„ ƒZdS )ÚTestSavezLoadc              	   O   s¼   t j| tjg|¢R i |¤Ž ztt| jƒD ]@\}}| jd|  }t||ƒ t|j|jƒ t|j	j
|j	j
ƒ q(W | jjr¸| jj ¡  t | jjj¡ n&| jjr¶| jj ¡  t | jjj¡ 0 d S )Nzarr_%d)r>   rV   rM   ÚsavezÚ	enumeraterO   rD   r   r`   r�   rŽ   ZfidrL   rR   rS   rF   )r(   rT   rU   ÚnrO   Zreloadedr*   r*   r+   rV   Â   s    
þzTestSavezLoad.roundtripzHangs on PyPyri   zNeeds 64bit platformc                 C   sp   d}t j|t jd�}tddd��<}t j||d� ~t  |¡}|d }| ¡  ~W d   ƒ n1 sb0    Y  d S )Nl      r_   Znumpy_test_big_arrays_ú.npz)ÚprefixÚsuffix©r[   r[   )rM   ÚemptyÚuint8r   r�   rN   rL   )r(   ÚLr[   ÚtmpZnpfiler*   r*   r+   Útest_big_arraysÐ   s    
zTestSavezLoad.test_big_arraysc                 C   s@   t  ddgddggt¡}t  ddgddggt¡}|  ||¡ d S )	NrW   r]   r7   r^   ù      ð?       @ù       @      @ù      @      Àù      @      (@)rM   ra   rb   ÚcomplexrV   )r(   r[   Úbr*   r*   r+   Útest_multiple_arraysÞ   s    z"TestSavezLoad.test_multiple_arraysc                 C   sz   t  ddgddggt¡}t  ddgddggt¡}tƒ }t j|||d	� | d
¡ t  |¡}t||d ƒ t||d ƒ d S ©NrW   r]   r7   r^   rœ   r�   rž   rŸ   )Úfile_aÚfile_br   r¤   r¥   )	rM   ra   rb   r    r   r�   rH   rN   r   ©r(   r[   r¡   ÚcÚlr*   r*   r+   Útest_named_arraysã   s    

zTestSavezLoad.test_named_arraysc                 C   sp   t  g d¢¡}tƒ }t j||d� | d¡ t  |¡}tjtdd�� |d  W d   ƒ n1 sb0    Y  d S )N©rW   r]   r7   r–   r   z(1, 2)©Úmatchrn   )	rM   ra   r   r�   rH   rN   r‡   ÚraisesÚKeyError)r(   r[   Úfr¨   r*   r*   r+   Útest_tuple_getitem_raisesî   s    

z'TestSavezLoad.test_tuple_getitem_raisesc                 C   s’   t  ddgddggt¡}t  ddgddggt¡}tƒ }t j|||d	� | d
¡ t  |¡}tt	t
|jƒƒddgƒ t||jjƒ t||jjƒ d S r£   )rM   ra   rb   r    r   r�   rH   rN   r   ÚsortedÚdirr¯   r¤   r¥   r¦   r*   r*   r+   Útest_BagObjø   s    

zTestSavezLoad.test_BagObjzCannot start threadc                    sX   dd„ ‰g ‰ ‡ ‡fdd„t dƒD ƒ}|D ]}| ¡  q(|D ]}| ¡  q:ˆ rTtˆ ƒ‚d S )Nc                 S   s~   t dd��`}tj dd¡}ztj||d� W n. tyZ } z|  |¡ W Y d }~n
d }~0 0 W d   ƒ n1 sp0    Y  d S )Nr“   ©r•   r{   )rO   )r   rM   ÚrandomZrandnr�   ÚOSErrorÚappend)Z
error_listrš   rO   Úerrr*   r*   r+   Úwriter  s    z9TestSavezLoad.test_savez_filename_clashes.<locals>.writerc                    s   g | ]}t jˆˆ fd �‘qS )©ÚtargetrT   )Ú	threadingÚThread)r-   Új©Úerrorsr¹   r*   r+   r.     s   ÿz=TestSavezLoad.test_savez_filename_clashes.<locals>.<listcomp>r7   )r   ÚstartÚjoinÚAssertionError)r(   ÚthreadsÚtr*   r¿   r+   Útest_savez_filename_clashes  s    ÿ

z)TestSavezLoad.test_savez_filename_clashesc              	   C   sØ   t dd��º}t|dƒ�}tj|dd� W d   ƒ n1 s:0    Y  t|ddƒ�V}| d¡ t|j ƒ t |¡d	  t|j ƒ | d¡ t|j ƒ W d   ƒ n1 s¬0    Y  W d   ƒ n1 sÊ0    Y  d S )
Nr“   r´   ÚwbúLOVELY LOAD©ÚdataÚrbi'  r   rÊ   )r   ÚopenrM   r�   rH   r   ÚclosedrN   )r(   rš   Úfpr*   r*   r+   Útest_not_closing_opened_fid  s    ,

z)TestSavezLoad.test_not_closing_opened_fidc                 C   sä   t dd��Æ}tj|dd� tƒ �’}| t¡ tddƒD ]l}zXzt |¡d  W n4 ty‚ } zd| }t	|ƒ‚W Y d }~n
d }~0 0 W t
r¢t ¡  q6t
r t ¡  0 q6W d   ƒ n1 s¸0    Y  W d   ƒ n1 sÖ0    Y  d S )	Nr“   r´   rÈ   rÉ   rW   i  rÊ   z#Failed to load data from a file: %s)r   rM   r�   r   ÚfilterÚResourceWarningr   rN   Ú	ExceptionrÃ   r   ÚgcZcollect)r(   rš   Úsuprz   ÚeÚmsgr*   r*   r+   Útest_closing_fid*  s    
 
ÿzTestSavezLoad.test_closing_fidc                 C   sf   d}t d|d��B}tj|dd� t |¡}|jj}| ¡  t|jƒ W d   ƒ n1 sX0    Y  d S )NZ&numpy_test_closing_zipfile_after_load_r“   )r•   r”   úplace holder©Úlab)	r   rM   r�   rN   ÚziprÎ   rL   r   rÍ   )r(   r”   rš   rÊ   rÎ   r*   r*   r+   Útest_closing_zipfile_after_loadD  s    
z-TestSavezLoad.test_closing_zipfile_after_loadzcount, expected_repr))rW   z"NpzFile {fname!r} with keys: arr_0)é   z>NpzFile {fname!r} with keys: arr_0, arr_1, arr_2, arr_3, arr_4)é   zANpzFile {fname!r} with keys: arr_0, arr_1, arr_2, arr_3, arr_4...c                 C   sˆ   t  ddgddggt¡}tdd��R}t j|g|g| ¢R Ž  t  |¡}t|ƒ|j|d�ks^J ‚| ¡  W d   ƒ n1 sz0    Y  d S )NrW   r]   r7   r^   r“   r´   )Úfname)	rM   ra   rb   r   r�   rN   ÚreprÚformatrL   )r(   ÚcountZexpected_reprr[   rš   r¨   r*   r*   r+   Útest_repr_lists_keysQ  s    
z"TestSavezLoad.test_repr_lists_keysN)r2   r3   r4   rV   r‡   rˆ   r‰   r   ÚIS_64BITrŠ   r›   r¢   r©   r°   r³   r   rÆ   rÏ   Z	slow_pypyr×   rÜ   Úparametrizerã   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d„ Z	dd„ Z
dd„ Zej deeg¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zej d$eeg¡d%d&„ ƒZejjejd'kd(d)�ejje d*d+�d,d-„ ƒƒƒZ!d.S )/ÚTestSaveTxtc                 C   sÄ   t  ddgddggt¡}d}tƒ }t j|||d� | d¡ t| ¡ t|d | d	 d
 ƒt|d | d	 d ƒgƒ t  ddgddggt	¡}tƒ }t j||dd� | d¡ t| ¡ ddgƒ d S )NrW   r]   r7   r^   z%.18e©r=   r   ú Ú
rn   ro   rv   ó   1 2
ó   3 4
)
rM   ra   rb   r   ÚsavetxtrH   r   Ú	readlinesr"   rc   )r(   r[   r=   r§   r*   r*   r+   rd   b  s    
ÿÿ
zTestSaveTxt.test_arrayc                 C   sJ   t  g d¢t¡}tƒ }t j||dd� | d¡ | ¡ }t|g d¢ƒ d S )Nrg   rv   rç   r   )s   1
s   2
s   3
s   4
)rM   ra   rc   r   rì   rH   rí   r   ©r(   r[   r§   r1   r*   r*   r+   rh   r  s    
zTestSaveTxt.test_1Dc                 C   s@   t ƒ }tttj|t d¡ƒ tttj|t dgdggg¡ƒ d S )NrW   r]   )r   r   Ú
ValueErrorrM   rì   ra   ©r(   r§   r*   r*   r+   Ú
test_0D_3Dz  s    zTestSaveTxt.test_0D_3Dc                 C   sL   t jddgddgd�}tƒ }t j||dd� | d¡ t| ¡ d	d
gƒ d S )Nrn   ro   rp   rs   r_   rv   rç   r   rê   rë   ©rM   ra   r   rì   rH   r   rí   ©r(   r[   r§   r*   r*   r+   Útest_structured  s
    
zTestSaveTxt.test_structuredc                 C   sT   t jddgg d¢d�}tƒ }t j||ddg dd� | d	¡ t| ¡ d
dgƒ d S )Nrª   ©r^   rÝ   rÞ   ))Úfoorr   )Úbarrr   )Úbazrr   r_   rö   rø   rv   rç   r   s   1 3
s   4 6
rò   ró   r*   r*   r+   Útest_structured_padded†  s
    
z"TestSaveTxt.test_structured_paddedc                 C   st   t jdg d¢d�}|ddg }tdd��8}t|ƒ}t  ||¡ t  |¡}t||ƒ W d   ƒ n1 sf0    Y  d S )NrW   )rp   rs   )ÚzÚf4r_   rq   rú   ú.npyr´   )rM   r€   r   r   rŒ   rN   r   )r(   r[   ÚvÚpathrÊ   r*   r*   r+   Útest_multifield_view�  s    
z TestSaveTxt.test_multifield_viewc                 C   sN   t  ddgddgg¡}tƒ }t j||ddd� | d¡ t| ¡ d	d
gƒ d S )Nç      ð?ç       @ç      @ç      @ú,rv   )Ú	delimiterr=   r   s   1,2
s   3,4
rò   ró   r*   r*   r+   Útest_delimiter™  s
    
zTestSaveTxt.test_delimiterc                 C   sÐ   t  ddg¡}tƒ }t j||ddgd� | d¡ t| ¡ ddgƒ tƒ }t j||d	d� | d¡ | ¡ }t|d
dgƒ tƒ }t j||d	dd� | d¡ | ¡ }t|d
dgƒ tƒ }ttt j||dd� d S )Nrn   ro   z%02dz%3.1frç   r   s   01 2.0
s   03 4.0
z%02d : %3.1fs	   01 : 2.0
s	   03 : 4.0
r  )r=   r  éc   )	rM   ra   r   rì   rH   r   rí   r   rï   rî   r*   r*   r+   Útest_format   s"    


zTestSaveTxt.test_formatc                 C   s  t ƒ }tjddgtd�}d}tj||d|d� | d¡ t| ¡ td| d	 ƒƒ t ƒ }tj||d|d
� | d¡ t| ¡ td| d ƒƒ t ƒ }d}tj||d||d� | d¡ t| ¡ t|| d d ƒƒ t ƒ }d}tj||d||d� | d¡ t| ¡ td| | d ƒƒ d S )Nrn   ro   r_   zTest header / footerz%1d)r=   Úheaderr   z# z	
1 2
3 4
)r=   Úfooterz
1 2
3 4
# ré   z% )r=   r	  Úcommentsz1 2
3 4
)r=   r
  r  )	r   rM   ra   rc   rì   rH   r   Úreadr"   )r(   r§   r[   Útest_header_footerZ
commentstrr*   r*   r+   r  º  s@    
ÿ
ÿ
ÿ
ÿ
ÿ
ÿzTestSaveTxt.test_header_footerÚfilename_typec                 C   s`   t ƒ �F}t ddg¡}t ||ƒ|¡ t ||ƒ¡}t||ƒ W d   ƒ n1 sR0    Y  d S )Nrn   ro   )r   rM   ra   rì   Úloadtxtr   )r(   r  rF   r[   r¡   r*   r*   r+   Útest_file_roundtripÜ  s
    zTestSaveTxt.test_file_roundtripc                 C   sì   d}d}t j||ft jd�}t j}t j}|d|  |d d …< tƒ }t j||dd� | d¡ | ¡ }t	|ddgƒ tƒ }t j||d| d� | d¡ | ¡ }t	|d	d	gƒ tƒ }t j||d
g| d� | d¡ | ¡ }t	|ddgƒ d S )Nr]   r_   ù              ð?z %+.3erç   r   s8    ( +3.142e+00+ +2.718e+00j)  ( +3.142e+00+ +2.718e+00j)
z  %+.3e  %+.3es1     +3.142e+00  +2.718e+00  +3.142e+00  +2.718e+00
z(%.3e%+.3ej)s.   (3.142e+00+2.718e+00j) (3.142e+00+2.718e+00j)
©
rM   ÚzerosÚ
complex128ÚpirÕ   r   rì   rH   rí   r   ©r(   ZncolsZnrowsr[   ÚreÚimr§   r1   r*   r*   r+   Útest_complex_arraysä  sH    
ÿþ
ÿþ
ÿþzTestSaveTxt.test_complex_arraysc                 C   sv   d}d}t j||ft jd�}t j}t j}|d|  |d d …< tƒ }t j||dd� | d¡ | ¡ }t	|ddgƒ d S )Nr]   r_   r  z%.3erç   r   s0    (3.142e+00-2.718e+00j)  (3.142e+00-2.718e+00j)
r  r  r*   r*   r+   Útest_complex_negative_exponent
  s     
ÿþz*TestSaveTxt.test_complex_negative_exponentc                 C   sH   G dd„ dt ƒ}|ƒ }t ddg¡}t ||¡ t |¡}t||ƒ d S )Nc                   @   s   e Zd Zdd„ ZdS )z4TestSaveTxt.test_custom_writer.<locals>.CustomWriterc                 S   s   |   | d¡¡ d S )Nó   
)ÚextendÚsplit)r(   Útextr*   r*   r+   r,     s    z:TestSaveTxt.test_custom_writer.<locals>.CustomWriter.writeN)r2   r3   r4   r,   r*   r*   r*   r+   ÚCustomWriter  s   r  rn   ro   )ÚlistrM   ra   rì   r  r   )r(   r  Úwr[   r¡   r*   r*   r+   Útest_custom_writer  s    
zTestSaveTxt.test_custom_writerc                 C   sd   d  d¡}tj|gtjd�}tƒ �.}tjtj |d¡|dgdd� W d   ƒ n1 sV0    Y  d S )Nó   Ï–úUTF-8r_   útest.csvú%s©r=   Úencoding)	r:   rM   ra   Ústr_r   rì   rR   rþ   rÂ   )r(   Úutf8r[   Útmpdirr*   r*   r+   Útest_unicode(  s    
ÿzTestSaveTxt.test_unicodec                 C   sÄ   d  d¡}tj|gtjd�}ddg}tr2| d¡ trD| ddg¡ tƒ �f}|D ]P}tj	t
j |d	| ¡|d
gdd� tjt
j |d	| ¡dtjd�}t||ƒ qPW d   ƒ n1 s¶0    Y  d S )Nr#  r$  r_   r$   ú.gzú.bz2ú.xzú.lzmar%  r&  z	UTF-16-LEr'  ©r(  r`   )r:   rM   ra   r)  ÚHAS_BZ2r·   ÚHAS_LZMAr  r   rì   rR   rþ   rÂ   r  r   )r(   r*  r[   Úsuffixesr+  r•   r¡   r*   r*   r+   Útest_unicode_roundtrip0  s     

ÿÿz"TestSaveTxt.test_unicode_roundtripc                 C   s\   d  d¡}tj|gtjd�}tƒ }tj||dgdd� | d¡ t| ¡   d¡|d ƒ d S ©Nr#  r$  r_   r&  r'  r   ré   )	r:   rM   ra   r)  r   rì   rH   r   r  ©r(   r*  r[   r)   r*   r*   r+   Útest_unicode_bytestreamA  s    

z#TestSaveTxt.test_unicode_bytestreamc                 C   sV   d  d¡}tj|gtjd�}tƒ }tj||dgdd� | d¡ t| ¡ |d ƒ d S r6  )	r:   rM   ra   r)  r   rì   rH   r   r  r7  r*   r*   r+   Útest_unicode_stringstreamI  s    

z%TestSaveTxt.test_unicode_stringstreamÚiotypec                 C   s^   t  dg¡}|ƒ }t j||dd� | d¡ |tu rHt| ¡ dd ƒ nt| ¡ dd ƒ d S )Nr   ú%frç   r   z%f
s   %f
)rM   ra   rì   rH   r   r   r  )r(   r:  r[   r)   r*   r*   r+   Útest_unicode_and_bytes_fmtQ  s    
z&TestSaveTxt.test_unicode_and_bytes_fmtrC   zfiles>4GB may not workri   g   `¸úA)Z
free_bytesc                 C   sl   dd„ }t tƒ}tdƒ}|j||fd�}| ¡  | ¡  |jrFtdƒ‚|jdkrZt	 
d¡ |jdkshJ ‚d S )	Nc                 S   s„   d| _ z^tjdd„ tdƒD ƒtd�}tƒ �(}tjtj 	|d¡|d� W d   ƒ n1 sX0    Y  W n t
y~   d| _ ‚ Y n0 d S )	NFc                 S   s$   g | ]}t j t j d d¡d¡‘qS )é2   rw   r^   )rM   rµ   ZrandÚrandintry   r*   r*   r+   r.   f  s   þÿzGTestSaveTxt.test_large_zip.<locals>.check_large_zip.<locals>.<listcomp>i 5 r_   ztest.npz)Ú	test_dataT)ÚvaluerM   Zasarrayr   re   r   r�   rR   rþ   rÂ   ÚMemoryError)Úmemoryerror_raisedr?  r+  r*   r*   r+   Úcheck_large_zipa  s    
þþÿ(z3TestSaveTxt.test_large_zip.<locals>.check_large_zipÚforkrº   z,Child process raised a MemoryError exceptioné÷ÿÿÿzCsubprocess got a SIGKILL, apparently free memory was not sufficientr   )r   r	   r   ÚProcessrÁ   rÂ   r@  rA  Úexitcoder‡   Úxfail)r(   rC  rB  ÚctxÚpr*   r*   r+   Útest_large_zip]  s    

zTestSaveTxt.test_large_zipN)"r2   r3   r4   rd   rh   rñ   rô   rù   rÿ   r  r  r  r‡   rˆ   rå   r   Ústrr  r  r  r"  r,  r5  r8  r9  r   r   r<  r‰   rI   rJ   rŠ   r    rK  r*   r*   r*   r+   ræ   a  s0   
	"
&
ræ   c                   @   sx   e Zd Zdd„ Zdd„ Zejje dd�dd„ ƒZ	ejje
 d	d�d
d„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚLoadTxtBasec                 C   sô   t  d¡ d¡}d}|D ]Ö}d| d }|D ]À}t|d��¢}||ddd	��}	|	 |¡ W d   ƒ n1 sj0    Y  | j|dd
�}
t|
|ƒ ||ddd
��}	|  |	¡}
W d   ƒ n1 sº0    Y  t|
|ƒ W d   ƒ q,1 sâ0    Y  q,qd S )NrÞ   ©r]   r7   ©ré   z
úú0 1 2ú3 4 5r´   Úwtz	UTF-32-LE)Úmoder(  ©r(  Úrt)rM   ÚarangeÚreshaper   r,   Úloadfuncr   )r(   Zfopenr4  ÚwantedÚlinesepÚseprÊ   r•   rF   r¯   Úresr*   r*   r+   Úcheck_compressedƒ  s    (
(zLoadTxtBase.check_compressedc                 C   s   |   tjd¡ d S )N)r-  )r^  ÚgziprÌ   ©r(   r*   r*   r+   Útest_compressed_gzip“  s    z LoadTxtBase.test_compressed_gzipz	Needs bz2ri   c                 C   s   |   tjd¡ d S )N)r.  )r^  Úbz2rÌ   r`  r*   r*   r+   Útest_compressed_bz2–  s    zLoadTxtBase.test_compressed_bz2z
Needs lzmac                 C   s   |   tjd¡ d S )N)r/  r0  )r^  ÚlzmarÌ   r`  r*   r*   r+   Útest_compressed_lzmaš  s    z LoadTxtBase.test_compressed_lzmac              	   C   s€   t ƒ �f}t|dƒ� }| d d¡¡ W d   ƒ n1 s80    Y  | j|dd�}t|g d¢ƒ W d   ƒ n1 sr0    Y  d S )NrÇ   z0.
1.
2.úUTF-16rU  )ç        r   r  )r   rÌ   r,   ÚencoderY  r   )r(   rþ   r¯   rq   r*   r*   r+   Útest_encodingž  s
    .zLoadTxtBase.test_encodingc              	   C   sŠ   d  d¡}tƒ �f}t|dƒ� }| | d¡¡ W d   ƒ n1 sB0    Y  | j|dtjd�}t||ƒ W d   ƒ n1 s|0    Y  d S )Ns   Ã¶Ã¼Ã¶r$  rÇ   rf  r1  )	r:   r   rÌ   r,   rh  rY  rM   r)  r   )r(   Znonasciirþ   r¯   rq   r*   r*   r+   Útest_stringload¥  s    
.zLoadTxtBase.test_stringloadc                 C   s8   d}| j t|ƒtjdd�}t|t | d¡ ¡ ¡ƒ d S ©Ns   ÿþh  i  jrf  ©r`   r(  )rY  r   rM   r)  r   ra   r:   r  ©r(   Úutf16rý   r*   r*   r+   Útest_binary_decode®  s    zLoadTxtBase.test_binary_decodec                 C   sV   t ƒ }| d¡ | d¡ | j|tjdddd„ id�}t d d¡g¡}t||ƒ d S )Nr#  r   r9   c                 S   s
   |   d¡S )Nr$  ©r:   ©rq   r*   r*   r+   Ú<lambda>¹  r/   z4LoadTxtBase.test_converters_decode.<locals>.<lambda>)r`   r(  Ú
convertersr$  )	r#   r,   rH   rY  rM   r)  ra   r:   r   ©r(   r§   rq   r[   r*   r*   r+   Útest_converters_decode³  s    


ÿz"LoadTxtBase.test_converters_decodec              	   C   s¢   d  d¡}tƒ �~}t|ddd��}| |¡ W d   ƒ n1 s@0    Y  | j|tjddd„ idd�}t |d	 g¡}t||ƒ W d   ƒ n1 s”0    Y  d S )
Nr#  r$  rS  rU  r   c                 S   s   | d S )NrÅ   r*   rq  r*   r*   r+   rr  Ä  r/   z6LoadTxtBase.test_converters_nodecode.<locals>.<lambda>©r`   rs  r(  rÅ   )	r:   r   rÌ   r,   rY  rM   r)  ra   r   )r(   r*  rþ   r¯   rq   r[   r*   r*   r+   Útest_converters_nodecode½  s    
(

þz$LoadTxtBase.test_converters_nodecodeN)r2   r3   r4   r^  ra  r‡   rˆ   r‰   r2  rc  r3  re  ri  rj  ro  ru  rw  r*   r*   r*   r+   rM  ‚  s   

	
rM  c                   @   s  e Zd Zeejƒ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ejjeovejjdkdd�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#d0d1„ Z$d2d3„ Z%ejje�oejjdkdd�d4d5„ ƒZ&ejje�o*ejjdkdd�d6d7„ ƒZ'd8d9„ Z(d:d;„ Z)d<d=„ Z*d>d?„ Z+d@dA„ Z,dBdC„ Z-dDdE„ Z.dFdG„ Z/dHdI„ Z0ejje1 2¡ dJkdKd�dLdM„ ƒZ3dNdO„ Z4dPdQ„ Z5dRdS„ Z6dTdU„ Z7ej 8dVdWgdXg dY¢fdXg dZ¢fdXe9d[ƒfd\g d]¢fd\g d^¢fd\e9d_ƒfg¡d`da„ ƒZ:dbS )cÚTestLoadTxtc                 C   s   t j| _dt _d S ©NrW   )r   Ú_loadtxt_chunksizeÚ
orig_chunkr`  r*   r*   r+   Úsetup_methodÍ  s    zTestLoadTxt.setup_methodc                 C   s   | j t_d S r%   )r{  r   rz  r`  r*   r*   r+   Úteardown_methodÒ  s    zTestLoadTxt.teardown_methodc                 C   sª   t ƒ }| d¡ | d¡ tj|dtjfdtjfgd�}tjddgdd	gd�}t||ƒ t ƒ }| d
¡ | d¡ dddœ}tjddg|d�}tj||d�}t||ƒ d S )Nú1 2
3 4r   rq   rt   r_   rn   ro   rp   rs   zM 64 75.0
F 25 60.0©ÚgenderÚageÚweight©ÚS1rr   rû   ©ÚnamesÚformats©ÚMç      P@ç     ÀR@©ÚFç      9@ç      N@)r#   r,   rH   rM   r  Úint32ra   r   )r(   r§   rq   r[   ÚdZmydescriptorr¡   rt   r*   r*   r+   ru   Õ  s&    




ÿÿÿzTestLoadTxt.test_recordc                 C   sˆ   t ƒ }| d¡ | d¡ tj|td�}t ddgddggt¡}t||ƒ | d¡ tj|td�}t ddgddggt¡}t||ƒ d S )Nr~  r   r_   rW   r]   r7   r^   )	r#   r,   rH   rM   r  rc   ra   r   rb   rt  r*   r*   r+   rd   ç  s    



zTestLoadTxt.test_arrayc                 C   sŠ   t ƒ }| d¡ | d¡ tj|td�}t g d¢t¡}t||ƒ t ƒ }| d¡ | d¡ tj|tdd�}t g d¢t¡}t||ƒ d S )Nú1
2
3
4
r   r_   rg   ú1,2,3,4
r  ©r`   r  ©r#   r,   rH   rM   r  rc   ra   r   rt  r*   r*   r+   rh   õ  s    




zTestLoadTxt.test_1Dc                 C   sR   t ƒ }| d¡ | d¡ tj|tdddd„ id�}t g d¢t¡}t||ƒ d S )	Nú	1,2,3,,5
r   r  r7   c                 S   s   t | pdƒS ©Néüÿÿ©rc   ©r)   r*   r*   r+   rr  	  r/   z*TestLoadTxt.test_missing.<locals>.<lambda>©r`   r  rs  ©rW   r]   r7   r˜  rÝ   r•  rt  r*   r*   r+   Útest_missing  s    



ÿzTestLoadTxt.test_missingc                 C   s\   t ƒ }| d¡ | d¡ tj|tdddd„ idd�}t d	d
gddggt¡}t||ƒ d S )Nú1,2,3,,5
6,7,8,9,10
r   r  r7   c                 S   s   t | pdƒS r—  r™  rš  r*   r*   r+   rr    r/   z:TestLoadTxt.test_converters_with_usecols.<locals>.<lambda>©rW   r7   ©r`   r  rs  Úusecolsr]   r˜  é   é	   r•  rt  r*   r*   r+   Útest_converters_with_usecols  s    



þz(TestLoadTxt.test_converters_with_usecolsc                 C   sJ   t ƒ }| d¡ | d¡ tj|tddd�}t g d¢t¡}t||ƒ d S )Nú# comment
1,2,3,5
r   r  ú#©r`   r  r  ©rW   r]   r7   rÝ   r•  rt  r*   r*   r+   Útest_comments_unicode  s    


ÿz!TestLoadTxt.test_comments_unicodec                 C   sJ   t ƒ }| d¡ | d¡ tj|tddd�}t g d¢t¡}t||ƒ d S )Nr¥  r   r  ó   #r§  r¨  r•  rt  r*   r*   r+   Útest_comments_byte   s    


ÿzTestLoadTxt.test_comments_bytec                 C   sV   t ƒ }| d¡ | d¡ tj|tdg d¢d�}t g d¢g d¢gt¡}t||ƒ d S )Nz,# comment
1,2,3
@ comment2
4,5,6 // comment3r   r  )r¦  ú@z//r§  rª   rõ   r•  rt  r*   r*   r+   Útest_comments_multiple)  s    


ÿz"TestLoadTxt.test_comments_multiple)r¢  r7   é   zPyPy bug in error formattingri   c                 C   sz   t ƒ }| d¡ | d¡ tj|tddd�}t g d¢t¡}t||ƒ t ƒ }| d¡ | d¡ tt	tj|tddd� d S )Nz/* comment
1,2,3,5
r   r  z/*r§  r¨  z*/ comment
1,2,3,5
)
r#   r,   rH   rM   r  rc   ra   r   r   rï   rt  r*   r*   r+   Útest_comments_multi_chars2  s    


ÿ


ÿz%TestLoadTxt.test_comments_multi_charsc                 C   s�   t ƒ }| d¡ | d¡ tj|tddd�}t g d¢t¡}t||ƒ t ƒ }| d¡ | d¡ tj|tddd�}t g d¢t¡}t||ƒ d S )Núcomment
1,2,3,5
r   r  rW   )r`   r  Úskiprowsr¨  r¥  r•  rt  r*   r*   r+   Útest_skiprowsD  s     


ÿ



ÿzTestLoadTxt.test_skiprowsc              	   C   s€  t  ddgddggt¡}tƒ }t  ||¡ | d¡ t j|tdd�}t||d d …df ƒ t  g d¢g d	¢gt¡}tƒ }t  ||¡ | d¡ t j|td
d�}t||d d …dd …f ƒ | d¡ t j|tt  ddg¡d�}t||d d …dd …f ƒ tt j	t j
t jt jt jt jt jt jf	D ]>}|dƒ}| d¡ t j|t|d�}t||d d …df ƒ �qG dd„ dƒ}|ƒ }| d¡ t j|t|d�}t||d d …df ƒ | d¡ t j|t|fd�}t||d d …df ƒ d}t|ƒ}ddg}	ddg}
t j|dtt|	|
ƒƒd�}t|d ddgƒ t|d ddgƒ | d¡ d}ttdt|ƒj t j||d� ttdt|ƒj t j|d|dgd� d S )NrW   r]   r7   r^   r   ©rW   ©r`   r¡  rª   ©r7   r^   rÝ   rn   c                   @   s   e Zd Zdd„ ZdS )z*TestLoadTxt.test_usecols.<locals>.CrazyIntc                 S   s   dS ry  r*   r`  r*   r*   r+   Ú	__index__t  s    z4TestLoadTxt.test_usecols.<locals>.CrazyInt.__index__N)r2   r3   r4   r¶  r*   r*   r*   r+   ÚCrazyInts  s   r·  z<JOE 70.1 25.3
                BOB 60.5 27.9
                ÚstidÚtempÚS4Úf8©r   r]   ©r¡  r`   ó   JOEó   BOBçÍÌÌÌÌL9@çfffffæ;@ç      ø?z^usecols must be.*%s©r¡  )rM   ra   rb   r   rì   rH   r  r   rc   Zint8Zint16r�  Úint64r˜   Zuint16Zuint32Úuint64r#   r   rÛ   r   r   Ú	TypeErrorr8   r2   )r(   r[   r§   rq   Zint_typeZto_readr·  Z	crazy_intrÊ   r†  ÚdtypesrO   Z	bogus_idxr*   r*   r+   Útest_usecolsU  sd    



þ



ýýzTestLoadTxt.test_usecolsc                 C   sÈ   t  t¡�$ tjdgdgdd� W d   ƒ n1 s40    Y  t  ttf¡�$ tjdgdgdd� W d   ƒ n1 sv0    Y  t jtdd��& tjdgd	d
gdd� W d   ƒ n1 sº0    Y  d S )Nz1
l            r  )r¡  r  l            zQIf a structured dtype .*. But 1 usecols were given and the number of fields is 3.r«   z1,1
zi,2ir   )r`   r¡  r  )r‡   r­   ÚOverflowErrorrM   r  rï   rÆ  r`  r*   r*   r+   Útest_bad_usecolsš  s    22ÿzTestLoadTxt.test_bad_usecolsc                 C   sj   t ƒ }| d¡ | d¡ t dtfddtfdtfgfg¡}tj||dd�}t d	d
g|¡}t	||ƒ d S )Nú1,2,3.0
4,5,6.0
r   rq   rt   rÅ   r)   r  r”  ©rW   )r]   r  ©r^   )rÝ   ç      @)
r#   r,   rH   rM   r`   rc   rb   r  ra   r   ©r(   r§   r…   rq   r[   r*   r*   r+   Útest_fancy_dtype¥  s    

"zTestLoadTxt.test_fancy_dtypec                 C   sh   t dƒ}t ddtfdtfdtdfg¡}tj||d�}tjdd	d
g d¢g d¢gfg|d�}t||ƒ d S ©Nzaaaa  1.0  8.0  1 2 3 4 5 6©rF   rº  rq   rt   ÚblockrN  r_   Úaaaar   ç       @rª   rõ   ©r#   rM   r`   rb   rc   r  ra   r   rÏ  r*   r*   r+   Útest_shaped_dtype®  s    ÿÿzTestLoadTxt.test_shaped_dtypec                 C   sx   t dƒ}t ddtfdtfdtdfg¡}tj||d�}tjdd	d
g d¢g d¢gg d¢g d¢ggfg|d�}t||ƒ d S )Nz*aaaa  1.0  8.0  1 2 3 4 5 6 7 8 9 10 11 12rÒ  rq   rt   rÓ  )r]   r]   r7   r_   rÔ  r   rÕ  rª   rõ   )r¢  r®  r£  )é
   é   é   rÖ  rÏ  r*   r*   r+   Útest_3d_shaped_dtype·  s    ÿ
ÿþz TestLoadTxt.test_3d_shaped_dtypec                 C   sF   ddg}t tjfD ].}tjddg|d�}tj||d�}t||ƒ qd S )NZstr1Zstr2r_   )rL  rM   Úbytes_ra   r  r   )r(   r§   r…   r[   rq   r*   r*   r+   Útest_str_dtypeÁ  s
    zTestLoadTxt.test_str_dtypec                 C   sz   t jtdd��X tƒ }t |¡}t|jdƒ tj|tjd�}t|jdƒ t	|j
tjkƒ W d   ƒ n1 sl0    Y  d S )Núinput contained no datar«   ©r   r_   )r‡   Úwarnsr„   r#   rM   r  r   rY   rÄ  r   r`   )r(   r§   rq   r*   r*   r+   Útest_empty_fileÊ  s    
zTestLoadTxt.test_empty_filec                 C   sx   t ƒ }| ddg¡ | d¡ tj|dddd„ id�}t|dd	gƒ | d¡ tj|dd
dd„ id�}t|ddgƒ d S )Nz1 21
z3 42
r   r³  c                 S   s
   t | dƒS ©Né   r™  rš  r*   r*   r+   rr  Ø  r/   z3TestLoadTxt.test_unused_converter.<locals>.<lambda>©r¡  rs  é   é*   rW   c                 S   s
   t | dƒS râ  r™  rš  r*   r*   r+   rr  Ý  r/   é!   éB   )r#   r0   rH   rM   r  r   )r(   r§   rÊ   r*   r*   r+   Útest_unused_converterÓ  s    

ÿ

ÿz!TestLoadTxt.test_unused_converterc                 C   sr   d}dt fdtfg}dd„ }d|i}tjt|ƒd||d�}tjdtd	ddƒfd
tdddƒfg|d�}t||ƒ d S )Nú0 1; 2001-01-01
                   2; 2002-01-31 ÚidxÚcodec                 S   s   t |  ¡ dƒS ©Nz%Y-%m-%d©r<   Ústriprš  r*   r*   r+   rr  å  r/   z4TestLoadTxt.test_dtype_with_object.<locals>.<lambda>rW   ú;©r  r`   rs  éÑ  r]   éÒ  é   r_   )rc   re   rM   r  r#   ra   r   r   ©r(   rÊ   ZndtypeÚfuncrs  ÚtestÚcontrolr*   r*   r+   Útest_dtype_with_objectà  s    ÿþz"TestLoadTxt.test_dtype_with_objectc                 C   s@   d}t ƒ }| d| ¡ | d¡ tj|tjd�}t||ƒ d S )N)l   +&ì|    l   -(ì|    ú%s %sr   r_   )r#   r,   rH   rM   r  rÅ  r   ©r(   Útgtr§   r]  r*   r*   r+   Útest_uint64_typeî  s    
zTestLoadTxt.test_uint64_typec                 C   s@   d}t ƒ }| d| ¡ | d¡ tj|tjd�}t||ƒ d S )N)lûÿÿÿÿÿÿÿ l   ÿÿÿÿ rú  r   r_   )r#   r,   rH   rM   r  rÄ  r   rû  r*   r*   r+   Útest_int64_typeö  s    
zTestLoadTxt.test_int64_typec                 C   s’   t  ddd¡ t j¡}t  || f¡ t¡}d ttj|ƒ¡}t	ƒ }| 
|¡ tt jfD ]4}| d¡ t j||tjdd�}t||d| d	� qXd S )
NiöÿÿÿrØ  rÝ   ré   r   r6   rv  r&  )Úerr_msg)rM   ZlogspaceZastypeZfloat32Zhstackrb   rÂ   ÚmapÚhexr#   r,   rH   r  Úfromhexr   )r(   rü  Úinpr§   r…   r]  r*   r*   r+   Útest_from_float_hexþ  s    


ÿzTestLoadTxt.test_from_float_hexc                 C   sD   t dƒ}tjtdd�� t |¡ W d  ƒ n1 s60    Y  dS )z 
        Ensure that fromhex is only used for values with the correct prefix and
        is not called by default. Regression test related to gh-19598.
        za b cz2.*convert string 'a' to float64 at row 0, column 1r«   N©r#   r‡   r­   rï   rM   r  rð   r*   r*   r+   Ú6test_default_float_converter_no_default_hex_conversion  s
    ÿzBTestLoadTxt.test_default_float_converter_no_default_hex_conversionc                 C   sD   t dƒ}tjtdd�� t |¡ W d  ƒ n1 s60    Y  dS )z›
        Ensure that the exception message raised during failed floating point
        conversion is correct. Regression test related to gh-19598.
        zqrs tuvz)could not convert string 'qrs' to float64r«   Nr  rð   r*   r*   r+   Ú&test_default_float_converter_exception  s
    ÿz2TestLoadTxt.test_default_float_converter_exceptionc                 C   sN   t ddƒt ddƒf}tƒ }| d| ¡ | d¡ tj|t d�}t||ƒ d S )NrW   éÿÿÿÿrú  r   r_   )r    r#   r,   rH   rM   r  r   rû  r*   r*   r+   Útest_from_complex$  s    
zTestLoadTxt.test_from_complexc                 C   sª   t jdt jd�}t j}t j}|d|  |d d …< tƒ }t j||dd� | d¡ | ¡ }| d¡ | 	dd¡}t
||kƒ | |¡ | d¡ t j|td�}t||ƒ d S )	N©r]   r]   r_   r  z%.16erç   r   s   e+00-s   e00+-)rM   r  r  r  rÕ   r   rì   rH   r  Úreplacer   r,   r  r    r   )r(   r[   r  r  r§   ÚtxtZtxt_badr]  r*   r*   r+   Útest_complex_misformatted,  s    



z%TestLoadTxt.test_complex_misformattedc              	   C   s~   t ƒ �N}t|dƒ�}| d¡ W d   ƒ n1 s20    Y  t |¡}W d   ƒ n1 sZ0    Y  t|ddgddggƒ d S )Nr!  z
1 213 42rW   rå  r7   ræ  )r   rÌ   r,   rM   r  r   )r(   rF   r¯   rÊ   r*   r*   r+   Útest_universal_newline@  s
    ((z"TestLoadTxt.test_universal_newlinec                 C   sT   t ƒ }| d¡ | d¡ dddœ}tj||dd�}t g d¢¡}t|d	 |ƒ d S )
Nz 1 	2 	3	start 
4	5	6	  
7	8	9.5	r   )rq   rt   rú   Úcomment)ú<i4r  ú<f4ú|S8r…  ú	r”  )s   start s     r/   r  )r#   r,   rH   rM   r  ra   r   rÏ  r*   r*   r+   Útest_empty_field_after_tabG  s    

ÿz&TestLoadTxt.test_empty_field_after_tabc                 C   s˜   t dƒ}dddœ}tj||dd�\}}}t|jjdkƒ t|jjdkƒ t|jjd	kƒ t|t d
dg¡ƒ t|t ddg¡ƒ t|t ddg¡ƒ d S )NúM 21 72
F 35 58©r[   r¡   r§   )ú|S1r  r  r…  T©r`   Úunpackr  r  r  ó   Mó   Frå  é#   ç      R@ç      M@)r#   rM   r  r   r`   rL  r   ra   ©r(   r  r…   r[   r¡   r§   r*   r*   r+   Útest_unpack_structuredQ  s    
z"TestLoadTxt.test_unpack_structuredc                 C   s
  t ƒ }| d¡ | d¡ tttj|dd� | d¡ tttj|dd� | d¡ tj|tddd�}t g d	¢g d
¢g¡}t	||ƒ t ƒ }| d¡ | d¡ tj|tddd�}t
|jdkƒ | d¡ tj|tddd�}t
|jdkƒ | d¡ tj|tddd�}t
|jdkƒ t ƒ }| d¡ | d¡ tj|tddd�}t
|jdkƒ | d¡ tj|tddd�}t
|jdkƒ | d¡ tj|tddd�}t
|jdkƒ tjtdd��F t ƒ }t
tj|dd�jdkƒ t
tj|dd�jdkƒ W d   ƒ n1 �sü0    Y  d S )Nz1,2,3
4,5,6r   r7   ©ÚndminrÂ  r  rW   )r`   r  r"  rª   rõ   z0,1,2r]   rŸ  )r7   z0
1
2)r7   rW   rÞ  r«   ©r   rW   rß  )r#   r,   rH   r   rï   rM   r  rc   ra   r   r   rY   r‡   rà  r„   )r(   r§   rq   r[   r‘  rÕ   r¯   r*   r*   r+   Útest_ndmin_keyword\  sH    












zTestLoadTxt.test_ndmin_keywordc                 C   s(   dd„ }t  |ƒ ¡}t|t  d¡ƒ d S )Nc                  s   s   t dƒD ]} d|  V  qd S ©NrØ  rv   )r   ©rz   r*   r*   r+   râ   ‡  s    z0TestLoadTxt.test_generator_source.<locals>.countrØ  )rM   r  r   rW  ©r(   râ   r]  r*   r*   r+   Útest_generator_source†  s    z!TestLoadTxt.test_generator_sourcec                 C   s.   t ƒ }| d¡ | d¡ ttdtj|ƒ d S )Nz1 2 3
4 5 6
2 3r   Ú3)r#   r,   rH   r   rï   rM   r  rð   r*   r*   r+   Útest_bad_lineŽ  s    

zTestLoadTxt.test_bad_linec                 C   sH   t ƒ }| d¡ | d¡ t dtfddtfg¡}tj|d|d d� d S )Nz100,foo,200
300,None,400r   rq   )r[   ZS10rt   r  )r  r`   r  )r#   r,   rH   rM   r`   rc   r  )r(   r§   r…   r*   r*   r+   Útest_none_as_string–  s
    

zTestLoadTxt.test_none_as_stringzANSI_X3.4-1968zWrong preferred encodingc              	   C   s  d}|  d¡ dd¡ ¡ }tƒ �à}t|dƒ�}| |¡ W d   ƒ n1 sL0    Y  t|dƒ�"}tj|dtjd�}W d   ƒ n1 sˆ0    Y  t	||ƒ t|dƒ� }tj|ddd�}W d   ƒ n1 sÌ0    Y  g d	¢}t	|tj
|dd
�ƒ W d   ƒ n1 �s0    Y  d S )Ns/   5,6,7,Ã•scarscar
15,2,3,hello
20,2,3,Ã•scar
r$  rP  r$   rÇ   rË   r1  ÚS)s   5,6,7,Ã•scarscars   15,2,3,hellos   20,2,3,Ã•scarr_   )r:   r  Ú
splitlinesr   rÌ   r,   rM   r  r)  r   ra   )r(   Zbutf8Zsutf8rþ   r¯   rq   r*   r*   r+   Útest_binary_loadž  s    (0
.zTestLoadTxt.test_binary_loadc                 C   sJ   t ƒ }| d¡ | d¡ tj|tddd�}t g d¢t¡}t||ƒ d S )Nú1,2,3,5
4,5,7,8
2,1,4,5r   r  rW   ©r`   r  Úmax_rowsr¨  r•  rt  r*   r*   r+   Útest_max_rows°  s    


ÿzTestLoadTxt.test_max_rowsc                 C   sœ   t ƒ }| d¡ | d¡ tj|tdddd�}t g d¢t¡}t||ƒ t ƒ }| d¡ | d¡ tj|tdddd�}t g d¢g d	¢gt¡}t||ƒ d S )
Nz comments
1,2,3,5
4,5,7,8
2,1,4,5r   r  rW   ©r`   r  r±  r1  r¨  úcomment
1,2,3,5
4,5,7,8
2,1,4,5r]   ©r^   rÝ   r¢  r®  r•  rt  r*   r*   r+   Útest_max_rows_with_skiprows¹  s     


ÿ



ÿz'TestLoadTxt.test_max_rows_with_skiprowsc                 C   s|   t ƒ }| d¡ | d¡ tj|tddd�}t g d¢g d¢gt¡}t||ƒ tj|tdd�}t g d	¢t¡}t||ƒ d S )
Nr/  r   r  r]   r0  r¨  r5  r”  ©r]   rW   r^   rÝ   r•  rt  r*   r*   r+   Ú$test_max_rows_with_read_continuationÊ  s    


ÿ
z0TestLoadTxt.test_max_rows_with_read_continuationc                 C   sZ   t ƒ }| d¡ | d¡ tj|tdddd�}t g d¢g d¢g d	¢gt¡}t||ƒ d S )
Nr4  r   r  rW   rÞ   r3  r¨  r5  r7  r•  rt  r*   r*   r+   Útest_max_rows_larger×  s    


ÿz TestLoadTxt.test_max_rows_largerÚskiprÊ   rW   )zignored
ú1,2
ré   ú3,4
)Zignoredú1,2r$   ú3,4zignored
1,2

3,4r   )z-1,0
r;  ré   r<  )z-1,0r=  r$   r>  z-1,0
1,2

3,4c              	   C   s  t jtdd| › �d��L tj|t|dd| d�}t|ddgdd	gdd
gg|d … ƒ W d   ƒ n1 sj0    Y  t|tƒrˆ| 	d¡ t
 ¡ �^ t
 dt¡ t  t¡�( tj|t|dd| d� W d   ƒ n1 sÖ0    Y  W d   ƒ n1 sô0    Y  d S )NzInput line 3.*max_rows=r7   r«   r  )r`   r±  r  r1  r  r   rW   r]   r^   Úerror)r‡   rà  r„   rM   r  rc   r   rK   r   rH   r�   r‚   Úsimplefilterr­   )r(   r:  rÊ   r]  r*   r*   r+   Útest_max_rows_empty_linesá  s    
ÿÿB


ÿz%TestLoadTxt.test_max_rows_empty_linesN);r2   r3   r4   ÚstaticmethodrM   r  rY  r|  r}  ru   rd   rh   r�  r¤  r©  r«  r­  r‡   rˆ   r‰   r   rI   ÚimplementationÚversionr¯  r²  rÈ  rÊ  rÐ  r×  rÛ  rÝ  rá  ré  rù  rý  rþ  r  r  r  r	  r  r  r  r   r$  r(  r*  r+  ÚlocaleÚgetpreferredencodingr.  r2  r6  r8  r9  rå   r   rA  r*   r*   r*   r+   rx  Ê  s|   
	
			ÿ
E		
		ÿ

ÿ


*ÿ
	






ø	rx  c                   @   sN   e Zd Zdd„ Zdd„ Zdd„ Zej de	e
g¡dd	„ ƒZd
d„ Zdd„ ZdS )ÚTestfromregexc                 C   sV   t ƒ }| d¡ | d¡ dtjfdg}t |d|¡}tjg d¢|d�}t||ƒ d S )Nz1.312 foo
1.534 bar
4.444 quxr   Únum©ÚvalZS3z([0-9.]+)\s+(...)))çË¡E¶óýô?rö   ©g%�•C‹ø?r÷   ©g-²�ï§Æ@Úquxr_   ©r#   r,   rH   rM   Úfloat64Ú	fromregexra   r   rÏ  r*   r*   r+   ru   û  s    


ÿzTestfromregex.test_recordc                 C   sV   t ƒ }| d¡ | d¡ dtjfdg}t |d|¡}tjg d¢|d�}t||ƒ d S )Nú1312 foo
1534 bar
4444 quxr   rH  rI  z(\d+)\s+(...)))é   rö   )éþ  r÷   )é\  rN  r_   )r#   r,   rH   rM   r�  rQ  ra   r   rÏ  r*   r*   r+   Útest_record_2  s    


ÿzTestfromregex.test_record_2c                 C   sT   t ƒ }| d¡ | d¡ dtjfg}t |d|¡}tjg d¢|d�}t||ƒ d S )NrR  r   rH  z(\d+)\s+...))rS  )rT  )rU  r_   rO  rÏ  r*   r*   r+   Útest_record_3  s    

zTestfromregex.test_record_3Ú	path_typec           
   	   C   sè   d}t ƒ �Ê}||ƒ}t|dƒ�"}| d| d ¡ W d   ƒ n1 sF0    Y  dtjfdg}tj|d|dd	�}tjd
d| d¡ fddg|d�}t||ƒ t	 
dt	j¡}	tj||	|dd	�}t||ƒ W d   ƒ n1 sÚ0    Y  d S )Nr#  rÇ   s	   1.312 foos    
1.534 bar
4.444 quxrH  )rJ  ZU4z(?u)([0-9.]+)\s+(\w+)r$  rU  rK  rö   rL  rM  r_   z([0-9.]+)\s+(\w+))r   rÌ   r,   rM   rP  rQ  ra   r:   r   r  ÚcompileÚUNICODE)
r(   rX  r*  Zstr_pathrþ   r¯   r…   rq   r[   Úregexpr*   r*   r+   Útest_record_unicode  s     0ÿÿ
z!Testfromregex.test_record_unicodec                 C   sL   t  d¡}tdƒ}dtjfg}tjg d¢|d�}t |||¡}t||ƒ d S )Nó   (\d)ó   123rH  rª   r_   )r  rY  r   rM   rP  ra   rQ  r   )r(   r[  r§   r…   r[   rq   r*   r*   r+   Útest_compiled_bytes-  s    
z!Testfromregex.test_compiled_bytesc                 C   sV   t  d¡}tdƒ}tjtdd��" tj||tjd� W d   ƒ n1 sH0    Y  d S )Nr]  r^  zstructured datatyper«   r_   )	r  rY  r   r‡   r­   rÆ  rM   rQ  rP  )r(   r[  r§   r*   r*   r+   Útest_bad_dtype_not_structured5  s    
z+Testfromregex.test_bad_dtype_not_structuredN)r2   r3   r4   ru   rV  rW  r‡   rˆ   rå   rL  r   r\  r_  r`  r*   r*   r*   r+   rG  ú  s   

rG  c                   @   sê  e Zd Zeejƒ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%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Ze j! "d3¡d4d5„ ƒZ#d6d7„ Z$d8d9„ Z%d:d;„ Z&d<d=„ Z'd>d?„ Z(d@dA„ Z)dBdC„ Z*dDdE„ Z+dFdG„ Z,dHdI„ Z-dJdK„ Z.dLdM„ Z/dNdO„ Z0dPdQ„ Z1dRdS„ Z2dTdU„ Z3dVdW„ Z4dXdY„ Z5dZd[„ Z6d\d]„ Z7d^d_„ Z8d`da„ Z9dbdc„ Z:ddde„ Z;dfdg„ Z<dhdi„ Z=djdk„ Z>dldm„ Z?dndo„ Z@dpdq„ ZAdrds„ ZBdtdu„ ZCdvdw„ ZDdxdy„ ZEdzd{„ ZFd|d}„ ZGd~d„ ZHd€d�„ ZId‚dƒ„ ZJd„d…„ ZKd†d‡„ ZLdˆd‰„ ZMdŠd‹„ ZNdŒd�„ ZOe j! "dŽ¡d�d�„ ƒZPe j! "d3¡d‘d’„ ƒZQd“d”„ ZRd•d–„ ZSd—d˜„ ZTd™dš„ ZUd›dœ„ ZVd�dž„ ZWdŸd „ ZXd¡d¢„ ZYd£d¤„ ZZd¥d¦„ Z[e j! \d§g d¨¢¡e]d©œdªd«„ƒZ^d¬S )­ÚTestFromTxtc                 C   s†   t dƒ}tj|dtjfdtjfgd�}tjddgddgd�}t||ƒ t d	ƒ}d
ddœ}tjddg|d�}tj||d�}t||ƒ d S )Nr~  rq   rt   r_   rn   ro   rp   rs   zM 64.0 75.0
F 25.0 60.0r  rƒ  r…  rˆ  rŒ  )r#   rM   Ú
genfromtxtr�  ra   r   )r(   rÊ   r÷  rø  Ú
descriptorr*   r*   r+   ru   B  s    
ÿ
ÿzTestFromTxt.test_recordc                 C   sz   t dƒ}tjddgddggtd�}tj|td�}t||ƒ | d¡ tjddgddggtd�}tj|td�}t||ƒ d S )Nr~  rW   r]   r7   r^   r_   r   )	r#   rM   ra   rc   rb  r   rH   rb   r  )r(   rÊ   rø  r÷  r*   r*   r+   rd   Q  s    

zTestFromTxt.test_arrayc                 C   sV   t  g d¢t¡}tdƒ}t j|td�}t||ƒ tdƒ}t j|tdd�}t||ƒ d S )Nrg   r’  r_   r“  r  r”  )rM   ra   rc   r#   rb  r   ©r(   rø  rÊ   r÷  r*   r*   r+   rh   ]  s    
zTestFromTxt.test_1Dc                 C   s\   t  g d¢t¡}tdƒ}t j|tddd�}t||ƒ tdƒ}t j|tddd�}t||ƒ d S )Nr¨  r¥  r  r¦  r§  z1,2,3,5# comment
)rM   ra   rc   r#   rb  r   rd  r*   r*   r+   Útest_commentsi  s    
zTestFromTxt.test_commentsc                 C   sp   t  g d¢t¡}ttdd�}tdƒ}t j|fddi|¤Ž}t||ƒ tdƒ}t j|fddi|¤Ž}t||ƒ d S )	Nr¨  r  r”  r°  Úskip_headerrW   r¥  r±  )rM   ra   rc   Údictr#   rb  r   r  )r(   rø  rU   rÊ   r÷  r*   r*   r+   r²  u  s    
zTestFromTxt.test_skiprowsc                 C   sž   dd„ t ddƒD ƒ}| d¡ | dd„ t dƒD ƒ¡ d|d	< td
dddd�}tjtd |¡ƒfi |¤Ž}tjdd„ t dƒD ƒdd„ dD ƒd�}t	||ƒ d S )Nc                 S   s   g | ]}d | ‘qS )z# %ir*   ry   r*   r*   r+   r.   ƒ  r/   z0TestFromTxt.test_skip_footer.<locals>.<listcomp>rW   rÞ   zA, B, Cc                 S   s   g | ]}d |||f ‘qS )z%i,%3.1f,%03sr*   ry   r*   r*   r+   r.   …  r/   é3   z99,99r  r  TrÝ   rØ  )r  r†  rf  Úskip_footerré   c                 S   s"   g | ]}d | d | d | f‘qS )r;  r*   ry   r*   r*   r+   r.   ‰  r/   é)   c                 S   s   g | ]}|t f‘qS r*   rx   ©r-   Ú_r*   r*   r+   r.   Š  r/   ÚABCr_   )
r   r·   r  rg  rM   rb  r#   rÂ   ra   r   )r(   rÊ   rU   r÷  Úctrlr*   r*   r+   Útest_skip_footer‚  s    
ÿzTestFromTxt.test_skip_footerc              
   C   s>  t ƒ �� }| t¡ d}tttjt|ƒdd� tjt|ƒddd�}t|t 	ddgddgddgd	d	gg¡ƒ tjt|ƒd
d�}t|t 	ddgddgddgd	d	gg¡ƒ d}tjt|ƒddd�}t|t 	ddgddgd	d	gddgg¡ƒ tjt|ƒd
dd�}t|t 	ddgddgd	d	gg¡ƒ W d   ƒ n1 �s00    Y  d S )Nz1 1
2 2
3 3
4 4
5  
6  
7  
rW   )ri  F)ri  Úinvalid_raiser   r  r  r  r7   z1 1
2  
3 3
4 4
5  
6 6
7 7
rÎ  )
r   rÐ   r   r   rï   rM   rb  r#   r   ra   )r(   rÔ   Zbasestrr[   r*   r*   r+   Útest_skip_footer_with_invalid�  s*    

ÿ
ÿ((
ÿ(
ÿz)TestFromTxt.test_skip_footer_with_invalidc                 C   sÊ   t dƒ}tjdd��B}t ddt¡ tj|d ddd�}t|d jtu ƒ W d   ƒ n1 s\0    Y  t 	d	d
g¡t 	ddg¡t 	ddg¡dœ}t
|d |d ƒ t
|d |d ƒ t
|d |d ƒ d S )Nz)gender age weight
M 64.0 75.0
F 25.0 60.0Tr|   r~   r$   r9   )r`   r†  r(  r   r  r  rŠ  rŽ  r‹  r�  r  r€  r�  r‚  )r#   r�   r‚   rƒ   r
   rM   rb  r   Úcategoryra   r   ©r(   rÊ   r!  r÷  rø  r*   r*   r+   Útest_header¥  s    
ÿ0þzTestFromTxt.test_headerc                 C   sÞ   t dƒ}tjdd��@}t ddt¡ tj|d dd�}t|d jtu ƒ W d   ƒ n1 sZ0    Y  t 	d	d
g¡t 	ddg¡t 	ddg¡t 	ddg¡t 	ddg¡g}t
|jjg d¢ƒ t|ƒD ]\}}t
|d|  |ƒ q¾d S )Nz*A 64 75.0 3+4j True
BCD 25 60.0 5+6j FalseTr|   r~   r$   r9   rl  r   ó   As   BCDé@   é   r‹  r�  y      @      @y      @      @F)Úf0Úf1Úf2Zf3rû   zf%i)r#   r�   r‚   rƒ   r
   rM   rb  r   rr  ra   r   r`   r†  r‘   )r(   rÊ   r!  r÷  rø  rz   rn  r*   r*   r+   Útest_auto_dtype´  s    0üzTestFromTxt.test_auto_dtypec                 C   s:   t dƒ}tj|d d�}t g d¢g d¢g¡}t||ƒ d S )Nz1 2 3 4
5 6 7 8
r_   rg   )rÝ   rÞ   r¢  r®  ©r#   rM   rb  ra   r   ©r(   rÊ   r÷  rø  r*   r*   r+   Útest_auto_dtype_uniformÄ  s    z#TestFromTxt.test_auto_dtype_uniformc                 C   sZ   t dƒ}t dtfddtfdtfgfg¡}tj||dd�}tjdd	g|d
�}t||ƒ d S )NrË  rq   rt   rÅ   r)   r  r”  rÌ  rÍ  r_   )r#   rM   r`   rc   rb   rb  ra   r   ©r(   rÊ   Z
fancydtyper÷  rø  r*   r*   r+   rÐ  Ë  s
    "zTestFromTxt.test_fancy_dtypec                 C   sN   dddœ}t dƒ}d}tj|||d�}||d< tjdd	g|d
�}t||ƒ d S )N)Úgr[   r!  rƒ  r…  s   M 64.0 75.0
F 25.0 60.0r  ©r`   r†  r†  rˆ  rŒ  r_   r|  )r(   rc  rÊ   r†  r÷  rø  r*   r*   r+   Útest_names_overwriteÓ  s    ÿÿÿz TestFromTxt.test_names_overwritec                 C   s<   t jtdd�� t d¡ W d   ƒ n1 s.0    Y  d S )Nzfname must be a string,r«   é{   )r‡   r­   rÆ  rM   rb  r`  r*   r*   r+   Útest_bad_fnameß  s    zTestFromTxt.test_bad_fnamec                 C   s  t dƒ}tjdd��B}t ddt¡ tj|dd dd�}t|d jtu ƒ W d   ƒ n1 s\0    Y  tj	g d	¢d
dt
fdtfgd�}t||ƒ t dƒ}tjdd��B}t ddt¡ tj|dd dd�}t|d jtu ƒ W d   ƒ n1 sì0    Y  t||ƒ d S )NzN
#gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        Tr|   r~   r$   r9   )r†  r`   r(  r   ))r‰  rå  gfffffR@)r�  r  g
×£p=*M@)r‰  rç  g=
×£pý5@)r€  r  r�  r‚  r_   sO   
# gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        ©r#   r�   r‚   rƒ   r
   rM   rb  r   rr  ra   rc   rb   r   )r(   rÊ   r!  r÷  rn  r*   r*   r+   Útest_commented_headerã  s&    
ÿ0
ÿ

ÿ0z!TestFromTxt.test_commented_headerc                 C   sJ   t dƒ}tj|ttfd dd�}tjddgdtfdtfgd�}t||ƒ d S )	Nzcol1 col2
 1 2
 3 4T)r`   r  r†  rn   ro   Zcol1Zcol2r_   ©r#   rM   rb  rc   ra   r   r}  r*   r*   r+   Útest_names_and_comments_none  s    z(TestFromTxt.test_names_and_comments_nonec              
   C   sÎ   t ƒ �´}tj |d¡}t|dƒ�}| d ¡ ¡ W d   ƒ n1 sD0    Y  tƒ �H t 	t
¡� tj|dd� W d   ƒ n1 s„0    Y  W d   ƒ n1 s¢0    Y  W d   ƒ n1 sÀ0    Y  d S )Nr%  rÇ   õ   Ï–ÚasciirU  )r   rR   rþ   rÂ   rÌ   r,   rh  r   r‡   r­   ÚUnicodeDecodeErrorrM   rb  )r(   r+  Zfpathr¯   r*   r*   r+   Útest_file_is_closed_on_error	  s    ,z(TestFromTxt.test_file_is_closed_on_errorc                 C   s’   t dƒ}tjdd��D}t ddt¡ tj|ddd dd�}t|d	 jtu ƒ W d   ƒ n1 s^0    Y  tj	d
ddt
fdtfgd�}t||ƒ d S )NúA B C D
 aaaa 121 45 9.1Tr|   r~   r$   ©ÚAÚCÚDr9   )r¡  r†  r`   r(  r   )rÔ  é-   ç333333"@©r�  ú|S4r�  r‘  r_   r…  rs  r*   r*   r+   Útest_autonames_and_usecols  s    ÿ0ÿz&TestFromTxt.test_autonames_and_usecolsc                 C   sJ   t dƒ}tj|tdddd„ idd�}t dd	gd
dggt¡}t||ƒ d S )Nrž  r  r7   c                 S   s   t | pdƒS r—  r™  rš  r*   r*   r+   rr  &  r/   z:TestFromTxt.test_converters_with_usecols.<locals>.<lambda>rŸ  r   r]   r˜  r¢  r£  r‡  r}  r*   r*   r+   r¤  "  s    

þz(TestFromTxt.test_converters_with_usecolsc              
   C   sœ   t dƒ}tjdd��N}t ddt¡ tj|ddd ddd	d
„ id�}t|d jtu ƒ W d   ƒ n1 sh0    Y  tj	dddt
fdtfgd�}t||ƒ d S )Nr�  Tr|   r~   r$   rŽ  r9   r�  c                 S   s   dt | ƒ S )Nr]   r™  rš  r*   r*   r+   rr  2  r/   zDTestFromTxt.test_converters_with_usecols_and_names.<locals>.<lambda>)r¡  r†  r`   r(  rs  r   )rÔ  éZ   r“  r”  r‘  r_   r…  rs  r*   r*   r+   Ú&test_converters_with_usecols_and_names+  s    

þ0ÿz2TestFromTxt.test_converters_with_usecols_and_namesc                 C   sb   ddd„ i}t dƒ}tj|dd ddg|d�}tjtdd	d
ƒdfdtjfdtfgd�}t||ƒ d S )NÚdatec                 S   s
   t | dƒS ©Nz%Y-%m-%d %H:%M:%SZ)r<   rš  r*   r*   r+   rr  ;  r/   z9TestFromTxt.test_converters_cornercases.<locals>.<lambda>ú2009-02-03 12:00:00Z, 72214.0r  r¸  ©r  r`   r†  rs  éÙ  r]   r7   ç    `¡ñ@r_   )r#   rM   rb  ra   r   Zobject_rb   r   ©r(   Ú	converterrÊ   r÷  rø  r*   r*   r+   Útest_converters_cornercases8  s    ÿ
ÿÿz'TestFromTxt.test_converters_cornercasesc                 C   s\   ddd„ i}t dƒ}tj|dd ddg|d�}tjtdd	d
ƒdfddtfgd�}t||ƒ d S )Nr™  c                 S   s   t  t| dƒ¡S rš  )rM   Z
datetime64r<   rš  r*   r*   r+   rr  F  r/   z:TestFromTxt.test_converters_cornercases2.<locals>.<lambda>r›  r  r¸  rœ  r�  r]   r7   rž  )r™  zdatetime64[us]r_   )r#   rM   rb  ra   r   rb   r   rŸ  r*   r*   r+   Útest_converters_cornercases2C  s    ÿ
ÿ
ÿz(TestFromTxt.test_converters_cornercases2c                 C   sb   t dƒ}tj|dddd„ id�}t|ddgƒ | d¡ tj|dd	d
d„ id�}t|ddgƒ d S )Nz1 21
  3 42
r³  r   c                 S   s
   t | dƒS râ  r™  rš  r*   r*   r+   rr  R  r/   z3TestFromTxt.test_unused_converter.<locals>.<lambda>rä  rå  ræ  rW   c                 S   s
   t | dƒS râ  r™  rš  r*   r*   r+   rr  W  r/   rç  rè  )r#   rM   rb  r   rH   ©r(   rÊ   r÷  r*   r*   r+   ré  N  s    
ÿ

ÿz!TestFromTxt.test_unused_converterc                 C   sH   dd„ }dd„ }t dƒ}t||dœdd dd�}tttj|fi |¤Ž d S )	Nc                 S   s4   t d|  ¡ v r|  ¡ d p0d|  ¡ vr.|  ¡ p0dƒS )Nó   rr  rg  ©rb   Úlowerr  rï  rq  r*   r*   r+   rr  [  s   ÿz4TestFromTxt.test_invalid_converter.<locals>.<lambda>c                 S   s4   t d|  ¡ v r|  ¡ d p0d|  ¡ vr.|  ¡ p0dƒS )Nó   %r   rg  r¥  rq  r*   r*   r+   rr  ]  s   ÿzgD01N01,10/1/2003 ,1 %,R 75,400,600
L24U05,12/5/2003, 2 %,1,300, 150.5
D02N03,10/10/2004,R 1,,7,145.55rN  r  r9   )rs  r  r`   r(  )r#   rg  r   r   rM   rb  )r(   Z
strip_randZ	strip_perr)   rU   r*   r*   r+   Útest_invalid_converterZ  s    
þz"TestFromTxt.test_invalid_converterc                 C   sH   t dƒ}dd„ }tj|dd|id�}t ddgd	d
gg¡}t||ƒ d S )Nz	q1,2
q3,4c                 S   s   t | dd … ƒS ry  rx   rš  r*   r*   r+   rr  j  r/   z;TestFromTxt.test_tricky_converter_bug1666.<locals>.<lambda>r  r   )r  rs  r   r  r  r  r|  )r(   r)   Zcnvr÷  rø  r*   r*   r+   Útest_tricky_converter_bug1666g  s
    z)TestFromTxt.test_tricky_converter_bug1666c                 C   s|   d}t jt|ƒdtdtid�}t jdgddtfdtfgd	�}t||ƒ t jt|ƒdtdtid�}t  g d
¢¡}t||ƒ d S )Nz2009; 23; 46rð  r   rñ  )Z2009ç      7@é.   )rx  r•  ry  rz  r_   )g     dŸ@rª  r«  )rM   rb  r#   rb   r9   ra   r   )r(   Údstrr÷  rø  r*   r*   r+   Útest_dtype_with_converterso  s    

ÿÿ


ÿz&TestFromTxt.test_dtype_with_convertersú(ignore:.*recfromcsv.*:DeprecationWarningc              	      sª   d}dddddœ‰ g d¢}t t t ‡ fdd	„d
œ}tt|ƒ|dd |dd�}tjjg d¢|d�}t||ƒ g d¢}tt|ƒ|ddd |dd�}tjjg d¢|d�}t||ƒ d S )Nz!1,5,-1,1:1
2,8,-1,1:n
3,3,-2,m:n
r   rW   r]   r7   )z1:1z1:nzm:1zm:n)©Úe1rr   ©Úe2rr   )Ze3Úi2©r’   Úi1c                    s   ˆ |   ¡  S r%   rp  )rl   ©Zdmapr*   r+   rr  €  r/   zDTestFromTxt.test_dtype_with_converters_and_usecols.<locals>.<lambda>)r   rW   r]   r7   r  r9   )r`   r  r†  rs  r(  ))rW   rÝ   r  r   )r]   r®  r  rW   )r7   r7   éþÿÿÿr7   r_   )r¯  r±  r´  )r   rW   r7   )r`   r  r¡  r†  rs  r(  ))rW   rÝ   r   )r]   r®  rW   )r7   r7   r7   )rc   r   r#   rM   Zrecra   r   )r(   r¬  ZdtypÚconvr÷  rø  r*   r¶  r+   Ú&test_dtype_with_converters_and_usecols{  s     ÿ
þz2TestFromTxt.test_dtype_with_converters_and_usecolsc                 C   s   d}dt fdtfg}dd„ }d|i}tjt|ƒd||d�}tjdtd	ddƒfd
tdddƒfg|d�}t||ƒ ddt fdtfgfg}tt	dƒ�& tjt|ƒd||d�}W d   ƒ n1 sº0    Y  dt fdtfdg fg}tt	dƒ�& tjt|ƒd||d�}W d   ƒ n1 �s0    Y  d S )Nrê  rë  rì  c                 S   s   t |  ¡ dƒS rí  rî  rš  r*   r*   r+   rr  ‘  r/   z4TestFromTxt.test_dtype_with_object.<locals>.<lambda>rW   rð  rñ  rò  r]   ró  rô  r_   ÚnestzNested fields.* not supported.*)
rc   re   rM   rb  r#   ra   r   r   r   ÚNotImplementedErrorrõ  r*   r*   r+   rù  Œ  s4    ÿþ
ÿÿ$ÿÿz"TestFromTxt.test_dtype_with_objectc                 C   sH   t jtdƒtd�}|d dks"J ‚t jtdƒtd�}|d dksDJ ‚d S )NÚ1r_   r*   ó   1Ústrings   string)rM   rb  r#   re   )r(   Úparsedr*   r*   r+   Ú#test_dtype_with_object_no_converter§  s    z/TestFromTxt.test_dtype_with_object_no_converterc                 C   sH   t dƒ}tj|dd tddtid�}tjdgddtfgd	�}t||ƒ d S )
Nzskip,skip,2001-01-01,1.0,skipr  rN  r]   )r  r†  r`   r¡  rs  )ú
2001-01-01r   )r$   ú|S10r$   r_   )r#   rM   rb  rb   r9   ra   r   r}  r*   r*   r+   Ú'test_userconverters_with_explicit_dtype®  s    ÿ
ÿz3TestFromTxt.test_userconverters_with_explicit_dtypec              
   C   s¶   d}t ƒ �h}t|dƒ�"}| d| d ¡ W d   ƒ n1 s>0    Y  tj|dd tddtidd	�}W d   ƒ n1 sx0    Y  tjd
| d¡ dfgddtfgd�}t	||ƒ d S )Nr#  rÇ   s   skip,skip,2001-01-01s	   ,1.0,skipr  rN  r]   r$  )r  r†  r`   r¡  rs  r(  rÁ  r   )r$   z|U11r$   r_   )
r   rÌ   r,   rM   rb  rb   rL  ra   r:   r   )r(   r*  rþ   r¯   r÷  rø  r*   r*   r+   Ú,test_utf8_userconverters_with_explicit_dtype·  s    0þ$
ÿz8TestFromTxt.test_utf8_userconverters_with_explicit_dtypec                 C   s6   t dƒ}t |¡}t g d¢g d¢g¡}t||ƒ d S )Nz1  2  3  4   5
6  7  8  9  10)r   r  r  r  ç      @)rÎ  ç      @rÕ  ç      "@g      $@r|  r}  r*   r*   r+   Útest_spacedelimiterÃ  s    

ÿzTestFromTxt.test_spacedelimiterc                 C   s@   d}t jt|ƒdd�}t  g d¢g d¢g d¢g¡}t||ƒ d S )Nz  1  2  3
  4  5 67
890123  4r7   )r  rª   )r^   rÝ   éC   )iz  rƒ  r^   ©rM   rb  r#   ra   r   r}  r*   r*   r+   Útest_integer_delimiterË  s    z"TestFromTxt.test_integer_delimiterc                 C   s@   t dƒ}tj|tdddd„ id�}t g d¢t¡}t||ƒ d S )Nr–  r  r7   c                 S   s   t | pdƒS r—  r™  rš  r*   r*   r+   rr  Õ  r/   z*TestFromTxt.test_missing.<locals>.<lambda>r›  rœ  r‡  r}  r*   r*   r+   r�  Ò  s    

ÿzTestFromTxt.test_missingc                 C   sh   d}t jt|ƒddd�}t  dt jdt jfdt jdfg¡}t jg d	¢td
�}t|j|ƒ t|j|ƒ d S )Nz1	2	3
	2	
1		3r  T)r  Úusemaskrª   r]   rW   r7   )©r   r   r   ©rW   r   rW   ©r   rW   r   r_   )	rM   rb  r#   ra   ÚnanÚboolr   rÊ   Úmask)r(   r  r÷  Zctrl_dZctrl_mr*   r*   r+   Útest_missing_with_tabsÙ  s    ÿ"z"TestFromTxt.test_missing_with_tabsc                 C   sú   t  ddgddggt¡}tƒ }t  ||¡ | d¡ t j|tdd�}t||d d …df ƒ t  g d¢g d	¢gt¡}tƒ }t  ||¡ | d¡ t j|td
d�}t||d d …dd …f ƒ | d¡ t j|tt  ddg¡d�}t||d d …dd …f ƒ d S )NrW   r]   r7   r^   r   r³  r´  rª   rµ  rn   )rM   ra   rb   r#   rì   rH   rb  r   rd  r*   r*   r+   rÈ  ã  s    


zTestFromTxt.test_usecolsc                 C   sB   d}t jt|ƒddd�}t jddgdd„ d	D ƒd
�}t||ƒ d S )Nú1 2 3
4 5 6úa, b, cza, c)r†  r¡  rŸ  ©r^   rÞ   c                 S   s   g | ]}|t f‘qS r*   rx   rk  r*   r*   r+   r.   ý  r/   z3TestFromTxt.test_usecols_as_css.<locals>.<listcomp>Úacr_   rÊ  ©r(   rÊ   r÷  rn  r*   r*   r+   Útest_usecols_as_cssø  s    
ÿzTestFromTxt.test_usecols_as_cssc                 C   sZ   t dƒ}ddg}ddg}tj|dtt||ƒƒd�}t|d dd	gƒ t|d d
dgƒ d S )NzJOE 70.1 25.3
BOB 60.5 27.9r¸  r¹  rº  r»  r¼  r½  r¾  r¿  rÀ  rÁ  )r#   rM   rb  r   rÛ   r   )r(   rÊ   r†  rÇ  r÷  r*   r*   r+   Ú"test_usecols_with_structured_dtype   s    ÿz.TestFromTxt.test_usecols_with_structured_dtypec                 C   s*   t jtdƒdd�}t|t  ddg¡ƒ d S )Ns   1 2 3
4 5 6r   rÃ  r   r  )rM   rb  r#   r   ra   )r(   r÷  r*   r*   r+   Útest_usecols_with_integer
  s    z%TestFromTxt.test_usecols_with_integerc                 C   sx   t jddgdtfdtfgd�}d}tdd�}t jt|ƒfd	d
i|¤Ž}t||ƒ t jt|ƒfd	di|¤Ž}t||ƒ d S )NrŸ  rÖ  r[   r§   r_   rÔ  rÕ  )r†  r¡  ©r   r  )r[   r§   )rM   ra   rb   rg  rb  r#   r   )r(   rn  rÊ   rU   r÷  r*   r*   r+   Útest_usecols_with_named_columns  s    

ÿÿz+TestFromTxt.test_usecols_with_named_columnsc                 C   st   t ƒ �Z}|jdd� tƒ }t |¡}t|t g ¡ƒ tj|dd�}t|t g ¡ƒ W d   ƒ n1 sf0    Y  d S )Nzgenfromtxt: Empty input file:)ÚmessagerW   )rf  )r   rÐ   r#   rM   rb  r   ra   )r(   rÔ   rÊ   r÷  r*   r*   r+   rá    s    
zTestFromTxt.test_empty_filec                 C   s\   t dƒ}t dtfddtfdtfgfg¡}tj||ddd�}tjd	d
g|d�}t||ƒ d S )NrË  rq   rt   rÅ   r)   r  T)r`   r  rÌ  rÌ  rÍ  r_   )	r#   rM   r`   rc   rb   rb  Úmara   r   r  r*   r*   r+   Útest_fancy_dtype_alt&  s
    "z TestFromTxt.test_fancy_dtype_altc                 C   sh   t dƒ}t ddtfdtfdtdfg¡}tj||d�}tjdd	d
g d¢g d¢gfg|d�}t||ƒ d S rÑ  )r#   rM   r`   rb   rc   rb  ra   r   rÏ  r*   r*   r+   r×  .  s    ÿÿzTestFromTxt.test_shaped_dtypec                 C   sÊ   t dƒ}tdddd�}tj|fd ddœ|¤Ž}tjddgd	d
gdtfdtfgd�}t||ƒ t|j|jƒ | 	d¡ tj|fddi|¤Ž}tjddgd	d
gdt
fdt
fgd�}t||ƒ t|j|jƒ d S )NúA,B
0,1
2,N/Ar  úN/AT©r  Úmissing_valuesr†  ©r`   rÌ  r#  ©r]   r  ©FF©FTr�  ÚB©rÒ  r`   r   rÌ  )r#   rg  rM   rb  rß  ra   rc   r   rÒ  rH   rb   ©r(   rÊ   rU   r÷  rø  r*   r*   r+   Útest_withmissing7  s"    
þ


þ
zTestFromTxt.test_withmissingc                 C   sü   d}t d ddd�}dtfdtfdtfg}tjt|ƒfdd	i|¤Ž}tjg d
¢g d¢|d�}t	||ƒ ||d< tjt|ƒfddddœddœ|¤Ž}tjg d
¢g d¢|d�}t	||ƒ tjt|ƒfddddœddœ|¤Ž}tjg d
¢g d¢|d�}t	||ƒ d S )Nz4A, B, C
0, 0., 0j
1, N/A, 1j
-9, 2.2, N/A
3, -99, 3jr  T)r`   r  r†  r�  ré  r�  rä  râ  ))r   rg  y                )rW   r˜  r  )rE  gš™™™™™@ù       €     8�À)r7   é�ÿÿÿy              @)rÍ  rÏ  )r   r   rW   rÍ  rê  r`   rE  rî  rí  ©r   rW   r]   )rä  rÌ  )rÍ  rÏ  rÎ  rÏ  )r   ré  r�  )
rg  rc   rb   r    rM   rb  r#   rß  ra   r   )r(   rÊ   Z
basekwargsZmdtyper÷  rø  r*   r*   r+   Útest_user_missing_valuesI  sB    ÿ
ý
ÿÿ
ý

þý
ýz$TestFromTxt.test_user_missing_valuesc              	   C   s8  t jddgdtfdtfgd�}d}tdtdd	d
ddœddddœd�}t jt|ƒfi |¤Ž}t jddgdd„ dD ƒd�}t||ƒ t jt|ƒfddi|¤Ž}t jddgdd„ dD ƒd�}t||ƒ d}t jt|ƒdtddd�}t  g d¢g d¢g¡}t||ƒ t jt|ƒdtddd�}t  g d¢g d ¢g¡}t||ƒ d S )!N)r   r7   )r^   r˜  r[   r¡   r_   zN/A, 2, 3
4, ,???r  za,b,crâ  rè   z???)r   r¡   r]   r   r˜  )r  r`   r†  rä  Úfilling_values)r   r]   r7   )r^   r   r˜  c                 S   s   g | ]}|t f‘qS r*   r™  rk  r*   r*   r+   r.   t  r/   z8TestFromTxt.test_user_filling_values.<locals>.<listcomp>Úabcr¡  rÜ  c                 S   s   g | ]}|t f‘qS r*   r™  rk  r*   r*   r+   r.   x  r/   r×  z1,2,*,4
5,*,7,8
Ú*)r  r`   rä  rñ  )rW   r]   r   r^   )rÝ   r   r¢  r®  r  )rW   r]   r  r^   )rÝ   r  r¢  r®  )rM   ra   rc   rg  rb  r#   r   )r(   rn  rÊ   rU   r÷  Zdata2r*   r*   r+   Útest_user_filling_valuesi  s6    

ü
ÿ

ÿ
ÿz$TestFromTxt.test_user_filling_valuesc                 C   s^   t dƒ}tj|d ddddd�}tjddgdd	gd
tfdtfgd�}t||ƒ t|j|jƒ d S )NzA,B
0,1.5
2,-999.00r  z-999.0T)r`   r  rä  r†  rÌ  )r   rÂ  )r]   g      ð¿rç  rè  r�  ré  rê  )	r#   rM   rb  rß  ra   rc   rb   r   rÒ  r}  r*   r*   r+   Útest_withmissing_float…  s    
ÿ
þ
z"TestFromTxt.test_withmissing_floatc                 C   sN   t dƒ}tj|d ddd�}tjg d¢g d¢gg d¢g d¢gd�}t||ƒ d S )	Nz1 2 3
4 5 6
ú2,5T©r`   rä  rÌ  rª   rõ   rÏ  )rÒ  )r#   rM   rb  rß  ra   r   r}  r*   r*   r+   Útest_with_masked_column_uniform�  s    ÿ&z+TestFromTxt.test_with_masked_column_uniformc                 C   sR   t dƒ}tj|d ddd�}tjddgddgdtfd	tfd
tfgd�}t||ƒ d S )NzTrue 2 3
False 5 6
rö  Tr÷  rª   )r   rÝ   rÞ   rÏ  rx  ry  rz  rê  )r#   rM   rb  rß  ra   rÑ  rc   r   r}  r*   r*   r+   Útest_with_masked_column_various—  s    ÿ
þz+TestFromTxt.test_with_masked_column_variousc                    s²   dgd }t dƒD ]}d|d| < q| dd¡ td |¡ƒ‰td	d d
d�‰ ‡ ‡fdd„}tt|ƒ}tt|ƒdƒ t|t	j
ddd„ dD ƒd�ƒ ˆ d¡ ttt	jˆd	d
d� d S )Nú1, 1, 1, 1, 1r=  rÝ   ú2, 2, 2, 2 2rØ  r   úa, b, c, d, eré   r  T©r  r`   r†  c                      s   t jˆfddiˆ ¤ŽS )Nrp  F©rM   rb  r*   ©rU   Úmdatar*   r+   r¯   ª  s    z)TestFromTxt.test_invalid_raise.<locals>.fr’  c                 S   s   g | ]}|t f‘qS r*   r™  rk  r*   r*   r+   r.   ®  r/   z2TestFromTxt.test_invalid_raise.<locals>.<listcomp>Úabcder_   ©r  r†  )r   Úinsertr#   rÂ   rg  r   r   r   ÚlenrM   r€   rH   r   rï   rb  )r(   rÊ   rz   r¯   Úmtestr*   rÿ  r+   Útest_invalid_raise¡  s    



ÿzTestFromTxt.test_invalid_raisec                    sü   dgd }t dƒD ]}d|d| < q| dd¡ td |¡ƒ‰td	d d
dd�‰ ‡ ‡fdd„}tt|ƒ}tt|ƒdƒ t|t	j
ddd„ dD ƒd�ƒ ˆ d¡ t	jˆfddiˆ ¤Ž}tt|ƒdƒ t	j
ddd„ dD ƒd�}d|dd„ t dƒD ƒ< t||ƒ d S )Nrú  r=  rÝ   rû  rØ  r   rü  ré   r  TF)r  r`   r†  rp  c                      s   t jˆfddiˆ ¤ŽS )Nr¡  )r   r^   rþ  r*   rÿ  r*   r+   r¯   ¾  s    z6TestFromTxt.test_invalid_raise_with_usecols.<locals>.fr’  c                 S   s   g | ]}|t f‘qS r*   r™  rk  r*   r*   r+   r.   Â  r/   z?TestFromTxt.test_invalid_raise_with_usecols.<locals>.<listcomp>Zaer_   r¡  r#  c                 S   s   g | ]}|t f‘qS r*   r™  rk  r*   r*   r+   r.   Ç  r/   Úabr
  c                 S   s   g | ]}d | ‘qS )rØ  r*   rk  r*   r*   r+   r.   È  r/   )r   r  r#   rÂ   rg  r   r   r   r  rM   r€   rH   rb  )r(   rÊ   rz   r¯   r  rø  r*   rÿ  r+   Útest_invalid_raise_with_usecols´  s$    
ÿ

z+TestFromTxt.test_invalid_raise_with_usecolsc                 C   sX   dgd }t d |¡ƒ}ddd„ i}td|dd	„ d
D ƒdd�}tttj|fi |¤Ž d S )Nz1, 1, 1, 1, -1.1r=  ré   r^   c                 S   s   d|   ¡  S )Nz(%s)rp  rq  r*   r*   r+   rr  Ð  r/   z5TestFromTxt.test_inconsistent_dtype.<locals>.<lambda>r  c                 S   s   g | ]}|t f‘qS r*   r™  rk  r*   r*   r+   r.   Ò  r/   z7TestFromTxt.test_inconsistent_dtype.<locals>.<listcomp>r  r9   )r  rs  r`   r(  )r#   rÂ   rg  r   rï   rM   rb  )r(   rÊ   r   rs  rU   r*   r*   r+   Útest_inconsistent_dtypeË  s    
ÿz#TestFromTxt.test_inconsistent_dtypec                 C   sL   d}t jt|ƒdd dd�}t jddgdtfdtfd	tfgd
�}t||ƒ d S )Nú0, 1, 2.3
4, 5, 6.7r  úf%02i©r  r`   Z
defaultfmt©r   rW   çffffff@)r^   rÝ   çÍÌÌÌÌÌ@Zf00Zf01Zf02r_   )rM   rb  r#   ra   rc   rb   r   ©r(   rÊ   r  rn  r*   r*   r+   Útest_default_field_formatÕ  s    
ÿ
ÿz%TestFromTxt.test_default_field_formatc                 C   sB   d}t jt|ƒdtdd�}t jg d¢g d¢gtd�}t||ƒ d S )Nr
  r  r  r  ©rg  r   r  ©r  rÅ  r  r_   ©rM   rb  r#   rb   ra   r   r  r*   r*   r+   Útest_single_dtype_wo_namesÞ  s    
ÿz&TestFromTxt.test_single_dtype_wo_namesc                 C   sD   d}t jt|ƒdtdd�}t jddgdd„ d	D ƒd
�}t||ƒ d S )Nr
  r  rÕ  rý  r  r  c                 S   s   g | ]}|t f‘qS r*   rx   rk  r*   r*   r+   r.   ì  r/   zBTestFromTxt.test_single_dtype_w_explicit_names.<locals>.<listcomp>rò  r_   r  r  r*   r*   r+   Ú"test_single_dtype_w_explicit_namesæ  s    
ÿ
ÿz.TestFromTxt.test_single_dtype_w_explicit_namesc                 C   sD   d}t jt|ƒdtdd�}t jddgdd„ d	D ƒd
�}t||ƒ d S )Nza, b, c
0, 1, 2.3
4, 5, 6.7r  Trý  r  r  c                 S   s   g | ]}|t f‘qS r*   rx   rk  r*   r*   r+   r.   õ  r/   zBTestFromTxt.test_single_dtype_w_implicit_names.<locals>.<listcomp>rò  r_   r  r  r*   r*   r+   Ú"test_single_dtype_w_implicit_namesï  s    
ÿ
ÿz.TestFromTxt.test_single_dtype_w_implicit_namesc                 C   sR   d}t jt|ƒdtttfdd�}t jddgdtfdtfd	tfgd
�}t||ƒ d S )Nr
  r  zf_%02ir  )r   r   r  )r^   rÅ  r  Zf_00Zf_01Zf_02r_   ©rM   rb  r#   rc   rb   ra   r   r  r*   r*   r+   Útest_easy_structured_dtypeø  s    
ÿ
ÿz&TestFromTxt.test_easy_structured_dtypec                 C   s&  d}t dd dd�}tjdd��F}t ddt¡ tjt|ƒfi |¤Ž}t|d	 j	tu ƒ W d   ƒ n1 sj0    Y  tj
d
gddtfdgd�}t||ƒ tjdd��J}t ddt¡ tjt|ƒfddi|¤Ž}t|d	 j	tu ƒ W d   ƒ n1 sô0    Y  tj
dgddtfdgd�}t||ƒ d S )Nz01/01/2003  , 1.3,   abcder  r9   )r  r`   r(  Tr|   r~   r$   r   )z01/01/2003  çÍÌÌÌÌÌô?z   abcde)rx  z|S12ry  )rz  r  r_   Z	autostrip)z
01/01/2003r  r  )rx  rÂ  )rz  z|S5)rg  r�   r‚   rƒ   r
   rM   rb  r#   r   rr  ra   rb   r   )r(   rÊ   rU   r!  r  rn  r*   r*   r+   Útest_autostrip  s$    0ÿ
0ÿzTestFromTxt.test_autostripc                 C   sÚ   d}t jt|ƒddd d�}dtfdtfdtfg}t jd|d	�}t||ƒ t jt|ƒddd d
d
d�}dtfdtfdtfg}t jd|d	�}t||ƒ t jt|ƒddd d
d�}dtfdtfdtfg}t jd|d	�}t||ƒ d S )NzA.A, B (B), C:C
1, 2, 3.14r  T©r  r†  r`   ÚAAÚB_BÚCC)rW   r]   g…ëQ¸	@r_   r$   ©r  r†  r`   Zreplace_spaceÚdeletecharsúA.AúB (B)úC:C©r  r†  r`   r!  úB_(B)r  ©r(   r  r÷  Z
ctrl_dtypern  r*   r*   r+   Útest_replace_space  s*    
ÿ

þ

þzTestFromTxt.test_replace_spacec                 C   sÚ   d}t jt|ƒddtd�}dtfdtfdtfg}t jd|d	�}t||ƒ t jt|ƒddtd
d
d�}dtfdtfdtfg}t jd|d	�}t||ƒ t jt|ƒddtd
d�}dtfdtfdtfg}t jd|d	�}t||ƒ d S )NzA.A, B (B), C:C
1, 2, 3r  Tr  r  r  r  rª   r_   r$   r   r"  r#  r$  r%  r&  )rM   rb  r#   rc   ra   r   r'  r*   r*   r+   Útest_replace_space_known_dtype,  s*    
ÿ

þ

þz*TestFromTxt.test_replace_space_known_dtypec                 C   s†   d}t ddd�}tjddgdd„ d	D ƒd
�}tjt|ƒfdd i|¤Ž}t||ƒ tjddgdd„ d	D ƒd
�}tjt|ƒfi |¤Ž}d S )NzA,,C
0,1,2
3,4,5r  Tr  rï  rµ  c                 S   s   g | ]}|t f‘qS r*   r™  rk  r*   r*   r+   r.   J  r/   z5TestFromTxt.test_incomplete_names.<locals>.<listcomp>)r�  rx  r�  r_   r`   c                 S   s   g | ]}|t f‘qS r*   rx   rk  r*   r*   r+   r.   O  r/   )rg  rM   ra   rb  r#   r   ©r(   rÊ   rU   rn  r÷  r*   r*   r+   Útest_incomplete_namesD  s    
ÿ

ÿz!TestFromTxt.test_incomplete_namesc                 C   sP   d}t jt|ƒtttfdd�}t jddgdtfdtfdtfgd�}t||ƒ d S )	Nz1 2 3
 4 5 6r[   r�  rª   rõ   rx  ry  r_   r  rØ  r*   r*   r+   Útest_names_auto_completionR  s    

ÿ
ÿz&TestFromTxt.test_names_auto_completionc                 C   sŠ   d}d}t jt|ƒtttfdddd�}t|jj|ƒ t jt|ƒtttfdddd�}t|jj|ƒ t jt|ƒtdddd�}t|jj|ƒ d S )Nz'A,B,C,D,E
0,1,2,3,4
0,1,2,3,4
0,1,2,3,4)r�  r�  ÚEr  )r   r]   r^   T)r`   r  r¡  r†  )rM   rb  r#   rc   r   r`   r†  )r(   rÊ   Z
ctrl_namesr÷  r*   r*   r+   Útest_names_with_usecols_bug1636[  s"    

þ

þ
þz+TestFromTxt.test_names_with_usecols_bug1636c                 C   s¬   d}t ddd d�}tjddgdtfdtfd	tfgd
�}tjt|ƒfi |¤Ž}t||ƒ t ddd d�}tjddgdtfdtfd	tfgd
�}tjt|ƒfi |¤Ž}t||ƒ d S )Nz-    A    B   C
    0    1 2.3
   45   67   9.)rÝ   rÝ   r^   Tr  r  )r’  rÉ  rÇ  r�  ré  r�  r_   rÝ   )rg  rM   ra   rc   rb   rb  r#   r   r*  r*   r*   r+   Útest_fixed_width_namesn  s    
ÿ

ÿz"TestFromTxt.test_fixed_width_namesc                 C   sV   d}t dd dd�}tjg d¢g d¢g d¢gtd�}tjt|ƒfi |¤Ž}t||ƒ d S )	Ns   1, 2, 3
1, , 5
0, 6, 
r  r˜  )r  r`   rñ  rª   )rW   r˜  rÝ   )r   rÞ   r˜  r_   )rg  rM   ra   rc   rb  r#   r   r*  r*   r*   r+   Útest_filling_values}  s
     zTestFromTxt.test_filling_valuesc                 C   sè   t jdd��H}t  ddt¡ tjtdƒd d ddd�}t|d	 jtu ƒ W d   ƒ n1 sZ0    Y  t	|d
 dƒ t jdd��H}t  ddt¡ tjtdƒd d ddd�}t|d	 jtu ƒ W d   ƒ n1 sÌ0    Y  t	|d
 dƒ d S )NTr|   r~   r$   ztest1,testNonetherestofthedatar  r9   ©r`   r  r  r(  r   rW   s   testNonetherestofthedataztest1, testNonetherestofthedatas    testNonetherestofthedata)
r�   r‚   rƒ   r
   rM   rb  r#   r   rr  r   )r(   r!  r÷  r*   r*   r+   Útest_comments_is_none…  s     
þ0
þ0z!TestFromTxt.test_comments_is_nonec                 C   sŒ  d}d}d| d }|| | }t jdd��H}t  ddt¡ tjt|ƒd d d	d
d�}t|d jtu ƒ W d   ƒ n1 sz0    Y  t	|d dƒ t	|d d| ƒ t	|d dƒ tjt|ƒd d d	dd�}t	|d dƒ t	|d d| 
d¡ ƒ t	|d dƒ t jdd��L}t  ddt¡ tjtd| ƒd d d	d
d�}t|d jtu ƒ W d   ƒ n1 �s^0    Y  t	|d dƒ t	|d d| ƒ d S )Ns   öüöó   norm1,norm2,norm3
ó   test1,testNonetheó   ,test3
Tr|   r~   r$   r  r9   r1  r   )rW   r   ó   test1)rW   rW   ó   testNonethern   ó   test3r6   Útest1ÚtestNonetheÚtest3ó   0,testNonetherx  ry  )r�   r‚   rƒ   r
   rM   rb  r#   r   rr  r   r:   )r(   r6   ÚnormÚencr)   r!  r÷  r*   r*   r+   Útest_latin1–  s<    
þ0
þþ2zTestFromTxt.test_latin1c                 C   s6   d}| j t|ƒd dd�}t|t | d¡ ¡ ¡ƒ d S rk  )rY  r   r   rM   ra   r:   r  rm  r*   r*   r+   Útest_binary_decode_autodtype´  s    z(TestFromTxt.test_binary_decode_autodtypec                 C   s´   d}d}d| d }|| | }t jdd��H}t  ddt¡ tjt|ƒd d d	d
d�}t|d jtu ƒ W d   ƒ n1 sz0    Y  t 	g d¢dd| dgg d¢g¡}t
||ƒ d S )Nr#  r3  r4  r5  Tr|   r~   r$   r  r9   r1  r   )s   norm1s   norm2s   norm3r6  r7  r8  )r�   r‚   rƒ   r
   rM   rb  r#   r   rr  ra   r   )r(   r*  r=  r>  r)   r!  r÷  Úctlr*   r*   r+   Útest_utf8_byte_encoding¹  s"    
þ0ýz#TestFromTxt.test_utf8_byte_encodingc              	   C   s6  d}t ƒ ��}t|dƒ�&}| d| d d ¡ W d   ƒ n1 sD0    Y  tj|d d ddd�}tjd	d
| d¡ dgd	d
| d¡ dggtjd�}t||ƒ t|dƒ�}| d| ¡ W d   ƒ n1 sÎ0    Y  tj|d d ddd�}t	|d dƒ t	|d d
| d¡ ƒ W d   ƒ n1 �s(0    Y  d S )Nr#  rÇ   r4  r5  r]   r  r$  r1  r9  r:  r;  r_   r<  rx  r   ry  )
r   rÌ   r,   rM   rb  ra   r:   r)  r   r   )r(   r*  rþ   r¯   r÷  rA  r*   r*   r+   Útest_utf8_fileÊ  s*    
4
ÿþý
,
ÿzTestFromTxt.test_utf8_filec           	   	   C   sX  d}d}zt  ¡ }| |¡ W n  ttfy>   t d¡ Y n0 tƒ �ü}t|dƒ�>}| 	d¡ | 	d| d ¡ | 	d| d	 ¡ W d   ƒ n1 s–0    Y  t
jd
d��D}t
 ddt¡ tj|d d ddd�}t|d jtu ƒ W d   ƒ n1 sö0    Y  tjg d¢d|dgdd| dggtjd�}t||ƒ W d   ƒ n1 �sJ0    Y  d S )Nr‰  u   Ã¶Ã¼Ã¶zTSkipping test_utf8_file_nodtype_unicode, unable to encode utf8 in preferred encodingrS  znorm1,norm2,norm3
znorm1,z,norm3
ztest1,testNonethez,test3
Tr|   r~   r$   r  r9   r1  r   )Únorm1Znorm2Únorm3rD  rE  r9  r:  r;  r_   )rE  rF  rh  ÚUnicodeErrorÚImportErrorr‡   r:  r   rÌ   r,   r�   r‚   rƒ   r
   rM   rb  r   rr  ra   r)  r   )	r(   r*  r6   r(  rþ   r¯   r!  r÷  rA  r*   r*   r+   Útest_utf8_file_nodtype_unicodeß  s8    
0ÿ
ÿ0ýüz*TestFromTxt.test_utf8_file_nodtype_unicodeú(ignore:.*recfromtxt.*:DeprecationWarningc                 C   sÌ   t dƒ}tdddd�}t|fi |¤Ž}tjddgdtfd	tfgd
�}tt|tjƒƒ t	||ƒ t dƒ}t|fd ddœ|¤Ž}t
jddgddgdtfd	tfgd�}t	||ƒ t	|j|jƒ t	|jddgƒ d S )NúA,B
0,1
2,3r  râ  Trã  r#  rN  r�  ré  r_   rá  rå  ræ  rç  rè  rê  r   r]   )r#   rg  r   rM   ra   rc   r   rK   Úrecarrayr   rß  rÒ  r�  rë  r*   r*   r+   Útest_recfromtxt	  s"    
ÿ

þ
zTestFromTxt.test_recfromtxtc                 C   sÀ  t dƒ}tddddd�}t|fdd i|¤Ž}tjddgd	tfd
tfgd�}tt|tjƒƒ t	||ƒ t dƒ}t|fd ddœ|¤Ž}t
jddgddgd	tfd
tfgd�}t	||ƒ t	|j|jƒ t	|jddgƒ t dƒ}t|dd�}tjddgdtfdtfgd�}tt|tjƒƒ t	||ƒ t dƒ}dtfdtfg}t|d|d�}tjddg|d�}tt|tjƒƒ t	||ƒ t dƒ}t|ddd„ id�}tjddgdtdffgd�}t	|j|jƒ t	||ƒ d S ) NrJ  râ  Tr9   )rä  r†  Úcase_sensitiver(  r`   r#  rN  r�  ré  r_   rá  rå  ræ  rç  rè  rê  r   r]   )rä  r[   r¡   )rä  r`   zcolor
"red"
"blue"c                 S   s
   |   d¡S )Nú")rï  rq  r*   r*   r+   rr  <	  r/   z-TestFromTxt.test_recfromcsv.<locals>.<lambda>)rs  )Úred)ÚblueÚcolorr^   )r#   rg  r   rM   ra   rc   r   rK   rK  r   rß  rÒ  r�  rb   rL  r`   )r(   rÊ   rU   r÷  rø  r`   r*   r*   r+   Útest_recfromcsv	  sN    ÿ
ÿ

þ

ÿ

ÿ
zTestFromTxt.test_recfromcsvc                 C   sö  d}t |ƒ}tj|dd�}t |¡}t|ddgddgddggƒ t|d	d
gddggƒ tttjt |ƒdd� d}tjt |ƒdd�}t ddgddgg¡}t||ƒ tttjt |ƒddd� tttjt |ƒdd� tƒ �š}| t	¡ tjt |ƒddd�}t ddgddgddgddgg¡}t||ƒ tjt |ƒddd�}t ddgddgddgddgg¡}t||ƒ W d   ƒ n1 �sx0    Y  d}t |ƒ}tj|dddd�}tjg d¢ddgd�}t||ƒ tj|d |j
d�}tjddgddgd�}t||ƒ d S ) Nz1 2
3 4
5 6
7 8
9 10
r7   )r1  rW   r]   r^   rÝ   rÞ   r¢  r®  r£  rØ  r   z1 1
2 2
0 
3 3
4 4
5  
6  
7  
r   r  )ri  r1  F)r1  rp  r  r  z"a b
#c d
1 1
2 2
#0 
3 3
4 4
5  5
T)rf  r1  r†  ))r   r   )r  r  )r  r  )r§   ú<f8)r‘  rS  r_   )r1  r`   )r  r  )rÅ  rÅ  )r#   rM   rb  r   r   rï   ra   r   rÐ   r   r`   )r(   rÊ   r  Za1Za2r÷  rø  rÔ   r*   r*   r+   r2  A	  sF    

ÿ
"
"*
ÿ

ÿzTestFromTxt.test_max_rowsc              
   C   sœ   t  d¡ d¡}d}|D ]~}d| d }tƒ �N}t|dƒ�}| |¡ W d   ƒ n1 sZ0    Y  t  |¡}W d   ƒ n1 s‚0    Y  t||ƒ qd S )NrÞ   rN  rO  rQ  rR  r!  )rM   rW  rX  r   rÌ   r,   rb  r   )r(   rü  r[  r\  rÊ   rF   r¯   r]  r*   r*   r+   Útest_gft_using_filenamew	  s    ((z#TestFromTxt.test_gft_using_filenamec           	   
   C   sÞ   t  d¡ d¡}d}|D ]À}d| d }tƒ }tj|dd��}| t|ƒ¡ W d   ƒ n1 s`0    Y  tdd	��T}t	|dƒ�}| |¡ W d   ƒ n1 s 0    Y  t
t  |¡|ƒ W d   ƒ q1 sÎ0    Y  qd S )
NrÞ   rN  rO  rQ  rR  r!  ©ÚfileobjrT  z.gz2r´   )rM   rW  rX  r   r_  ÚGzipFiler,   r"   r   rÌ   r   rb  )	r(   rZ  r[  r\  rÊ   r)   r€  rF   r¯   r*   r*   r+   Útest_gft_from_gzip…	  s    ,(zTestFromTxt.test_gft_from_gzipc                 C   s(   dd„ }t  |ƒ ¡}t|t  d¡ƒ d S )Nc                  s   s    t dƒD ]} td|  ƒV  qd S r%  )r   r"   r&  r*   r*   r+   râ   —	  s    z3TestFromTxt.test_gft_using_generator.<locals>.countrØ  )rM   rb  r   rW  r'  r*   r*   r+   Útest_gft_using_generator•	  s    z$TestFromTxt.test_gft_using_generatorc                 C   s�   t dƒ}tj|d d�}t|jjg d¢ƒ t|jd tkƒ t|jd tjkƒ t|jd tj	kƒ t
|d dƒ t|d dƒ t|d d	ƒ d S )
Nz%73786976294838206464 17179869184 1024r_   )rx  ry  rz  rx  ry  rz  g      Dl        i   )r#   rM   rb  r   r`   r†  r   rb   rÄ  Úint_r   r£  r*   r*   r+   Útest_auto_dtype_largeintž	  s    z$TestFromTxt.test_auto_dtype_largeintc                 C   s^   t dƒ}tj|ddd�\}}}t|t g d¢¡ƒ t|t g d¢¡ƒ t|t g d¢¡ƒ d S )Nz1,2,3
4,5,6
7,8,9
0.0,1.0,2.0r  T)r  r  )r   r  rÆ  rg  )r  rÅ  rÕ  r   )r  rÎ  rÇ  r  )r#   rM   r  r   ra   )r(   r  r[   r¡   r§   r*   r*   r+   Útest_unpack_float_data·	  s
    z"TestFromTxt.test_unpack_float_datac                 C   sž   t dƒ}dddœ}tj||dd�\}}}t|jt d¡ƒ t|jt d¡ƒ t|jt d	¡ƒ t|t d
dg¡ƒ t|t ddg¡ƒ t|t ddg¡ƒ d S )Nr  r  rƒ  r…  Tr  r„  rr   rû   r  r  rå  r  r  r  )r#   rM   rb  r   r`   r   ra   r  r*   r*   r+   r   ¾	  s    
z"TestFromTxt.test_unpack_structuredc                 C   sr   t dƒ}t ddg¡t ddg¡t ddg¡f}tj|d dd	d
�}t||ƒD ] \}}t||ƒ t|j|jƒ qLd S )NzM 21 72.
F 35 58.r‰  r�  rå  r  r  r  Tzutf-8)r`   r  r(  )r#   rM   ra   rb  rÛ   r   r   r`   )r(   r  Úexpectedr÷  rO   Úresultr*   r*   r+   Útest_unpack_auto_dtypeË	  s    (
z"TestFromTxt.test_unpack_auto_dtypec                 C   sR   t dƒ}dddœ}tjddgtjd�}tj||dd	�}t||ƒ t|j|jƒ d S )
Nz21
35r–   ©rr   r…  rå  r  r_   Tr  )r#   rM   ra   r�  rb  r   r   r`   ©r(   r  r…   r]  r÷  r*   r*   r+   Útest_unpack_single_nameÕ	  s    

z#TestFromTxt.test_unpack_single_namec                 C   sZ   t dƒ}dddœ}tjdtjd�}tj||dd�}t||ƒ td	|jƒ t|j|jƒ d S )
Nr¼  r–   r`  r…  r³  r_   Tr  r*   )	r#   rM   ra   r�  rb  r   r   rY   r`   ra  r*   r*   r+   Útest_squeeze_scalarß	  s    

zTestFromTxt.test_squeeze_scalarÚndimrï  )rd  c                 C   s6   d}t jt|ƒ|d�}t jt|ƒ|d�}t||ƒ d S )NZ42r!  )rM   r  r   rb  r   )r(   rd  r  r[   r¡   r*   r*   r+   r$  ë	  s    zTestFromTxt.test_ndmin_keywordN)_r2   r3   r4   rB  rM   rb  rY  ru   rd   rh   re  r²  ro  rq  rt  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ø  rù  r  r  r	  r  r  r  r  r  r  r(  r)  r+  r,  r.  r/  r0  r2  r?  r@  rB  rC  rH  rL  rR  r2  rT  rX  rY  r[  r\  r   r_  rb  rc  rå   rc   r$  r*   r*   r*   r+   ra  ?  s°   
	

	

	 


					#



*6	

ra  c                   @   sè   e Zd Zdd„ Zdd„ Zdd„ Zejje	dd�ej 
d	eeg¡d
d„ ƒƒZej 
d	eeg¡dd„ ƒZej 
d	eeg¡dd„ ƒZej 
d	eeg¡dd„ ƒZej 
d	eeg¡ej d¡dd„ ƒƒZej 
d	eeg¡ej d¡dd„ ƒƒZdS )ÚTestPathUsagec                 C   sl   t dd��N}t|ƒ}t ddgddgg¡}t ||¡ t |¡}t||ƒ W d   ƒ n1 s^0    Y  d S )Nú.txtr´   gš™™™™™ñ?r]   r7   r^   )r   r   rM   ra   rì   r  r   )r(   rþ   r[   rq   r*   r*   r+   Útest_loadtxtù	  s    
zTestPathUsage.test_loadtxtc                 C   sn   t dd��P}t|ƒ}t ddgddggt¡}t ||¡ t |¡}t||ƒ W d   ƒ n1 s`0    Y  d S )Nrü   r´   rW   r]   r7   r^   )r   r   rM   ra   rc   rŒ   rN   r   ©r(   rþ   r[   rÊ   r*   r*   r+   Útest_save_load
  s    
zTestPathUsage.test_save_loadc                 C   s„   t dd��f}t|ƒ}t ddgddggt¡}t ||¡ tj|dd�}t||ƒ ~trbt	ƒ  t	ƒ  W d   ƒ n1 sv0    Y  d S )	Nrü   r´   rW   r]   r7   r^   rl   ©rk   )
r   r   rM   ra   rc   rŒ   rN   r   r   r   rh  r*   r*   r+   Útest_save_load_memmap

  s    
z#TestPathUsage.test_save_load_memmapzmemmap doesn't work correctlyri   r  c                 C   s¦   t dd��ˆ}||ƒ}t ddgddggt¡}t ||¡ tj|dd�}d	|d
 d
< d	|d
 d
< ~trptƒ  tƒ  t |¡}t||ƒ W d   ƒ n1 s˜0    Y  d S )Nrü   r´   rW   r]   r7   r^   zr+rj  rÝ   r   )	r   rM   ra   rc   rŒ   rN   r   r   r   )r(   r  rþ   r[   r¡   rÊ   r*   r*   r+   Útest_save_load_memmap_readwrite
  s    
z-TestPathUsage.test_save_load_memmap_readwritec              	   C   s|   t dd��^}||ƒ}tj|dd� t |¡�}t|d dƒ W d   ƒ n1 sP0    Y  W d   ƒ n1 sn0    Y  d S ©Nr“   r´   rØ   rÙ   rÚ   )r   rM   r�   rN   r   ©r(   r  rþ   rÊ   r*   r*   r+   Útest_savez_load)
  s
    zTestPathUsage.test_savez_loadc                 C   sd   t dd��F}||ƒ}tj|dd� t |¡}t|d dƒ | ¡  W d   ƒ n1 sV0    Y  d S rm  )r   rM   Zsavez_compressedrN   r   rL   rn  r*   r*   r+   Útest_savez_compressed_load1
  s    
z(TestPathUsage.test_savez_compressed_loadc                 C   sd   t dd��F}||ƒ}t ddg¡}t ||¡ t |¡}t||ƒ W d   ƒ n1 sV0    Y  d S )Nrf  r´   rn   ro   )r   rM   ra   rì   rb  r   )r(   r  rþ   r[   rÊ   r*   r*   r+   Útest_genfromtxt:
  s    
zTestPathUsage.test_genfromtxtrI  c              	   C   sÀ   t dd��¢}||ƒ}t|dƒ�}| d¡ W d   ƒ n1 s>0    Y  tdddd�}t|fi |¤Ž}tjd	d
gdtfdtfgd�}tt	|tj
ƒƒ t||ƒ W d   ƒ n1 s²0    Y  d S )Nrf  r´   r!  rJ  r  râ  Trã  r#  rN  r�  ré  r_   )r   rÌ   r,   rg  r   rM   ra   rc   r   rK   rK  r   ©r(   r  rþ   r¯   rU   r÷  rø  r*   r*   r+   rL  C
  s    (
ÿzTestPathUsage.test_recfromtxtr®  c              	   C   sÄ   t dd��¦}||ƒ}t|dƒ�}| d¡ W d   ƒ n1 s>0    Y  tdddd�}t|fdd i|¤Ž}tjd	d
gdtfdtfgd�}tt	|tj
ƒƒ t||ƒ W d   ƒ n1 s¶0    Y  d S )Nrf  r´   r!  rJ  râ  T)rä  r†  rM  r`   r#  rN  r�  ré  r_   )r   rÌ   r,   rg  r   rM   ra   rc   r   rK   rK  r   rr  r*   r*   r+   rR  R
  s    (ÿ
ÿzTestPathUsage.test_recfromcsvN)r2   r3   r4   rg  ri  rk  r‡   rˆ   rH  r   rå   r   rL  rl  ro  rp  rq  rƒ   rL  rR  r*   r*   r*   r+   re  ÷	  s$   	




re  c                  C   s`   t j d¡} tƒ }tj|dd�}t  || ¡ | ¡  | d¡ tj|dd�}tt  	|¡| ƒ d S )N©rÝ   rÝ   r!  rU  r   rl   )
rM   rµ   r   r_  rW  rŒ   rL   rH   r   rN   ©r[   r)   r¯   r*   r*   r+   Útest_gzip_loadd
  s    
ru  c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )Ú
JustWriterc                 C   s
   || _ d S r%   ©Úbase©r(   rx  r*   r*   r+   r&   u
  s    zJustWriter.__init__c                 C   s   | j  |¡S r%   )rx  r,   r'   r*   r*   r+   r,   x
  s    zJustWriter.writec                 C   s
   | j  ¡ S r%   )rx  rG   r`  r*   r*   r+   rG   {
  s    zJustWriter.flushN)r2   r3   r4   r&   r,   rG   r*   r*   r*   r+   rv  t
  s   rv  c                   @   s&   e Zd Zdd„ Zdd„ Zd	dd„ZdS )
Ú
JustReaderc                 C   s
   || _ d S r%   rw  ry  r*   r*   r+   r&   
  s    zJustReader.__init__c                 C   s   | j  |¡S r%   )rx  r  )r(   r’   r*   r*   r+   r  ‚
  s    zJustReader.readr   c                 C   s   | j  ||¡S r%   )rx  rH   )r(   ÚoffÚwhencer*   r*   r+   rH   …
  s    zJustReader.seekN)r   )r2   r3   r4   r&   r  rH   r*   r*   r*   r+   rz  ~
  s   rz  c                  C   sT   t j d¡} tƒ }t|ƒ}t  || ¡ | ¡  | d¡ t|ƒ}tt  	|¡| ƒ d S )Nrs  r   )
rM   rµ   r   rv  rŒ   rG   rH   rz  r   rN   rt  r*   r*   r+   Útest_ducktyping‰
  s    
r}  c               	   C   s¶   t ƒ } tj| dd�}| d¡ | ¡  |  d¡ tdd��R}t|dƒ�}| |  ¡ ¡ W d   ƒ n1 sj0    Y  t	 
|¡}W d   ƒ n1 s’0    Y  |  ¡  t|g d¢ƒ d S )	Nr!  rU  ó   1 2 3
r   r-  r´   rÇ   rª   )r   r_  rW  r,   rL   rH   r   rÌ   r  rM   r  r   )r)   r€  rF   r¯   r]  r*   r*   r+   Útest_gzip_loadtxt˜
  s    

,(r  c                  C   sV   t ƒ } tj| dd�}| d¡ | ¡  |  d¡ tj| dd�}tt |¡g d¢ƒ d S )Nr!  rU  r~  r   rl   rª   )	r   r_  rW  r,   rL   rH   r   rM   r  )r)   r¯   r*   r*   r+   Útest_gzip_loadtxt_from_string­
  s    

r€  c                  C   s  t ƒ } t d¡}t d¡}tj| ||d� |  d¡ t | ¡}td|v ƒ td|v ƒ td| ¡ v ƒ td| ¡ v ƒ | ¡ D ] \}}t|dv ƒ t	|j
dƒ q~| ¡ D ]}t	|j
dƒ q¨tt| ¡ ƒdkƒ |D ]}t|dv ƒ qÒtd| ¡ v ƒ | d¡|d k ¡ �sJ ‚d S )N)r7   r7   )rq   rt   r   rq   rt   r]   )r   rM   r  r�   rH   rN   r   ÚkeysÚitemsr   rY   Úvaluesr  rE   Úall)r)   rq   rt   rú   r¯   r[   r*   r*   r+   Útest_npzfile_dict¸
  s(    



r…  zPython lacks refcountsri   c                  C   s´   t ƒ } t | g d¢¡ |  d¡ tƒ � t | ¡ W d   ƒ n1 sF0    Y  |  d¡ ddg}tƒ �8 tjtdƒ|d�}t|tj	dg|d�ƒ W d   ƒ n1 s¦0    Y  d S )Nrª   r   )r[   Úu1r]   )r¡   r†  r]   z0 1 2 3r_   )r#  rN  )
r   rM   r�   rH   r   rN   r  r#   r   ra   )r¯   r…   rq   r*   r*   r+   Útest_load_refcount×
  s    
(
r‡  c                  C   s„   t ƒ } t | d¡ t | d¡ |  d¡ t | ¡dks:J ‚t | ¡dksLJ ‚t t¡� t | ¡ W d   ƒ n1 sv0    Y  d S )NrW   r]   r   )r   rM   rŒ   rH   rN   r‡   r­   ÚEOFError)r¯   r*   r*   r+   Ú#test_load_multiple_arrays_until_eofé
  s    
r‰  )N)XrI   rÓ   r_  rR   r¼   r;   r�   r  r‡   Úpathlibr   Útempfiler   Úior   r   r   rE  Úmultiprocessingr   r   Úctypesr	   ÚnumpyrM   Znumpy.marß  Znumpy.exceptionsr
   Znumpy.lib._iotoolsr   r   Z	numpy.libr   Znumpy.lib._npyio_implr   r   Znumpy.ma.testutilsr   Znumpy.testingr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Znumpy.testing._private.utilsr    Znumpy._utilsr"   r#   Úmaxsizerä   rb  r2  rG  rd  r3  r<   r>   r‹   r�   ræ   rM  rx  rG  ra  re  ru  rv  rz  r}  r  r€  r…  rˆ   r‰   r‡  r‰  r*   r*   r*   r+   Ú<module>   s’   D



k !  #H    4E         Am

