a
    !ñ»j@¶ ã                   @   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*   ú=E:\soccer\ml_env\Lib\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   Ú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   é   )rW   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 )
NrX   é   r7   é   y      ð?      @y       @      @y      @      @y      @       @©Údtype)rM   ÚarrayÚfloatr]   ÚintZcsingleZcdoubler[   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 )NrX   r^   r7   r_   )rM   rb   Úobjectr]   r[   r*   r*   r+   Útest_array_object™   s    
zRoundtripTest.test_array_objectc                 C   s   t  g d¢t¡}|  |¡ d S )N©rX   r^   r7   r_   )rM   rb   rd   rW   r[   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 )	NrX   g      @r_   g333333@TÚ	mmap_modeÚr)rA   r@   )rM   rb   rW   rY   r[   r*   r*   r+   Ú	test_mmap¤   s    zRoundtripTest.test_mmapc                 C   s$   t jddgddgd�}|  |¡ d S )N©rX   r^   ©r7   r_   ©ÚxÚi4©Úyrs   r`   )rM   rb   r]   r[   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   ©rc   ©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   rW   r]   re   rg   ri   ÚpytestÚmarkÚskipifrI   rJ   rn   rv   Ú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>   rW   rM   Úsaver   rO   rD   ra   ÚflagsÚfnc)r(   rT   rU   r*   r*   r+   rW   º   s    zTestSaveLoad.roundtripN)r2   r3   r4   rW   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>   rW   rM   ÚsavezÚ	enumeraterO   rD   r   ra   rŽ   r�   ZfidrL   rR   rS   rF   )r(   rT   rU   ÚnrO   Zreloadedr*   r*   r+   rW   Â   s    
þzTestSavezLoad.roundtripzHangs on PyPyrj   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 )	NrX   r^   r7   r_   ù      ð?       @ù       @      @ù      @      Àù      @      (@)rM   rb   rc   ÚcomplexrW   )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 ©NrX   r^   r7   r_   r�   rž   rŸ   r    )Úfile_aÚfile_br   r¥   r¦   )	rM   rb   rc   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©rX   r^   r7   r—   r   z(1, 2)©Úmatchro   )	rM   rb   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   rb   rc   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Ê   rX   i  rË   z#Failed to load data from a file: %s)r   rM   r‘   r   ÚfilterÚResourceWarningr€   rN   Ú	ExceptionrÄ   r   ÚgcZcollect)r(   r›   Úsupr{   Ú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))rX   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 )NrX   r^   r7   r_   r”   rµ   )Úfname)	rM   rb   rc   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   rW   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 )NrX   r^   r7   r_   z%.18e©r=   r   ú Ú
ro   rp   rw   ó   1 2
ó   3 4
)
rM   rb   rc   r   ÚsavetxtrH   r   Ú	readlinesr"   rd   )r(   r\   r=   r¨   r*   r*   r+   re   b  s    
ÿÿ
zTestSaveTxt.test_arrayc                 C   sJ   t  g d¢t¡}tƒ }t j||dd� | d¡ | ¡ }t|g d¢ƒ d S )Nrh   rw   rè   r   )s   1
s   2
s   3
s   4
)rM   rb   rd   r   rí   rH   rî   r   ©r(   r\   r¨   r1   r*   r*   r+   ri   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 )NrX   r^   )r   r   Ú
ValueErrorrM   rí   rb   ©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 )Nro   rp   rq   rt   r`   rw   rè   r   rë   rì   ©rM   rb   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ß   ))Úfoors   )Úbarrs   )Úbazrs   r`   r÷   rù   rw   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 )NrX   )rq   rt   )ÚzÚf4r`   rr   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ç      ð?ç       @ç      @ç      @ú,rw   )Ú	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 )Nro   rp   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   rb   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 )Nro   rp   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   rb   rd   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 )Nro   rp   )r   rM   rb   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   ro   rp   )ÚlistrM   rb   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   rb   Ú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)  ra   )r:   rM   rb   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   rb   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 r7  )	r:   rM   rb   r*  r   rí   rH   r   r  r8  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   rb   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 workrj   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   rx   r_   )rM   r¶   ZrandÚrandintrz   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€   rf   r   r‘   rR   rÿ   rÃ   ÚMemoryError)Úmemoryerror_raisedr@  r,  r*   r*   r+   Úcheck_large_zipa  s    
þþÿ(z3TestSaveTxt.test_large_zip.<locals>.check_large_zipZforkr»   z,Child process raised a MemoryError exceptioné÷ÿÿÿzCsubprocess got a SIGKILL, apparently free memory was not sufficientr   )r   r	   r   ÚProcessrÂ   rÃ   rA  rB  Úexitcoderˆ   Úxfail)r(   rD  rC  ÚctxÚpr*   r*   r+   Útest_large_zip]  s    

zTestSaveTxt.test_large_zipN)"r2   r3   r4   re   ri   rò   rõ   rú   r   r  r	  r  rˆ   r‰   ræ   r   Ústrr  r  r  r#  r-  r6  r9  r:  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fopenr5  Ú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 bz2rj   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)r0  r1  )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°   rr   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  r2  )	r:   r   rÍ   r,   rh  rY  rM   r*  r   )r(   Znonasciirÿ   r°   rr   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  ©ra   r)  )rY  r   rM   r*  r   rb   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:   ©rr   r*   r*   r+   Ú<lambda>¹  r/   z4LoadTxtBase.test_converters_decode.<locals>.<lambda>)ra   r)  Ú
convertersr%  )	r#   r,   rH   rY  rM   r*  rb   r:   r   ©r(   r¨   rr   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>©ra   rs  r)  rÆ   )	r:   r   rÍ   r,   rY  rM   r*  rb   r   )r(   r+  rÿ   r°   rr   r\   r*   r*   r+   Útest_converters_nodecode½  s    
(

þz$LoadTxtBase.test_converters_nodecodeN)r2   r3   r4   r^  ra  rˆ   r‰   rŠ   r3  rc  r4  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 ©NrX   )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   rr   ru   r`   ro   rp   rq   rt   zM 64 75.0
F 25 60.0©ÚgenderÚageÚweight©ÚS1rs   rü   ©ÚnamesÚformats©ÚMç      P@ç     ÀR@©ÚFç      9@ç      N@)r#   r,   rH   rM   r  Úint32rb   r   )r(   r¨   rr   r\   ÚdZmydescriptorr¢   ru   r*   r*   r+   rv   Õ  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`   rX   r^   r7   r_   )	r#   r,   rH   rM   r  rd   rb   r   rc   rt  r*   r*   r+   re   ç  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`   rh   ú1,2,3,4
r  ©ra   r  ©r#   r,   rH   rM   r  rd   rb   r   rt  r*   r*   r+   ri   õ  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éüÿÿ©rd   ©r)   r*   r*   r+   rr  	  r/   z*TestLoadTxt.test_missing.<locals>.<lambda>©ra   r  rs  ©rX   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>©rX   r7   ©ra   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  ú#©ra   r  r  ©rX   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 formattingrj   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  rd   rb   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  rX   )ra   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 )NrX   r^   r7   r_   r   ©rX   ©ra   r¡  r«   ©r7   r_   rÞ   ro   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¡  ra   ó   JOEó   BOBçÍÌÌÌÌL9@çfffffæ;@ç      ø?z^usecols must be.*%s©r¡  )rM   rb   rc   r   rí   rH   r  r   rd   Zint8Zint16r�  Úint64r™   Zuint16Zuint32Úuint64r#   r!  rÜ   r   r   Ú	TypeErrorr8   r2   )r(   r\   r¨   rr   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   )ra   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   rr   ru   rÆ   r)   r  r”  ©rX   )r^   r  ©r_   )rÞ   ç      @)
r#   r,   rH   rM   ra   rd   rc   r  rb   r   ©r(   r¨   r†   rr   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º  rr   ru   ÚblockrN  r`   Úaaaar  ç       @r«   rö   ©r#   rM   ra   rc   rd   r  rb   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Ò  rr   ru   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_rb   r  r   )r(   r¨   r†   r\   rr   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   rZ   rÄ  r   ra   )r(   r¨   rr   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  é   é*   rX   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>rX   ú;©r  ra   rs  éÑ  r^   éÒ  é   r`   )rd   rf   rM   r  r#   rb   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hstackrc   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 )NrX   éÿÿÿÿ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rX   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   )rr   ru   rû   Úcomment)ú<i4r  ú<f4ú|S8r…  ú	r”  )s   start s     r/   r  )r#   r,   rH   rM   r  rb   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©ra   Úunpackr  r  r  ó   Mó   Frå  é#   ç      R@ç      M@)r#   rM   r  r   ra   rL  r   rb   ©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  rX   )ra   r  r"  r«   rö   z0,1,2r^   rŸ  )r7   z0
1
2)r7   rX   rÞ  r¬   ©r   rX   rß  )r#   r,   rH   r   rð   rM   r  rd   rb   r   r   rZ   rˆ   rà  r…   )r(   r¨   rr   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Ø  rw   )r€   ©r{   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   rr   )r\   ZS10ru   r  )r  ra   r  )r#   r,   rH   rM   ra   rd   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Ì   r2  ÚS)s   5,6,7,Ã•scarscars   15,2,3,hellos   20,2,3,Ã•scarr`   )r:   r  Ú
splitlinesr   rÍ   r,   rM   r  r*  r   rb   )r(   Zbutf8Zsutf8rÿ   r°   rr   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  rX   ©ra   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  rX   ©ra   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^   rX   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  rX   rß   r3  r¨  r5  r7  r•  rt  r*   r*   r+   Útest_max_rows_larger×  s    


ÿz TestLoadTxt.test_max_rows_largerÚskiprË   rX   )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  )ra   r±  r  r1  r  r   rX   r^   r_   Úerror)rˆ   rà  r…   rM   r  rd   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}  rv   re   ri   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Ú	fromregexrb   r   rÏ  r*   r*   r+   rv   û  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  rb   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  rb   r:   r   r  ÚcompileÚUNICODE)
r(   rX  r+  Zstr_pathrÿ   r°   r†   rr   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  rb   rQ  r   )r(   r[  r¨   r†   r\   rr   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   rv   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~  rr   ru   r`   ro   rp   rq   rt   zM 64.0 75.0
F 25.0 60.0r  rƒ  r…  rˆ  rŒ  )r#   rM   Ú
genfromtxtr�  rb   r   )r(   rË   r÷  rø  Ú
descriptorr*   r*   r+   rv   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~  rX   r^   r7   r_   r`   r   )	r#   rM   rb   rd   rb  r   rH   rc   r  )r(   rË   rø  r÷  r*   r*   r+   re   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 )Nrh   r’  r`   r“  r  r”  )rM   rb   rd   r#   rb  r   ©r(   rø  rË   r÷  r*   r*   r+   ri   ]  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   rb   rd   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_headerrX   r¥  r±  )rM   rb   rd   Ú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*   rz   r*   r*   r+   r.   ƒ  r/   z0TestFromTxt.test_skip_footer.<locals>.<listcomp>rX   rß   zA, B, Cc                 S   s   g | ]}d |||f ‘qS )z%i,%3.1f,%03sr*   rz   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*   rz   r*   r*   r+   r.   ‰  r/   é)   c                 S   s   g | ]}|t f‘qS r*   ry   ©r-   Ú_r*   r*   r+   r.   Š  r/   ÚABCr`   )
r€   r¸   r  rg  rM   rb  r#   rÃ   rb   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  
rX   )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   rb   )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   )ra   r†  r)  r   r  r  rŠ  rŽ  r‹  r�  r  r€  r�  r‚  )r#   r‚   rƒ   r„   r
   rM   rb  r   Úcategoryrb   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  rb   r   ra   r†  r’   )r(   rË   r"  r÷  rø  r{   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`   rh   )rÞ   rß   r¢  r®  ©r#   rM   rb  rb   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Ë  rr   ru   rÆ   r)   r  r”  rÌ  rÍ  r`   )r#   rM   ra   rd   rc   rb  rb   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  ©ra   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†  ra   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  rb   rd   rc   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)ra   r  r†  ro   rp   Zcol1Zcol2r`   ©r#   rM   rb  rd   rb   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†  ra   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†  ra   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  ra   r†  rs  éÙ  r^   r7   ç    `¡ñ@r`   )r#   rM   rb  rb   r   Zobject_rc   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  rb   r   rc   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æ  rX   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  ©rc   Ú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  ra   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  ry   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#   rc   r9   rb   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   rX   r^   r7   )z1:1z1:nzm:1zm:n)©Úe1rs   ©Úe2rs   )Ze3Úi2©r“   Úi1c                    s   ˆ |   ¡  S r%   rp  )rm   ©Zdmapr*   r+   rr  €  r/   zDTestFromTxt.test_dtype_with_converters_and_usecols.<locals>.<lambda>)r   rX   r^   r7   r  r9   )ra   r  r†  rs  r)  ))rX   rÞ   r  r   )r^   r®  r  rX   )r7   r7   éþÿÿÿr7   r`   )r¯  r±  r´  )r   rX   r7   )ra   r  r¡  r†  rs  r)  ))rX   rÞ   r   )r^   r®  rX   )r7   r7   r7   )rd   r   r#   rM   Zrecrb   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>rX   rð  rñ  rò  r^   ró  rô  r`   ÚnestzNested fields.* not supported.*)
rd   rf   rM   rb  r#   rb   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#   rf   )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†  ra   r¡  rs  )ú
2001-01-01r  )r$   ú|S10r$   r`   )r#   rM   rb  rc   r9   rb   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†  ra   r¡  rs  r)  rÁ  r  )r$   z|U11r$   r`   )
r   rÍ   r,   rM   rb  rc   rL  rb   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#   rb   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^   rX   r7   )©r   r   r   ©rX   r   rX   ©r   rX   r   r`   )	rM   rb  r#   rb   Ú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 )NrX   r^   r7   r_   r   r³  r´  r«   rµ  ro   )rM   rb   rc   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*   ry   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   rb   )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   rb   rc   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:)ÚmessagerX   )rf  )r   rÑ   r#   rM   rb  r   rb   )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Ë  rr   ru   rÆ   r)   r  T)ra   r  rÌ  rÌ  rÍ  r`   )	r#   rM   ra   rd   rc   rb  Úmarb   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   ra   rc   rd   rb  rb   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†  ©ra   rÌ  r#  ©r^   r  ©FF©FTr�  ÚB©rÒ  ra   r   rÌ  )r#   rg  rM   rb  rß  rb   rd   r   rÒ  rH   rc   ©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)ra   r  r†  r�  ré  r�  rä  râ  ))r   rg  y                )rX   r˜  r  )rE  gš™™™™™@ù       €     8�À)r7   é�ÿÿÿy              @)rÍ  rÏ  )r   r   rX   rÍ  rê  ra   rE  rî  rí  ©r   rX   r^   )rä  rÌ  )rÍ  rÏ  rÎ  rÏ  )r   ré  r�  )
rg  rd   rc   r¡   rM   rb  r#   rß  rb   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  ra   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  ra   rä  rñ  )rX   r^   r   r_   )rÞ   r   r¢  r®  r  )rX   r^   r  r_   )rÞ   r  r¢  r®  )rM   rb   rd   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)ra   r  rä  r†  rÌ  )r   rÂ  )r^   g      ð¿rç  rè  r�  ré  rê  )	r#   rM   rb  rß  rb   rd   rc   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©ra   rä  rÌ  r«   rö   rÏ  )rÒ  )r#   rM   rb  rß  rb   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ß  rb   rÑ  rd   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  ra   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Ë   r{   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  ra   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Ë   r{   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  ra   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  ra   Z
defaultfmt©r   rX   çffffff@)r_   rÞ   çÍÌÌÌÌÌ@Zf00Zf01Zf02r`   )rM   rb  r#   rb   rd   rc   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#   rc   rb   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*   ry   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*   ry   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#   rd   rc   rb   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  ra   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  rb   rc   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†  ra   ÚAAÚB_BÚCC)rX   r^   g…ëQ¸	@r`   r$   ©r  r†  ra   Zreplace_spaceÚdeletecharsúA.AúB (B)úC:C©r  r†  ra   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#   rd   rb   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`   ra   c                 S   s   g | ]}|t f‘qS r*   ry   rk  r*   r*   r+   r.   O  r/   )rg  rM   rb   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)ra   r  r¡  r†  )rM   rb  r#   rd   r   ra   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   rb   rd   rc   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  ra   rñ  r«   )rX   r˜  rÞ   )r   rß   r˜  r`   )rg  rM   rb   rd   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   ©ra   r  r  r)  r   rX   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   )rX   r   ó   test1)rX   rX   ó   testNonethero   ó   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   rb   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  rb   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  rb   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  rb   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   rb   rd   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)  ra   r#  rN  r�  ré  r`   rá  rå  ræ  rç  rè  rê  r   r^   )rä  r\   r¢   )rä  ra   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   rb   rd   r   rK   rK  r   rß  rÒ  r�  rc   rL  ra   )r(   rË   rU   r÷  rø  ra   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  rX   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  ra   )r  r  )rÅ  rÅ  )r#   rM   rb  r   r   rð   rb   r   rÑ   r   ra   )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   ra   r†  r   rc   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   rb   )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„  rs   rü   r  r  rå  r  r  r  )r#   rM   rb  r   ra   r   rb   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)ra   r  r)  )r#   rM   rb   rb  rÜ   r   r   ra   )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—   ©rs   r…  rå  r  r`   Tr  )r#   rM   rb   r�  rb  r   r   ra   ©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   rb   r�  rb  r   r   rZ   ra   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  rv   re   ri   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æ   rd   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   rb   rí   r  r   )r(   rÿ   r\   rr   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µ   rX   r^   r7   r_   )r   r   rM   rb   rd   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µ   rX   r^   r7   r_   rm   ©rl   )
r   r   rM   rb   rd   r�   rN   r   r   r   rh  r*   r*   r+   Útest_save_load_memmap

  s    
z#TestPathUsage.test_save_load_memmapzmemmap doesn't work correctlyrj   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µ   rX   r^   r7   r_   zr+rj  rÞ   r   )	r   rM   rb   rd   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µ   ro   rp   )r   rM   rb   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   rb   rd   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  ra   r#  rN  r�  ré  r`   )r   rÍ   r,   rg  r   rM   rb   rd   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   rm   )
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   rm   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   )rr   ru   r   rr   ru   r^   )r   rM   r  r‘   rH   rN   r   ÚkeysÚitemsr   rZ   Úvaluesr  rE   Úall)r)   rr   ru   rû   r°   r\   r*   r*   r+   Útest_npzfile_dict¸
  s(    



r…  zPython lacks refcountsrj   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   rb   )r°   r†   rr   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 )NrX   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  r3  rG  rd  r4  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

