o
    ðT·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w zd dlAZAdZBW n e@yÞ   dZBY nw 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=d>„ ZXd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   ó   t  | t|ƒ¡ d S ©N)r   Ú__init__r"   ©ÚselfÚs© r+   úZ/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/site-packages/numpy/lib/tests/test_io.pyr'   ,   ó   zTextIO.__init__c                 C   r%   r&   )r   Úwriter"   r(   r+   r+   r,   r.   /   r-   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,   r2   2   s   zTextIO.writelinesN)r$   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r'   r.   r2   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   s:  |  di ¡}|  dddi¡}|  dd¡}|rtdd�}|j}ntƒ }|}zX|}	||g|	¢R i |¤Ž | ¡  | d¡ tjd	krIt|tƒsI| 	¡  t
j|fi |¤Ž}
|	| _|
| _W t|tƒsw| 	¡  d
tƒ v ryt|
t
jjjƒs{t |j¡ dS dS dS dS t|tƒsš| 	¡  d
tƒ v r›t|
t
jjjƒsœt |j¡ w w w w )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_kwdsÚallow_pickleTÚfile_on_diskF)Údeleter   Úwin32Úarr_reloadedN)Úgetr   Únamer   ÚflushÚseekÚsysÚplatformÚ
isinstanceÚcloseÚnpÚloadÚarrrG   ÚlocalsÚlibÚnpyioÚNpzFileÚosÚremove)r)   Ú	save_funcÚargsÚkwargsrA   rB   rD   Útarget_fileÚ	load_filerR   rG   r+   r+   r,   Ú	roundtripO   sD   



û
ü
ûzRoundtripTest.roundtripc                 C   s†   |   |¡ | j |dd� |   t |¡¡ | j t |¡dd� |jd dkrA|   t |¡dd … ¡ | j t |¡dd … dd� d S d S )NT)rD   r   é   )r^   rP   Ú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 )
Nr_   é   r9   é   y      ð?      @y       @      @y      @      @y      @       @©Údtype)rP   ÚarrayÚfloatrd   ÚintÚcsingleÚcdoublerb   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 )Nr_   re   r9   rf   )rP   ri   Úobjectrd   rb   r+   r+   r,   Útest_array_object™   s   
zRoundtripTest.test_array_objectc                 C   s   t  g d¢t¡}|  |¡ d S )N©r_   re   r9   rf   )rP   ri   rk   r^   rb   r+   r+   r,   Útest_1D    s   zRoundtripTest.test_1DrF   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 )	Nr_   g      @rf   g333333@TÚ	mmap_modeÚr)rD   rB   )rP   ri   r^   r`   rb   r+   r+   r,   Ú	test_mmap¤   s   zRoundtripTest.test_mmapc                 C   s$   t jddgddgd�}|  |¡ d S )N©r_   re   ©r9   rf   ©ÚxÚi4©Úyr|   rg   )rP   ri   rd   rb   r+   r+   r,   Útest_record¬   s   zRoundtripTest.test_recordc                 C   sj   dd„ t dƒD ƒ}tjd|d�}tjdd�� t dd	t¡ |  |¡ W d   ƒ d S 1 s.w   Y  d S )
Nc                 S   s   g | ]
}d | d t f‘qS )ú%déd   ©rj   ©r/   Úir+   r+   r,   r0   ²   s    z1RoundtripTest.test_format_2_0.<locals>.<listcomp>éô  iè  rg   T©ÚrecordÚalwaysr$   )ÚrangerP   ÚonesÚwarningsÚcatch_warningsÚfilterwarningsÚUserWarningrd   )r)   Údtrc   r+   r+   r,   Útest_format_2_0°   s   "þzRoundtripTest.test_format_2_0N)r4   r5   r6   r^   rd   rn   rp   rr   ÚpytestÚmarkÚskipifrL   rM   rw   r   Úslowr�   r+   r+   r+   r,   r@   N   s    0

r@   c                   @   ó   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@   r^   rP   Úsaver   rR   rG   rh   ÚflagsÚfnc)r)   rZ   r[   r+   r+   r,   r^   º   s   zTestSaveLoad.roundtripN)r4   r5   r6   r^   r+   r+   r+   r,   r–   ¹   ó    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 |¤Ž z=t| jƒD ] \}}| jd|  }t||ƒ t|j|jƒ t|j	j
|j	j
ƒ qW | jjrJ| jj ¡  t | jjj¡ d S d S | jjr_| jj ¡  t | jjj¡ w w )Nzarr_%d)r@   r^   rP   ÚsavezÚ	enumeraterR   rG   r   rh   r˜   r™   ÚfidrO   rW   rX   rI   )r)   rZ   r[   ÚnrR   Úreloadedr+   r+   r,   r^   Â   s   
üþþzTestSavezLoad.roundtripzHangs on PyPyrs   zNeeds 64bit platformc                 C   sr   d}t j|t jd�}tddd��}t j||d� ~t  |¡}|d }| ¡  ~W d   ƒ d S 1 s2w   Y  d S )Nl      rg   Únumpy_test_big_arrays_ú.npz)ÚprefixÚsuffix©rc   rc   )rP   ÚemptyÚuint8r   rœ   rQ   rO   )r)   ÚLrc   ÚtmpÚ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 )	Nr_   re   r9   rf   ù      ð?       @ù       @      @ù      @      Àù      @      (@)rP   ri   rj   Úcomplexr^   )r)   rc   Ú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 ©Nr_   re   r9   rf   r¬   r­   r®   r¯   )Úfile_aÚfile_br   r´   rµ   )	rP   ri   rj   r°   r   rœ   rK   rQ   r   ©r)   rc   r±   ÚcÚlr+   r+   r,   Útest_named_arraysã   s   

zTestSavezLoad.test_named_arraysc                 C   sr   t  g d¢¡}tƒ }t j||d� | d¡ t  |¡}tjtdd�� |d  W d   ƒ d S 1 s2w   Y  d S )N©r_   re   r9   r¥   r   z(1, 2)©Úmatchrx   )	rP   ri   r   rœ   rK   rQ   r‘   ÚraisesÚKeyError)r)   rc   Ú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³   )rP   ri   rj   r°   r   rœ   rK   rQ   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ˆ r*tˆ ƒ‚d S )Nc                 S   s�   t dd��9}tj dd¡}z	tj||d� W n ty- } z|  |¡ W Y d }~nd }~ww W d   ƒ d S W d   ƒ d S 1 sAw   Y  d S )Nr¢   ©r¤   r…   )rR   )r   rP   ÚrandomÚrandnrœ   ÚOSErrorÚappend)Ú
error_listr©   rR   Úerrr+   r+   r,   Úwriter  s   €ÿÿý"ûz9TestSavezLoad.test_savez_filename_clashes.<locals>.writerc                    s   g | ]
}t jˆˆ fd �‘qS )©ÚtargetrZ   )Ú	threadingÚThread)r/   Új©ÚerrorsrË   r+   r,   r0     s    ÿz=TestSavezLoad.test_savez_filename_clashes.<locals>.<listcomp>r9   )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��f}t|dƒ�}tj|dd� W d   ƒ n1 sw   Y  t|ddƒ�+}| d¡ t|j ƒ t |¡d	  t|j ƒ | d¡ t|j ƒ W d   ƒ n1 sVw   Y  W d   ƒ d S W d   ƒ d S 1 snw   Y  d S )
Nr¢   rÄ   ÚwbúLOVELY LOAD©ÚdataÚrbi'  r   rÜ   )r   ÚopenrP   rœ   rK   r   ÚclosedrQ   )r)   r©   Úfpr+   r+   r,   Útest_not_closing_opened_fid  s   ÿ

ùý"ýz)TestSavezLoad.test_not_closing_opened_fidc                 C   sê   t dd��f}tj|dd� tƒ �C}| t¡ tddƒD ]0}z&z	t |¡d  W n ty; } zd| }t	|ƒ‚d }~ww W t
rCt ¡  qt
rKt ¡  w w W d   ƒ n1 sVw   Y  W d   ƒ d S W d   ƒ d S 1 snw   Y  d S )	Nr¢   rÄ   rÚ   rÛ   r_   i  rÜ   z#Failed to load data from a file: %s)r   rP   rœ   r   ÚfilterÚResourceWarningr‰   rQ   Ú	ExceptionrÕ   r   ÚgcÚcollect)r)   r©   Úsupr„   ÚeÚmsgr+   r+   r,   Útest_closing_fid*  s0   
€þÿ€ÿ
ÿùþù"ùzTestSavezLoad.test_closing_fidc                 C   sh   d}t d|d��"}tj|dd� t |¡}|jj}| ¡  t|jƒ W d   ƒ d S 1 s-w   Y  d S )NÚ&numpy_test_closing_zipfile_after_load_r¢   )r¤   r£   úplace holder©Úlab)	r   rP   rœ   rQ   Úziprà   rO   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))r_   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��*}t j|g|g| ¢R Ž  t  |¡}t|ƒ|j|d�ks/J ‚| ¡  W d   ƒ d S 1 s>w   Y  d S )Nr_   re   r9   rf   r¢   rÄ   )Úfname)	rP   ri   rj   r   rœ   rQ   ÚreprÚformatrO   )r)   ÚcountÚexpected_reprrc   r©   r¸   r+   r+   r,   Útest_repr_lists_keysQ  s   

"üz"TestSavezLoad.test_repr_lists_keysN)r4   r5   r6   r^   r‘   r’   r“   r   ÚIS_64BITr”   r«   r²   r¹   rÀ   rÃ   r   rØ   rá   Ú	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 )Nr_   re   r9   rf   z%.18e©r?   r   ú Ú
rx   ry   r€   ó   1 2
ó   3 4
)
rP   ri   rj   r   ÚsavetxtrK   r   Ú	readlinesr"   rk   )r)   rc   r?   r·   r+   r+   r,   rn   b  s   
ÿÿ
zTestSaveTxt.test_arrayc                 C   sJ   t  g d¢t¡}tƒ }t j||dd� | d¡ | ¡ }t|g d¢ƒ d S )Nrq   r€   rý   r   )s   1
s   2
s   3
s   4
)rP   ri   rk   r   r  rK   r  r   ©r)   rc   r·   r3   r+   r+   r,   rr   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 )Nr_   re   )r   r   Ú
ValueErrorrP   r  ri   ©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 )Nrx   ry   rz   r}   rg   r€   rý   r   r   r  ©rP   ri   r   r  rK   r   r  ©r)   rc   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º   ©rf   rñ   rò   ))Úfoor|   )Úbarr|   )Úbazr|   rg   r  r  r€   rý   r   s   1 3
s   4 6
r  r	  r+   r+   r,   Útest_structured_padded†  s
   
z"TestSaveTxt.test_structured_paddedc                 C   sv   t jdg d¢d�}|ddg }tdd��}t|ƒ}t  ||¡ t  |¡}t||ƒ W d   ƒ d S 1 s4w   Y  d S )Nr_   )rz   r}   )ÚzÚf4rg   r{   r  ú.npyrÄ   )rP   rŠ   r   r   r—   rQ   r   )r)   rc   Ú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ç      ð?ç       @ç      @ç      @ú,r€   )Ú	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 )Nrx   ry   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   )	rP   ri   r   r  rK   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 )Nrx   ry   rg   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   rP   ri   rk   r  rK   r   Úreadr"   )r)   r·   rc   Útest_header_footerÚ
commentstrr+   r+   r,   r#  º  s@   
ÿ
ÿ
ÿ
ÿ
ÿ
ÿzTestSaveTxt.test_header_footerÚfilename_typec                 C   sb   t ƒ �$}t ddg¡}t ||ƒ|¡ t ||ƒ¡}t||ƒ W d   ƒ d S 1 s*w   Y  d S )Nrx   ry   )r   rP   ri   r  Úloadtxtr   )r)   r%  rI   rc   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 )Nre   rg   ù              ð?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)
©
rP   ÚzerosÚ
complex128Úpirè   r   r  rK   r  r   ©r)   ÚncolsÚnrowsrc   ÚreÚimr·   r3   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 )Nre   rg   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                   @   r•   )z4TestSaveTxt.test_custom_writer.<locals>.CustomWriterc                 S   s   |   | d¡¡ d S )Nó   
)ÚextendÚsplit)r)   Útextr+   r+   r,   r.     r-   z:TestSaveTxt.test_custom_writer.<locals>.CustomWriter.writeN)r4   r5   r6   r.   r+   r+   r+   r,   ÚCustomWriter  rš   r8  rx   ry   )ÚlistrP   ri   r  r&  r   )r)   r8  Úwrc   r±   r+   r+   r,   Útest_custom_writer  s   
zTestSaveTxt.test_custom_writerc                 C   sf   d  d¡}tj|gtjd�}tƒ �}tjtj |d¡|dgdd� W d   ƒ d S 1 s,w   Y  d S )Nó   Ï–úUTF-8rg   útest.csvú%s©r?   Úencoding)	r<   rP   ri   Ústr_r   r  rW   r  rÔ   )r)   Úutf8rc   Útmpdirr+   r+   r,   Útest_unicode(  s   
ÿ"þzTestSaveTxt.test_unicodec                 C   sÆ   d  d¡}tj|gtjd�}ddg}tr| d¡ tr"| ddg¡ tƒ �4}|D ](}tj	t
j |d	| ¡|d
gdd� tjt
j |d	| ¡dtjd�}t||ƒ q(W d   ƒ d S 1 s\w   Y  d S )Nr<  r=  rg   r$   ú.gzú.bz2ú.xzú.lzmar>  r?  z	UTF-16-LEr@  ©rA  rh   )r<   rP   ri   rB  ÚHAS_BZ2rÈ   ÚHAS_LZMAr5  r   r  rW   r  rÔ   r&  r   )r)   rC  rc   ÚsuffixesrD  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=  rg   r?  r@  r   rÿ   )	r<   rP   ri   rB  r   r  rK   r   r"  ©r)   rC  rc   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 rO  )	r<   rP   ri   rB  r   r  rK   r   r"  rP  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 r%t| ¡ dd ƒ d S t| ¡ dd ƒ d S )Nr  ú%frý   r   z%f
s   %f
)rP   ri   r  rK   r   r   r"  )r)   rS  rc   r*   r+   r+   r,   Útest_unicode_and_bytes_fmtQ  s   
z&TestSaveTxt.test_unicode_and_bytes_fmtrF   zfiles>4GB may not workrs   g   `¸úA)Ú
free_bytesc                 C   sl   dd„ }t tƒ}tdƒ}|j||fd�}| ¡  | ¡  |jr#tdƒ‚|jdkr-t	 
d¡ |jdks4J ‚d S )	Nc                 S   s‚   d| _ z2tjdd„ tdƒD ƒtd�}tƒ �}tjtj 	|d¡|d� W d   ƒ W d S 1 s.w   Y  W d S  t
y@   d| _ ‚ w )	NFc                 S   s$   g | ]}t j t j d d¡d¡‘qS )é2   r�   rf   )rP   rÅ   ÚrandÚrandintrƒ   r+   r+   r,   r0   f  s
    þÿzGTestSaveTxt.test_large_zip.<locals>.check_large_zip.<locals>.<listcomp>i 5 rg   ztest.npz)Ú	test_dataT)ÚvaluerP   Úasarrayr‰   ro   r   rœ   rW   r  rÔ   ÚMemoryError)Úmemoryerror_raisedrZ  rD  r+   r+   r,   Úcheck_large_zipa  s    
þþÿ&ÿþz3TestSaveTxt.test_large_zip.<locals>.check_large_zipÚforkrÌ   z,Child process raised a MemoryError exceptioné÷ÿÿÿzCsubprocess got a SIGKILL, apparently free memory was not sufficientr   )r   r	   r   ÚProcessrÓ   rÔ   r[  r]  Úexitcoder‘   Úxfail)r)   r_  r^  ÚctxÚpr+   r+   r,   Útest_large_zip]  s   

zTestSaveTxt.test_large_zipN)"r4   r5   r6   rn   rr   r  r
  r  r  r  r  r#  r‘   r’   rû   r   Ústrr'  r2  r3  r;  rE  rN  rQ  rR  r   r   rU  r“   rL   rM   r”   r    rg  r+   r+   r+   r,   rü   a  s2    
	"
&
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 ]k}d| d }|D ]`}t|d��Q}||ddd	��}	|	 |¡ W d   ƒ n1 s5w   Y  | j|dd
�}
t|
|ƒ ||ddd
��}	|  |	¡}
W d   ƒ n1 s]w   Y  t|
|ƒ W d   ƒ n1 sqw   Y  qqd S )Nrò   ©re   r9   ©rÿ   z
úú0 1 2ú3 4 5rÄ   Úwtz	UTF-32-LE)ÚmoderA  ©rA  Úrt)rP   ÚarangeÚreshaper   r.   Úloadfuncr   )r)   ÚfopenrM  ÚwantedÚlinesepÚseprÜ   r¤   rI   r¿   Úresr+   r+   r,   Úcheck_compressedƒ  s&   ÿ
ÿù€ÿþzLoadTxtBase.check_compressedc                 C   ó   |   tjd¡ d S )N)rF  )r{  ÚgziprÞ   ©r)   r+   r+   r,   Útest_compressed_gzip“  s   z LoadTxtBase.test_compressed_gzipz	Needs bz2rs   c                 C   r|  )N)rG  )r{  Úbz2rÞ   r~  r+   r+   r,   Útest_compressed_bz2–  ó   zLoadTxtBase.test_compressed_bz2z
Needs lzmac                 C   r|  )N)rH  rI  )r{  ÚlzmarÞ   r~  r+   r+   r,   Útest_compressed_lzmaš  r‚  z LoadTxtBase.test_compressed_lzmac              	   C   s‚   t ƒ �4}t|dƒ�}| d d¡¡ W d   ƒ n1 sw   Y  | j|dd�}t|g d¢ƒ W d   ƒ d S 1 s:w   Y  d S )NrÙ   z0.
1.
2.úUTF-16rq  )ç        r  r  )r   rÞ   r.   Úencoderu  r   )r)   r  r¿   r{   r+   r+   r,   Útest_encodingž  s   ÿ"üzLoadTxtBase.test_encodingc              	   C   sŒ   d  d¡}tƒ �4}t|dƒ�}| | d¡¡ W d   ƒ n1 s!w   Y  | j|dtjd�}t||ƒ W d   ƒ d S 1 s?w   Y  d S )Ns   Ã¶Ã¼Ã¶r=  rÙ   r…  rJ  )	r<   r   rÞ   r.   r‡  ru  rP   rB  r   )r)   Únonasciir  r¿   r{   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r…  ©rh   rA  )ru  r   rP   rB  r   ri   r<   r6  ©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   r;   c                 S   ó
   |   d¡S )Nr=  ©r<   ©r{   r+   r+   r,   Ú<lambda>¹  ó   
 z4LoadTxtBase.test_converters_decode.<locals>.<lambda>)rh   rA  Ú
convertersr=  )	r#   r.   rK   ru  rP   rB  ri   r<   r   ©r)   r·   r{   rc   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 w   Y  | j|tjddd„ idd�}t |d	 g¡}t||ƒ W d   ƒ d S 1 sKw   Y  d S )
Nr<  r=  ro  rq  r   c                 S   s   | d S )Nr×   r+   r’  r+   r+   r,   r“  Ä  s    z6LoadTxtBase.test_converters_nodecode.<locals>.<lambda>©rh   r•  rA  r×   )	r<   r   rÞ   r.   ru  rP   rB  ri   r   )r)   rC  r  r¿   r{   rc   r+   r+   r,   Útest_converters_nodecode½  s   
ÿ

þ"ùz$LoadTxtBase.test_converters_nodecodeN)r4   r5   r6   r{  r  r‘   r’   r“   rK  r�  rL  r„  rˆ  rŠ  r�  r—  r™  r+   r+   r+   r,   ri  ‚  s    

	
ri  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o;e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 ©Nr_   )r   Ú_loadtxt_chunksizeÚ
orig_chunkr~  r+   r+   r,   Úsetup_methodÍ  s   
zTestLoadTxt.setup_methodc                 C   s   | j t_d S r&   )r�  r   rœ  r~  r+   r+   r,   Úteardown_methodÒ  ó   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   r{   r~   rg   rx   ry   rz   r}   zM 64 75.0
F 25 60.0©ÚgenderÚageÚweight©ÚS1r|   r  ©ÚnamesÚformats©ÚMç      P@ç     ÀR@©ÚFç      9@ç      N@)r#   r.   rK   rP   r&  Úint32ri   r   )r)   r·   r{   rc   ÚdÚmydescriptorr±   r~   r+   r+   r,   r   Õ  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   rg   r_   re   r9   rf   )	r#   r.   rK   rP   r&  rk   ri   r   rj   r–  r+   r+   r,   rn   ç  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   rg   rq   ú1,2,3,4
r  ©rh   r  ©r#   r.   rK   rP   r&  rk   ri   r   r–  r+   r+   r,   rr   õ  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  r9   c                 S   ó   t | pdƒS ©Néüÿÿ©rk   ©r*   r+   r+   r,   r“  	  ó    z*TestLoadTxt.test_missing.<locals>.<lambda>©rh   r  r•  ©r_   re   r9   r½  rñ   r¹  r–  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  r9   c                 S   r»  r¼  r¾  r¿  r+   r+   r,   r“    rÀ  z:TestLoadTxt.test_converters_with_usecols.<locals>.<lambda>©r_   r9   ©rh   r  r•  Úusecolsre   r½  é   é	   r¹  r–  r+   r+   r,   Útest_converters_with_usecols  s   



þz(TestLoadTxt.test_converters_with_usecolsc                 C   óJ   t ƒ }| d¡ | d¡ tj|tddd�}t g d¢t¡}t||ƒ d S )Nú# comment
1,2,3,5
r   r  ú#©rh   r  r!  ©r_   re   r9   rñ   r¹  r–  r+   r+   r,   Útest_comments_unicode  ó   


ÿz!TestLoadTxt.test_comments_unicodec                 C   rË  )NrÌ  r   r  ó   #rÎ  rÏ  r¹  r–  r+   r+   r,   Útest_comments_byte   rÑ  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¹  r–  r+   r+   r,   Útest_comments_multiple)  s   


ÿz"TestLoadTxt.test_comments_multiple)rÈ  r9   é   zPyPy bug in error formattingrs   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.   rK   rP   r&  rk   ri   r   r   r  r–  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  r_   )rh   r  ÚskiprowsrÏ  rÌ  r¹  r–  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 )Nr_   re   r9   rf   r   ©r_   ©rh   rÇ  rº   ©r9   rf   rñ   rx   c                   @   r•   )z*TestLoadTxt.test_usecols.<locals>.CrazyIntc                 S   s   dS r›  r+   r~  r+   r+   r,   Ú	__index__t  s   z4TestLoadTxt.test_usecols.<locals>.CrazyInt.__index__N)r4   r5   r6   rÞ  r+   r+   r+   r,   ÚCrazyInts  rš   rß  z<JOE 70.1 25.3
                BOB 60.5 27.9
                ÚstidÚtempÚS4Úf8©r   re   ©rÇ  rh   ó   JOEó   BOBçÍÌÌÌÌL9@çfffffæ;@ç      ø?z^usecols must be.*%s©rÇ  )rP   ri   rj   r   r  rK   r&  r   rk   Úint8Úint16r³  Úint64r§   Úuint16Úuint32Úuint64r#   r9  rï   r   r   Ú	TypeErrorr:   r4   )r)   rc   r·   r{   Úint_typeÚto_readrß  Ú	crazy_intrÜ   r©  ÚdtypesrR   Ú	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 sw   Y  t  ttf¡� tjdgdgdd� W d   ƒ n1 s;w   Y  t jtdd�� tjdgd	d
gdd� W d   ƒ d S 1 s^w   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   )rh   rÇ  r  )r‘   r½   ÚOverflowErrorrP   r&  r  rò  r~  r+   r+   r,   Útest_bad_usecolsš  s   ÿþÿ"ý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   r{   r~   r×   r*   r  r¸  ©r_   )re   r  ©rf   )rñ   ç      @)
r#   r.   rK   rP   rh   rk   rj   r&  ri   r   ©r)   r·   r�   r{   rc   r+   r+   r,   Útest_fancy_dtype¥  s   

"zTestLoadTxt.test_fancy_dtypec                 C   óh   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©rI   râ  r{   r~   Úblockrj  rg   Úaaaar  ç       @rº   r  ©r#   rP   rh   rj   rk   r&  ri   r   rÿ  r+   r+   r,   Útest_shaped_dtype®  ó   ÿÿ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  r{   r~   r  )re   re   r9   rg   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 )NÚstr1Ústr2rg   )rh  rP   Úbytes_ri   r&  r   )r)   r·   r�   rc   r{   r+   r+   r,   Útest_str_dtypeÁ  s   ýzTestLoadTxt.test_str_dtypec                 C   s|   t jtdd��- tƒ }t |¡}t|jdƒ tj|tjd�}t|jdƒ t	|j
tjkƒ W d   ƒ d S 1 s7w   Y  d S )Núinput contained no datar»   ©r   rg   )r‘   ÚwarnsrŽ   r#   rP   r&  r   ra   rî  r   rh   )r)   r·   r{   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   ó
   t | dƒS ©Né   r¾  r¿  r+   r+   r,   r“  Ø  r”  z3TestLoadTxt.test_unused_converter.<locals>.<lambda>©rÇ  r•  é   é*   r_   c                 S   r  r  r¾  r¿  r+   r+   r,   r“  Ý  r”  é!   éB   )r#   r2   rK   rP   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   ó   t |  ¡ dƒS ©Nz%Y-%m-%d©r>   Ústripr¿  r+   r+   r,   r“  å  ó    z4TestLoadTxt.test_dtype_with_object.<locals>.<lambda>r_   ú;©r  rh   r•  éÑ  re   éÒ  é   rg   )rk   ro   rP   r&  r#   ri   r   r   ©r)   rÜ   ÚndtypeÚfuncr•  ÚtestÚcontrolr+   r+   r,   Útest_dtype_with_objectà  s   ÿþz"TestLoadTxt.test_dtype_with_objectc                 C   ó@   d}t ƒ }| d| ¡ | d¡ tj|tjd�}t||ƒ d S )N)l   +&ì|    l   -(ì|    ú%s %sr   rg   )r#   r.   rK   rP   r&  rñ  r   ©r)   Útgtr·   rz  r+   r+   r,   Útest_uint64_typeî  ó   
zTestLoadTxt.test_uint64_typec                 C   r2  )N)lûÿÿÿÿÿÿÿ l   ÿÿÿÿ r3  r   rg   )r#   r.   rK   rP   r&  rî  r   r4  r+   r+   r,   Útest_int64_typeö  r7  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 ]}| d¡ t j||tjdd�}t||d| d	� q,d S )
Niöÿÿÿr
  rñ   rÿ   r   r8   r˜  r?  )Úerr_msg)rP   ÚlogspaceÚastypeÚfloat32Úhstackrj   rÔ   ÚmapÚhexr#   r.   rK   r&  Úfromhexr   )r)   r5  Úinpr·   r�   rz  r+   r+   r,   Útest_from_float_hexþ  s   


ÿüzTestLoadTxt.test_from_float_hexc                 C   óF   t dƒ}tjtdd�� t |¡ W d  ƒ dS 1 sw   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  rP   r&  r  r+   r+   r,   Ú6test_default_float_converter_no_default_hex_conversion  ó   ÿ"þzBTestLoadTxt.test_default_float_converter_no_default_hex_conversionc                 C   rC  )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»   NrD  r  r+   r+   r,   Ú&test_default_float_converter_exception  rF  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 )Nr_   éÿÿÿÿr3  r   rg   )r°   r#   r.   rK   rP   r&  r   r4  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©re   re   rg   r(  z%.16erý   r   s   e+00-s   e00+-)rP   r*  r+  r,  rè   r   r  rK   r"  Úreplacer   r.   r&  r°   r   )r)   rc   r0  r1  r·   ÚtxtÚtxt_badrz  r+   r+   r,   Útest_complex_misformatted,  s   



z%TestLoadTxt.test_complex_misformattedc              	   C   s~   t ƒ �'}t|dƒ�}| d¡ W d   ƒ n1 sw   Y  t |¡}W d   ƒ n1 s-w   Y  t|ddgddggƒ d S )Nr:  z
1 213 42r_   r  r9   r  )r   rÞ   r.   rP   r&  r   )r)   rI   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   )r{   r~   r  Úcomment)ú<i4rQ  ú<f4ú|S8r¨  ú	r¸  )s   start s     ó    rP  )r#   r.   rK   rP   r&  ri   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©rc   r±   r·   )ú|S1rQ  rR  r¨  T©rh   ÚunpackrY  rQ  rR  ó   Mó   Fr  é#   ç      R@ç      M@)r#   rP   r&  r   rh   rh  r   ri   ©r)   rL  r�   rc   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��$ t ƒ }t
tj|dd�jdkƒ t
tj|dd�jdkƒ W d   ƒ d S 1 sþw   Y  d S )Nz1,2,3
4,5,6r   r9   ©Úndminrê  r  r_   )rh   r  rd  rº   r  z0,1,2re   rÅ  )r9   z0
1
2)r9   r_   r  r»   ©r   r_   r  )r#   r.   rK   r   r  rP   r&  rk   ri   r   r   ra   r‘   r  rŽ   )r)   r·   r{   rc   r´  rè   r¿   r+   r+   r,   Útest_ndmin_keyword\  sJ   












"ýzTestLoadTxt.test_ndmin_keywordc                 C   ó(   dd„ }t  |ƒ ¡}t|t  d¡ƒ d S )Nc                  s   s   � t dƒD ]} d|  V  qd S ©Nr
  r€   )r‰   ©r„   r+   r+   r,   rö   ‡  s   €ÿz0TestLoadTxt.test_generator_source.<locals>.countr
  )rP   r&  r   rs  ©r)   rö   rz  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.   rK   r   r  rP   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   r{   )rc   ÚS10r~   r  )r  rh   r!  )r#   r.   rK   rP   rh   rk   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ƒ �q}t|dƒ�}| |¡ W d   ƒ n1 s&w   Y  t|dƒ�}tj|dtjd�}W d   ƒ n1 sDw   Y  t	||ƒ t|dƒ�}tj|ddd�}W d   ƒ n1 sfw   Y  g d	¢}t	|tj
|dd
�ƒ W d   ƒ d S 1 s„w   Y  d S )Ns/   5,6,7,Ã•scarscar
15,2,3,hello
20,2,3,Ã•scar
r=  rl  r$   rÙ   rÝ   rJ  ÚS)s   5,6,7,Ã•scarscars   15,2,3,hellos   20,2,3,Ã•scarrg   )r<   rK  Ú
splitlinesr   rÞ   r.   rP   r&  rB  r   ri   )r)   Úbutf8Úsutf8r  r¿   r{   r+   r+   r,   Útest_binary_loadž  s    ÿÿ
ÿ"özTestLoadTxt.test_binary_loadc                 C   rË  )Nú1,2,3,5
4,5,7,8
2,1,4,5r   r  r_   ©rh   r  Úmax_rowsrÏ  r¹  r–  r+   r+   r,   Útest_max_rows°  rÑ  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  r_   ©rh   r  rÙ  rw  rÏ  úcomment
1,2,3,5
4,5,7,8
2,1,4,5re   ©rf   rñ   rÈ  rÖ  r¹  r–  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 )
Nru  r   r  re   rv  rÏ  r{  r¸  ©re   r_   rf   rñ   r¹  r–  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 )
Nrz  r   r  r_   rò   ry  rÏ  r{  r}  r¹  r–  r+   r+   r,   Útest_max_rows_larger×  s   


ÿz TestLoadTxt.test_max_rows_largerÚskiprÜ   r_   )zignored
ú1,2
rÿ   ú3,4
)Ú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��& tj|t|dd| d�}t|ddgdd	gdd
gg|d … ƒ W d   ƒ n1 s5w   Y  t|tƒrD| 	d¡ t
 ¡ �8 t
 dt¡ t  t¡� tj|t|dd| d� W d   ƒ n1 skw   Y  W d   ƒ d S W d   ƒ d S 1 sƒw   Y  d S )NzInput line 3.*max_rows=r9   r»   r  )rh   rÙ  r  rw  rH  r   r_   re   rf   Úerror)r‘   r  rŽ   rP   r&  rk   r   rN   r   rK   r‹   rŒ   Úsimplefilterr½   )r)   r€  rÜ   rz  r+   r+   r,   Útest_max_rows_empty_linesá  s(   
ÿÿ&ü


ÿÿþ"þz%TestLoadTxt.test_max_rows_empty_linesN);r4   r5   r6   ÚstaticmethodrP   r&  ru  rž  rŸ  r   rn   rr   rÃ  rÊ  rÐ  rÓ  rÕ  r‘   r’   r“   r   rL   ÚimplementationÚversionr×  rÚ  rø  rú  r   r  r  r  r  r  r1  r6  r8  rB  rE  rG  rI  rN  rO  rV  rb  rf  rk  rm  ro  ÚlocaleÚgetpreferredencodingrt  rx  r|  r~  r  rû   r   rˆ  r+   r+   r+   r,   rš  Ê  s~    
	
			ÿ
E		
		ÿ

ÿ


*ÿ
	






ø	rš  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   óV   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©ÚvalÚS3z([0-9.]+)\s+(...)))çË¡E¶óýô?r  ©g%�•C‹ø?r  ©g-²�ï§Æ@Úquxrg   ©r#   r.   rK   rP   Úfloat64Ú	fromregexri   r   rÿ  r+   r+   r,   r   û  ó   


ÿzTestfromregex.test_recordc                 C   r�  )Nú1312 foo
1534 bar
4444 quxr   r�  r‘  z(\d+)\s+(...)))é   r  )éþ  r  )é\  r—  rg   )r#   r.   rK   rP   r³  rš  ri   r   rÿ  r+   r+   r,   Útest_record_2  r›  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 )Nrœ  r   r�  z(\d+)\s+...))r�  )rž  )rŸ  rg   r˜  rÿ  r+   r+   r,   Útest_record_3  s   

zTestfromregex.test_record_3Ú	path_typec           
   	   C   sê   d}t ƒ �f}||ƒ}t|dƒ�}| d| d ¡ W d   ƒ n1 s#w   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   ƒ d S 1 snw   Y  d S )Nr<  rÙ   s	   1.312 foos    
1.534 bar
4.444 quxr�  )r’  ÚU4z(?u)([0-9.]+)\s+(\w+)r=  rq  r”  r  r•  r–  rg   z([0-9.]+)\s+(\w+))r   rÞ   r.   rP   r™  rš  ri   r<   r   r0  ÚcompileÚUNICODE)
r)   r¢  rC  Ústr_pathr  r¿   r�   r{   rc   Úregexpr+   r+   r,   Útest_record_unicode  s$   ÿÿÿ
"ó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)ó   123r�  rº   rg   )r0  r¤  r   rP   r™  ri   rš  r   )r)   r§  r·   r�   rc   r{   r+   r+   r,   Útest_compiled_bytes-  s   
z!Testfromregex.test_compiled_bytesc                 C   sX   t  d¡}tdƒ}tjtdd�� tj||tjd� W d   ƒ d S 1 s%w   Y  d S )Nr©  rª  zstructured datatyper»   rg   )	r0  r¤  r   r‘   r½   rò  rP   rš  r™  )r)   r§  r·   r+   r+   r,   Útest_bad_dtype_not_structured5  s
   
"ÿz+Testfromregex.test_bad_dtype_not_structuredN)r4   r5   r6   r   r   r¡  r‘   r’   rû   rh  r   r¨  r«  r¬  r+   r+   r+   r,   rŽ  ú  s    

rŽ  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¨¢¡d§e]f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¡  r{   r~   rg   rx   ry   rz   r}   zM 64.0 75.0
F 25.0 60.0r¢  r¦  r¨  r«  r¯  )r#   rP   Ú
genfromtxtr³  ri   r   )r)   rÜ   r/  r0  Ú
descriptorr+   r+   r,   r   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¡  r_   re   r9   rf   rg   r   )	r#   rP   ri   rk   r®  r   rK   rj   r&  )r)   rÜ   r0  r/  r+   r+   r,   rn   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 )Nrq   r¶  rg   r·  r  r¸  )rP   ri   rk   r#   r®  r   ©r)   r0  rÜ   r/  r+   r+   r,   rr   ]  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
)rP   ri   rk   r#   r®  r   r°  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_headerr_   rÌ  rÙ  )rP   ri   rk   Údictr#   r®  r   r&  )r)   r0  r[   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+   rƒ   r+   r+   r,   r0   ƒ  r1   z0TestFromTxt.test_skip_footer.<locals>.<listcomp>r_   rò   zA, B, Cc                 S   s   g | ]	}d |||f ‘qS )z%i,%3.1f,%03sr+   rƒ   r+   r+   r,   r0   …  s    é3   z99,99rH  r  Trñ   r
  )r  r©  r²  Úskip_footerrÿ   c                 S   s"   g | ]}d | d | d | f‘qS )rT  r+   rƒ   r+   r+   r,   r0   ‰  s   " é)   c                 S   ó   g | ]}|t f‘qS r+   r‚   ©r/   Ú_r+   r+   r,   r0   Š  r1   ÚABCrg   )
r‰   rÈ   r5  r³  rP   r®  r#   rÔ   ri   r   )r)   rÜ   r[   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   ƒ d S 1 s—w   Y  d S )Nz1 1
2 2
3 3
4 4
5  
6  
7  
r_   )rµ  F)rµ  Úinvalid_raiser  r  r  r  r9   z1 1
2  
3 3
4 4
5  
6 6
7 7
rþ  )
r   râ   r   r   r  rP   r®  r#   r   ri   )r)   rç   Úbasestrrc   r+   r+   r,   Útest_skip_footer_with_invalid�  s,   
ÿ
ÿ((
ÿ(
ÿ$"ëz)TestFromTxt.test_skip_footer_with_invalidc                 C   sÊ   t dƒ}tjdd��!}t ddt¡ tj|d ddd�}t|d jtu ƒ W d   ƒ n1 s.w   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$   r;   )rh   r©  rA  r   r\  r]  r­  r±  r®  r²  r¢  r£  r¤  r¥  )r#   r‹   rŒ   r�   r
   rP   r®  r   Úcategoryri   r   ©r)   rÜ   r:  r/  r0  r+   r+   r,   Útest_header¥  s   
ÿüþ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 s-w   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$   r;   rŒ  r   ó   As   BCDé@   é   r®  r²  y      @      @y      @      @F)Úf0Úf1Úf2Úf3r  zf%i)r#   r‹   rŒ   r�   r
   rP   r®  r   rÀ  ri   r   rh   r©  r�   )r)   rÜ   r:  r/  r0  r„   r»  r+   r+   r,   Útest_auto_dtype´  s    ýüÿ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
rg   rq   )rñ   rò   rÈ  rÖ  ©r#   rP   r®  ri   r   ©r)   rÜ   r/  r0  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û  r{   r~   r×   r*   r  r¸  rü  rý  rg   )r#   rP   rh   rk   rj   r®  ri   r   ©r)   rÜ   Ú
fancydtyper/  r0  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)Úgrc   r:  r¦  r¨  s   M 64.0 75.0
F 25.0 60.0r¢  ©rh   r©  r©  r«  r¯  rg   rË  )r)   r¯  rÜ   r©  r/  r0  r+   r+   r,   Útest_names_overwriteÓ  s   ÿÿÿz TestFromTxt.test_names_overwritec                 C   s>   t jtdd�� t d¡ W d   ƒ d S 1 sw   Y  d S )Nzfname must be a string,r»   é{   )r‘   r½   rò  rP   r®  r~  r+   r+   r,   Útest_bad_fnameß  s   "ÿzTestFromTxt.test_bad_fnamec                 C   s  t dƒ}tjdd��!}t ddt¡ tj|dd dd�}t|d jtu ƒ W d   ƒ n1 s.w   Y  tj	g d	¢d
dt
fdtfgd�}t||ƒ t dƒ}tjdd��!}t ddt¡ tj|dd dd�}t|d jtu ƒ W d   ƒ n1 svw   Y  t||ƒ d S )NzN
#gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        Tr†   rˆ   r$   r;   )r©  rh   rA  r   ))r¬  r  gfffffR@)r°  r^  g
×£p=*M@)r¬  r  g=
×£pý5@)r£  rY  r¤  r¥  rg   sO   
# gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        ©r#   r‹   rŒ   r�   r
   rP   r®  r   rÀ  ri   rk   rj   r   )r)   rÜ   r:  r/  r»  r+   r+   r,   Útest_commented_headerã  s*   
ÿü
ÿ

ÿü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)rh   r!  r©  rx   ry   Úcol1Úcol2rg   ©r#   rP   r®  rk   ri   r   rÌ  r+   r+   r,   Útest_names_and_comments_none  s   z(TestFromTxt.test_names_and_comments_nonec              
   C   sà   t ƒ �c}tj |d¡}t|dƒ�}| d ¡ ¡ W d   ƒ n1 s"w   Y  tƒ �$ t 	t
¡� tj|dd� W d   ƒ n1 sBw   Y  W d   ƒ n1 sQw   Y  W d   ƒ d S W d   ƒ d S 1 siw   Y  d S )Nr>  rÙ   õ   Ï–Úasciirq  )r   rW   r  rÔ   rÞ   r.   r‡  r   r‘   r½   ÚUnicodeDecodeErrorrP   r®  )r)   rD  Ú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��"}t ddt¡ tj|ddd dd�}t|d	 jtu ƒ W d   ƒ n1 s/w   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ÚDr;   )rÇ  r©  rh   rA  r   )r  é-   ç333333"@©râ  ú|S4rã  rä  rg   rÕ  rÁ  r+   r+   r,   Útest_autonames_and_usecols  s   ÿüÿ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  r9   c                 S   r»  r¼  r¾  r¿  r+   r+   r,   r“  &  rÀ  z:TestFromTxt.test_converters_with_usecols.<locals>.<lambda>rÅ  rÆ  re   r½  rÈ  rÉ  rÙ  rÌ  r+   r+   r,   rÊ  "  s   

þz(TestFromTxt.test_converters_with_usecolsc              
   C   sœ   t dƒ}tjdd��'}t ddt¡ tj|ddd ddd	d
„ id�}t|d jtu ƒ W d   ƒ n1 s4w   Y  tj	dddt
fdtfgd�}t||ƒ d S )Nrà  Tr†   rˆ   r$   rá  r;   rã  c                 S   s   dt | ƒ S )Nre   r¾  r¿  r+   r+   r,   r“  2  rÀ  zDTestFromTxt.test_converters_with_usecols_and_names.<locals>.<lambda>)rÇ  r©  rh   rA  r•  r   )r  éZ   ræ  rç  rä  rg   rÕ  rÁ  r+   r+   r,   Ú&test_converters_with_usecols_and_names+  s   

þûÿ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   r  ©Nz%Y-%m-%d %H:%M:%SZ)r>   r¿  r+   r+   r,   r“  ;  r”  z9TestFromTxt.test_converters_cornercases.<locals>.<lambda>ú2009-02-03 12:00:00Z, 72214.0r  rà  ©r  rh   r©  r•  éÙ  re   r9   ç    `¡ñ@rg   )r#   rP   r®  ri   r   Úobject_rj   r   ©r)   Ú	converterrÜ   r/  r0  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í  )rP   Ú
datetime64r>   r¿  r+   r+   r,   r“  F  ó    z:TestFromTxt.test_converters_cornercases2.<locals>.<lambda>rî  r  rà  rï  rð  re   r9   rñ  )rì  zdatetime64[us]rg   )r#   rP   r®  ri   r   rj   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   r  r  r¾  r¿  r+   r+   r,   r“  R  r”  z3TestFromTxt.test_unused_converter.<locals>.<lambda>r  r  r  r_   c                 S   r  r  r¾  r¿  r+   r+   r,   r“  W  r”  r  r  )r#   rP   r®  r   rK   ©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   ó4   t d|  ¡ v r|  ¡ d pd|  ¡ vr|  ¡ pdƒS )Nó   rrH  r†  ©rj   Úlowerr6  r%  r’  r+   r+   r,   r“  [  ó    ÿz4TestFromTxt.test_invalid_converter.<locals>.<lambda>c                 S   rú  )Nó   %r   r†  rü  r’  r+   r+   r,   r“  ]  rþ  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.55rj  r  r;   )r•  r  rh   rA  )r#   r³  r   r   rP   r®  )r)   Ú
strip_randÚ	strip_perr*   r[   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 r›  r‚   r¿  r+   r+   r,   r“  j  r÷  z;TestFromTxt.test_tricky_converter_bug1666.<locals>.<lambda>r  r   )r  r•  r  r  r  r  rË  )r)   r*   Úcnvr/  r0  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(  )Ú2009ç      7@é.   )rÆ  rè  rÇ  rÈ  rg   )g     dŸ@r  r  )rP   r®  r#   rj   r;   ri   r   )r)   Údstrr/  r0  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   r_   re   r9   )z1:1z1:nzm:1zm:n)©Úe1r|   ©Úe2r|   )Úe3Úi2©rŸ   Úi1c                    s   ˆ |   ¡  S r&   r‘  )rv   ©Údmapr+   r,   r“  €  rÀ  zDTestFromTxt.test_dtype_with_converters_and_usecols.<locals>.<lambda>)r   r_   re   r9   r  r;   )rh   r  r©  r•  rA  ))r_   rñ   rH  r   )re   rÖ  rH  r_   )r9   r9   éþÿÿÿr9   rg   )r  r  r  )r   r_   r9   )rh   r  rÇ  r©  r•  rA  ))r_   rñ   r   )re   rÖ  r_   )r9   r9   r9   )rk   r   r#   rP   Úrecri   r   )r)   r  ÚdtypÚconvr/  r0  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]w   Y  dt fdtfdg fg}tt	dƒ� tjt|ƒd||d�}W d   ƒ d S 1 s‰w   Y  d S )Nr  r   r!  c                 S   r"  r#  r$  r¿  r+   r+   r,   r“  ‘  r&  z4TestFromTxt.test_dtype_with_object.<locals>.<lambda>r_   r'  r(  r)  re   r*  r+  rg   ÚnestzNested fields.* not supported.*)
rk   ro   rP   r®  r#   ri   r   r   r   ÚNotImplementedErrorr,  r+   r+   r,   r1  Œ  s8   ÿþ
ÿÿþÿÿ"þ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s"J ‚d S )NÚ1rg   r+   ó   1Ústrings   string)rP   r®  r#   ro   )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  rj  re   )r  r©  rh   rÇ  r•  )ú
2001-01-01r  )r$   ú|S10r$   rg   )r#   rP   r®  rj   r;   ri   r   rÌ  r+   r+   r,   Ú'test_userconverters_with_explicit_dtype®  s   ÿ
ÿz3TestFromTxt.test_userconverters_with_explicit_dtypec              
   C   s¶   d}t ƒ �4}t|dƒ�}| d| d ¡ W d   ƒ n1 sw   Y  tj|dd tddtidd	�}W d   ƒ n1 s<w   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  rj  re   r=  )r  r©  rh   rÇ  r•  rA  r!  r  )r$   z|U11r$   rg   )
r   rÞ   r.   rP   r®  rj   rh  ri   r<   r   )r)   rC  r  r¿   r/  r0  r+   r+   r,   Ú,test_utf8_userconverters_with_explicit_dtype·  s   ÿþý
ÿ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  4r9   )r  rº   )rf   rñ   éC   )iz  rÓ  rf   ©rP   r®  r#   ri   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  r9   c                 S   r»  r¼  r¾  r¿  r+   r+   r,   r“  Õ  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		3rT  T)r  Úusemaskrº   re   r_   r9   )©r   r   r   ©r_   r   r_   ©r   r_   r   rg   )	rP   r®  r#   ri   ÚnanÚboolr   rÜ   Úmask)r)   rL  r/  Úctrl_dÚ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 )Nr_   re   r9   rf   r   rÛ  rÜ  rº   rÝ  rx   )rP   ri   rj   r#   r  rK   r®  r   r°  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Å  ©rf   rò   c                 S   r·  r+   r‚   r¸  r+   r+   r,   r0   ý  r1   z3TestFromTxt.test_usecols_as_css.<locals>.<listcomp>Úacrg   r*  ©r)   rÜ   r/  r»  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#   rP   r®  r9  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  )rP   r®  r#   r   ri   )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Å  r8  rc   r·   rg   r6  r7  )r©  rÇ  ©r   rH  )rc   r·   )rP   ri   rj   r³  r®  r#   r   )r)   r»  rÜ   r[   r/  r+   r+   r,   Útest_usecols_with_named_columns  s   

ÿÿz+TestFromTxt.test_usecols_with_named_columnsc                 C   sv   t ƒ �.}|jdd� tƒ }t |¡}t|t g ¡ƒ tj|dd�}t|t g ¡ƒ W d   ƒ d S 1 s4w   Y  d S )Nzgenfromtxt: Empty input file:)Úmessager_   )r²  )r   râ   r#   rP   r®  r   ri   )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û  r{   r~   r×   r*   r  T)rh   r  r,  rü  rý  rg   )	r#   rP   rh   rk   rj   r®  Úmari   r   rÎ  r+   r+   r,   Útest_fancy_dtype_alt&  s
   "z TestFromTxt.test_fancy_dtype_altc                 C   r  r  )r#   rP   rh   rj   rk   r®  ri   r   rÿ  r+   r+   r,   r  .  r	  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©  ©rh   r,  re  ©re   rH  ©FF©FTrâ  ÚB©r2  rh   r   r,  )r#   r³  rP   r®  rA  ri   rk   r   r2  rK   rj   ©r)   rÜ   r[   r/  r0  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)rh   r  r©  râ  rK  rã  rF  rD  ))r   r†  y                )r_   r½  r(  )ra  gš™™™™™@ù       €     8�À)r9   é�ÿÿÿy              @)r-  r/  )r   r   r_   r-  rL  rh   ra  rP  rO  ©r   r_   re   )rF  r,  )r-  r/  r.  r/  )r   rK  rã  )
r³  rk   rj   r°   rP   r®  r#   rA  ri   r   )r)   rÜ   Ú
basekwargsÚmdtyper/  r0  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   r9   )rf   r½  rc   r±   rg   zN/A, 2, 3
4, ,???r  za,b,crD  rþ   z???)r   r±   re   r   r½  )r  rh   r©  rF  Úfilling_values)r   re   r9   )rf   r   r½  c                 S   r·  r+   r¾  r¸  r+   r+   r,   r0   t  r1   z8TestFromTxt.test_user_filling_values.<locals>.<listcomp>ÚabcrÇ  r>  c                 S   r·  r+   r¾  r¸  r+   r+   r,   r0   x  r1   r9  z1,2,*,4
5,*,7,8
Ú*)r  rh   rF  rU  )r_   re   r   rf   )rñ   r   rÈ  rÖ  rH  )r_   re   rH  rf   )rñ   rH  rÈ  rÖ  )rP   ri   rk   r³  r®  r#   r   )r)   r»  rÜ   r[   r/  Ú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)rh   r  rF  r©  r,  )r   rê  )re   g      ð¿rI  rJ  râ  rK  rL  )	r#   rP   r®  rA  ri   rk   rj   r   r2  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©rh   rF  r,  rº   r  r/  )r2  )r#   rP   r®  rA  ri   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/  rÆ  rÇ  rÈ  rL  )r#   rP   r®  rA  ri   r1  rk   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, 1rW  rñ   ú2, 2, 2, 2 2r
  r   úa, b, c, d, erÿ   r  T©r  rh   r©  c                      ó   t jˆfddiˆ ¤ŽS )Nr½  F©rP   r®  r+   ©r[   Úmdatar+   r,   r¿   ª  ó   z)TestFromTxt.test_invalid_raise.<locals>.frå  c                 S   r·  r+   r¾  r¸  r+   r+   r,   r0   ®  r1   z2TestFromTxt.test_invalid_raise.<locals>.<listcomp>Úabcderg   ©r  r©  )r‰   Úinsertr#   rÔ   r³  r   r   r   ÚlenrP   rŠ   rK   r   r  r®  )r)   rÜ   r„   r¿   Úmtestr+   re  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_  rW  rñ   r`  r
  r   ra  rÿ   r  TF)r  rh   r©  r½  c                      rc  )NrÇ  )r   rf   rd  r+   re  r+   r,   r¿   ¾  rg  z6TestFromTxt.test_invalid_raise_with_usecols.<locals>.frå  c                 S   r·  r+   r¾  r¸  r+   r+   r,   r0   Â  r1   z?TestFromTxt.test_invalid_raise_with_usecols.<locals>.<listcomp>Úaerg   rÇ  re  c                 S   r·  r+   r¾  r¸  r+   r+   r,   r0   Ç  r1   ÚabrJ  c                 S   s   g | ]}d | ‘qS )r
  r+   r¸  r+   r+   r,   r0   È  r1   )r‰   rj  r#   rÔ   r³  r   r   r   rk  rP   rŠ   rK   r®  )r)   rÜ   r„   r¿   rl  r0  r+   re  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.1rW  rÿ   rf   c                 S   s   d|   ¡  S )Nz(%s)r‘  r’  r+   r+   r,   r“  Ð  rÀ  z5TestFromTxt.test_inconsistent_dtype.<locals>.<lambda>r  c                 S   r·  r+   r¾  r¸  r+   r+   r,   r0   Ò  r1   z7TestFromTxt.test_inconsistent_dtype.<locals>.<listcomp>rh  r;   )r  r•  rh   rA  )r#   rÔ   r³  r   r  rP   r®  )r)   rÜ   rf  r•  r[   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  rh   Ú
defaultfmt©r   r_   çffffff@)rf   rñ   çÍÌÌÌÌÌ@Úf00Úf01Úf02rg   )rP   r®  r#   ri   rk   rj   r   ©r)   rÜ   rl  r»  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 )Nrr  r  rs  rt  ©r†  r  rw  ©r  r%  rx  rg   ©rP   r®  r#   rj   ri   r   r|  r+   r+   r,   Útest_single_dtype_wo_namesÞ  s   
ÿz&TestFromTxt.test_single_dtype_wo_namesc                 C   óD   d}t jt|ƒdtdd�}t jddgdd„ d	D ƒd
�}t||ƒ d S )Nrr  r  r7  rb  r~  r  c                 S   r·  r+   r‚   r¸  r+   r+   r,   r0   ì  r1   zBTestFromTxt.test_single_dtype_w_explicit_names.<locals>.<listcomp>rV  rg   r€  r|  r+   r+   r,   Ú"test_single_dtype_w_explicit_namesæ  ó   
ÿ
ÿz.TestFromTxt.test_single_dtype_w_explicit_namesc                 C   r‚  )Nza, b, c
0, 1, 2.3
4, 5, 6.7r  Trb  r~  r  c                 S   r·  r+   r‚   r¸  r+   r+   r,   r0   õ  r1   zBTestFromTxt.test_single_dtype_w_implicit_names.<locals>.<listcomp>rV  rg   r€  r|  r+   r+   r,   Ú"test_single_dtype_w_implicit_namesï  r„  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 )Nrr  r  zf_%02irt  )r   r  rw  )rf   r%  rx  Úf_00Úf_01Úf_02rg   ©rP   r®  r#   rk   rj   ri   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��#}t ddt¡ tjt|ƒfi |¤Ž}t|d	 j	tu ƒ W d   ƒ n1 s5w   Y  tj
d
gddtfdgd�}t||ƒ tjdd��%}t ddt¡ tjt|ƒfddi|¤Ž}t|d	 j	tu ƒ W d   ƒ n1 szw   Y  tj
dgddtfdgd�}t||ƒ d S )Nz01/01/2003  , 1.3,   abcder  r;   )r  rh   rA  Tr†   rˆ   r$   r   )z01/01/2003  çÍÌÌÌÌÌô?z   abcde)rÆ  z|S12rÇ  )rÈ  rS  rg   Ú	autostrip)z
01/01/2003r‹  rh  )rÆ  r"  )rÈ  z|S5)r³  r‹   rŒ   r�   r
   rP   r®  r#   r   rÀ  ri   rj   r   )r)   rÜ   r[   r:  rl  r»  r+   r+   r,   Útest_autostrip  s(   ýÿ
ýÿ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©  rh   ÚAAÚB_BÚCC)r_   re   g…ëQ¸	@rg   r$   ©r  r©  rh   Úreplace_spaceÚdeletecharsúA.AúB (B)úC:C©r  r©  rh   r”  úB_(B)r‰  ©r)   rL  r/  Ú
ctrl_dtyper»  r+   r+   r,   Útest_replace_space  ó*   
ÿ

þ

þ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º   rg   r$   r’  r•  r–  r—  r˜  r™  )rP   r®  r#   rk   ri   r   rš  r+   r+   r,   Útest_replace_space_known_dtype,  r�  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  Tri  rQ  rÝ  c                 S   r·  r+   r¾  r¸  r+   r+   r,   r0   J  r1   z5TestFromTxt.test_incomplete_names.<locals>.<listcomp>)râ  rÆ  rã  rg   rh   c                 S   r·  r+   r‚   r¸  r+   r+   r,   r0   O  r1   )r³  rP   ri   r®  r#   r   ©r)   rÜ   r[   r»  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 6rc   rÑ  rº   r  rÆ  rÇ  rg   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   re   rf   T)rh   r  rÇ  r©  )rP   r®  r#   rk   r   rh   r©  )r)   rÜ   Ú
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ñ   rf   TrŽ  rv  )rå  r)  r'  râ  rK  rã  rg   rñ   )r³  rP   ri   rk   rj   r®  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  rh   rU  rº   )r_   r½  rñ   )r   rò   r½  rg   )r³  rP   ri   rk   r®  r#   r   rŸ  r+   r+   r,   Útest_filling_values}  s
    zTestFromTxt.test_filling_valuesc                 C   sè   t jdd��$}t  ddt¡ tjtdƒd d ddd�}t|d	 jtu ƒ W d   ƒ n1 s-w   Y  t	|d
 dƒ t jdd��$}t  ddt¡ tjtdƒd d ddd�}t|d	 jtu ƒ W d   ƒ n1 sfw   Y  t	|d
 dƒ d S )NTr†   rˆ   r$   ztest1,testNonetherestofthedatar  r;   ©rh   r!  r  rA  r   r_   s   testNonetherestofthedataztest1, testNonetherestofthedatas    testNonetherestofthedata)
r‹   rŒ   r�   r
   rP   r®  r#   r   rÀ  r   )r)   r:  r/  r+   r+   r,   Útest_comments_is_none…  s$   
þû
þûz!TestFromTxt.test_comments_is_nonec                 C   sŠ  d}d}d| d }|| | }t jdd��$}t  ddt¡ tjt|ƒd d d	d
d�}t|d jtu ƒ W d   ƒ n1 s=w   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��&}t  ddt¡ tjtd| ƒd d d	d
d�}t|d jtu ƒ W d   ƒ n1 s®w   Y  t	|d dƒ t	|d d| ƒ d S )Ns   öüöó   norm1,norm2,norm3
ó   test1,testNonetheó   ,test3
Tr†   rˆ   r$   r  r;   r§  r   )r_   r   ó   test1)r_   r_   ó   testNonetherx   ó   test3r8   Útest1ÚtestNonetheÚtest3ó   0,testNonetherÆ  rÇ  )r‹   rŒ   r�   r
   rP   r®  r#   r   rÀ  r   r<   )r)   r8   ÚnormÚencr*   r:  r/  r+   r+   r,   Útest_latin1–  s@   
þû
þþûzTestFromTxt.test_latin1c                 C   s6   d}| j t|ƒd dd�}t|t | d¡ ¡ ¡ƒ d S r‹  )ru  r   r   rP   ri   r<   r6  r�  r+   r+   r,   Útest_binary_decode_autodtype´  s   z(TestFromTxt.test_binary_decode_autodtypec                 C   s´   d}d}d| d }|| | }t jdd��$}t  ddt¡ tjt|ƒd d d	d
d�}t|d jtu ƒ W d   ƒ n1 s=w   Y  t 	g d¢dd| dgg d¢g¡}t
||ƒ d S )Nr<  r©  rª  r«  Tr†   rˆ   r$   r  r;   r§  r   )s   norm1s   norm2s   norm3r¬  r­  r®  )r‹   rŒ   r�   r
   rP   r®  r#   r   rÀ  ri   r   )r)   rC  r³  r´  r*   r:  r/  Úctlr+   r+   r,   Útest_utf8_byte_encoding¹  s$   
þûýz#TestFromTxt.test_utf8_byte_encodingc              	   C   s4  d}t ƒ �‹}t|dƒ�}| d| d d ¡ W d   ƒ n1 s!w   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 sfw   Y  tj|d d ddd�}t	|d dƒ t	|d d
| d¡ ƒ W d   ƒ d S 1 s“w   Y  d S )Nr<  rÙ   rª  r«  re   r  r=  r§  r¯  r°  r±  rg   r²  rÆ  r   rÇ  )
r   rÞ   r.   rP   r®  ri   r<   rB  r   r   )r)   rC  r  r¿   r/  r·  r+   r+   r,   Útest_utf8_fileÊ  s0   ÿ
ÿþý
ÿ
ÿ"ïzTestFromTxt.test_utf8_filec           	   	   C   sX  d}d}zt  ¡ }| |¡ W n ttfy   t d¡ Y nw tƒ �}t|dƒ�}| 	d¡ | 	d| d ¡ | 	d| d	 ¡ W d   ƒ n1 sKw   Y  t
jd
d��"}t
 ddt¡ tj|d d ddd�}t|d jtu ƒ W d   ƒ n1 s{w   Y  tjg d¢d|dgdd| dggtjd�}t||ƒ W d   ƒ d S 1 s¥w   Y  d S )NrÛ  u   Ã¶Ã¼Ã¶zTSkipping test_utf8_file_nodtype_unicode, unable to encode utf8 in preferred encodingro  znorm1,norm2,norm3
znorm1,z,norm3
ztest1,testNonethez,test3
Tr†   rˆ   r$   r  r;   r§  r   )Únorm1Únorm2Únorm3rº  r¼  r¯  r°  r±  rg   )rŒ  r�  r‡  ÚUnicodeErrorÚImportErrorr‘   r€  r   rÞ   r.   r‹   rŒ   r�   r
   rP   r®  r   rÀ  ri   rB  r   )	r)   rC  r8   rA  r  r¿   r:  r/  r·  r+   r+   r,   Útest_utf8_file_nodtype_unicodeß  s@   ÿ
ýÿ
ÿúýü"ï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  rD  TrE  re  rj  râ  rK  rg   rC  rG  rH  rI  rJ  rL  r   re   )r#   r³  r   rP   ri   rk   r   rN   Úrecarrayr   rA  r2  râ  rM  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 ) NrÁ  rD  Tr;   )rF  r©  Úcase_sensitiverA  rh   re  rj  râ  rK  rg   rC  rG  rH  rI  rJ  rL  r   re   )rF  rc   r±   )rF  rh   zcolor
"red"
"blue"c                 S   r�  )Nú")r%  r’  r+   r+   r,   r“  <	  r”  z-TestFromTxt.test_recfromcsv.<locals>.<lambda>)r•  )Úred)ÚblueÚcolorrf   )r#   r³  r   rP   ri   rk   r   rN   rÂ  r   rA  r2  râ  rj   rh  rh   )r)   rÜ   r[   r/  r0  rh   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ƒ �M}| 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 s»w   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
r9   )rw  r_   re   rf   rñ   rò   rÈ  rÖ  rÉ  r
  r   z1 1
2 2
0 
3 3
4 4
5  
6  
7  
r  r  )rµ  rw  F)rw  r½  r  r  z"a b
#c d
1 1
2 2
#0 
3 3
4 4
5  5
T)r²  rw  r©  ))r  r  )r  r  )r  r  )r·   ú<f8)r´  rÊ  rg   )rw  rh   )r  r  )r%  r%  )r#   rP   r®  r   r   r  ri   r   râ   r   rh   )r)   rÜ   rL  Úa1Úa2r/  r0  rç   r+   r+   r,   rx  A	  sH   

ÿ
"
"÷
ÿ

ÿzTestFromTxt.test_max_rowsc              
   C   sœ   t  d¡ d¡}d}|D ]?}d| d }tƒ �'}t|dƒ�}| |¡ W d   ƒ n1 s-w   Y  t  |¡}W d   ƒ n1 sAw   Y  t||ƒ qd S )Nrò   rj  rk  rm  rn  r:  )rP   rs  rt  r   rÞ   r.   r®  r   )r)   r5  rx  ry  rÜ   rI   r¿   rz  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 s0w   Y  tdd	��*}t	|dƒ�}| |¡ W d   ƒ n1 sPw   Y  t
t  |¡|ƒ W d   ƒ n1 sgw   Y  qd S )
Nrò   rj  rk  rm  rn  r:  ©Úfileobjrp  z.gz2rÄ   )rP   rs  rt  r   r}  ÚGzipFiler.   r"   r   rÞ   r   r®  )	r)   rw  rx  ry  rÜ   r*   rÐ  rI   r¿   r+   r+   r,   Útest_gft_from_gzip…	  s    ÿÿý€úzTestFromTxt.test_gft_from_gzipc                 C   rg  )Nc                  s   s"   � t dƒD ]	} td|  ƒV  qd S rh  )r‰   r"   ri  r+   r+   r,   rö   —	  s   €ÿz3TestFromTxt.test_gft_using_generator.<locals>.countr
  )rP   r®  r   rs  rj  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 1024rg   )rÆ  rÇ  rÈ  rÆ  rÇ  rÈ  g      Dl        i   )r#   rP   r®  r   rh   r©  r   rj   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&  r†  )r  r%  r  r  )r  rþ  r'  r  )r#   rP   r&  r   ri   )r)   rL  rc   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 )NrW  rX  r¦  r¨  TrZ  r§  r|   r  r\  r]  r  r^  r_  r`  )r#   rP   r®  r   rh   r   ri   ra  r+   r+   r,   rb  ¾	  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ƒ q&d S )NzM 21 72.
F 35 58.r¬  r°  r  r^  r_  r`  Tzutf-8)rh   r[  rA  )r#   rP   ri   r®  rï   r   r   rh   )r)   rL  Úexpectedr/  rR   Ú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¥   ©r|   r¨  r  r^  rg   TrZ  )r#   rP   ri   r³  r®  r   r   rh   ©r)   rL  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Û  rg   TrZ  r+   )	r#   rP   ri   r³  r®  r   r   ra   rh   rÚ  r+   r+   r,   Útest_squeeze_scalarß	  s   

zTestFromTxt.test_squeeze_scalarÚndimrQ  c                 C   s6   d}t jt|ƒ|d�}t jt|ƒ|d�}t||ƒ d S )NÚ42rc  )rP   r&  r   r®  r   )r)   rÝ  rL  rc   r±   r+   r+   r,   rf  ë	  s   zTestFromTxt.test_ndmin_keywordN)_r4   r5   r6   r‰  rP   r®  ru  r   rn   rr   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  r1  r   r#  r$  r(  r+  rÃ  r5  rø  r;  r<  r=  r?  r  rB  r  rN  rT  rY  rZ  r]  r^  rm  rp  rq  r}  r�  rƒ  r…  rŠ  r�  rœ  rž  r   r¡  r¤  r¥  r¦  r¨  rµ  r¶  r¸  r¹  r¿  rÃ  rÉ  rx  rÍ  rÑ  rÒ  rÔ  rÕ  rb  rØ  rÛ  rÜ  rû   rk   rf  r+   r+   r+   r,   r­  ?  s²    
	

	

	 


					
#


*6	

r­  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   sn   t dd��(}t|ƒ}t ddgddgg¡}t ||¡ t |¡}t||ƒ W d   ƒ d S 1 s0w   Y  d S )Nú.txtrÄ   gš™™™™™ñ?re   r9   rf   )r   r   rP   ri   r  r&  r   )r)   r  rc   r{   r+   r+   r,   Útest_loadtxtù	  s   
"ûzTestPathUsage.test_loadtxtc                 C   sp   t dd��)}t|ƒ}t ddgddggt¡}t ||¡ t |¡}t||ƒ W d   ƒ d S 1 s1w   Y  d S )Nr  rÄ   r_   re   r9   rf   )r   r   rP   ri   rk   r—   rQ   r   ©r)   r  rc   rÜ   r+   r+   r,   Útest_save_load
  s   
"ûzTestPathUsage.test_save_loadc                 C   s–   t dd��<}t|ƒ}t ddgddggt¡}t ||¡ tj|dd�}t||ƒ ~tr9t	ƒ  t	ƒ  W d   ƒ d S W d   ƒ d S 1 sDw   Y  d S )	Nr  rÄ   r_   re   r9   rf   rv   ©ru   )
r   r   rP   ri   rk   r—   rQ   r   r   r   râ  r+   r+   r,   Útest_save_load_memmap

  s   
ö"øz#TestPathUsage.test_save_load_memmapzmemmap doesn't work correctlyrs   r%  c                 C   s¨   t dd��E}||ƒ}t ddgddggt¡}t ||¡ tj|dd�}d	|d
 d
< d	|d
 d
< ~tr8tƒ  tƒ  t |¡}t||ƒ W d   ƒ d S 1 sMw   Y  d S )Nr  rÄ   r_   re   r9   rf   zr+rä  rñ   r   )	r   rP   ri   rk   r—   rQ   r   r   r   )r)   r%  r  rc   r±   rÜ   r+   r+   r,   Útest_save_load_memmap_readwrite
  s   
"ôz-TestPathUsage.test_save_load_memmap_readwritec              	   C   sŽ   t dd��8}||ƒ}tj|dd� t |¡�}t|d dƒ W d   ƒ n1 s(w   Y  W d   ƒ d S W d   ƒ d S 1 s@w   Y  d S ©Nr¢   rÄ   rì   rí   rî   )r   rP   rœ   rQ   r   ©r)   r%  r  rÜ   r+   r+   r,   Útest_savez_load)
  s   ÿý"ýzTestPathUsage.test_savez_loadc                 C   sf   t dd��$}||ƒ}tj|dd� t |¡}t|d dƒ | ¡  W d   ƒ d S 1 s,w   Y  d S rç  )r   rP   Úsavez_compressedrQ   r   rO   rè  r+   r+   r,   Útest_savez_compressed_load1
  s   

"ûz(TestPathUsage.test_savez_compressed_loadc                 C   sf   t dd��$}||ƒ}t ddg¡}t ||¡ t |¡}t||ƒ W d   ƒ d S 1 s,w   Y  d S )Nrà  rÄ   rx   ry   )r   rP   ri   r  r®  r   )r)   r%  r  rc   rÜ   r+   r+   r,   Útest_genfromtxt:
  s   
"ûzTestPathUsage.test_genfromtxtrÀ  c              	   C   sÂ   t dd��R}||ƒ}t|dƒ�}| d¡ W d   ƒ n1 sw   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   ƒ d S 1 sZw   Y  d S )Nrà  rÄ   r:  rÁ  r  rD  TrE  re  rj  râ  rK  rg   )r   rÞ   r.   r³  r   rP   ri   rk   r   rN   rÂ  r   ©r)   r%  r  r¿   r[   r/  r0  r+   r+   r,   rÃ  C
  s   ÿ
ÿ"özTestPathUsage.test_recfromtxtr
  c              	   C   sÆ   t dd��T}||ƒ}t|dƒ�}| d¡ W d   ƒ n1 sw   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   ƒ d S 1 s\w   Y  d S )Nrà  rÄ   r:  rÁ  rD  T)rF  r©  rÄ  rh   re  rj  râ  rK  rg   )r   rÞ   r.   r³  r   rP   ri   rk   r   rN   rÂ  r   rí  r+   r+   r,   rÉ  R
  s   ÿÿ
ÿ"ôzTestPathUsage.test_recfromcsvN)r4   r5   r6   rá  rã  rå  r‘   r’   rd  r   rû   r   rh  ræ  ré  rë  rì  r�   rÃ  rÉ  r+   r+   r+   r,   rß  ÷	  s&    	




rß  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:  rÎ  r   rv   )
rP   rÅ   r   r}  rÐ  r—   rO   rK   r   rQ   ©rc   r*   r¿   r+   r+   r,   Útest_gzip_loadd
  s   
rð  c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )Ú
JustWriterc                 C   ó
   || _ d S r&   ©Úbase©r)   rô  r+   r+   r,   r'   u
  ó   
zJustWriter.__init__c                 C   ó   | j  |¡S r&   )rô  r.   r(   r+   r+   r,   r.   x
  r   zJustWriter.writec                 C   s
   | j  ¡ S r&   )rô  rJ   r~  r+   r+   r,   rJ   {
  rö  zJustWriter.flushN)r4   r5   r6   r'   r.   rJ   r+   r+   r+   r,   rñ  t
  s    rñ  c                   @   s&   e Zd Zdd„ Zdd„ Zd	dd„ZdS )
Ú
JustReaderc                 C   rò  r&   ró  rõ  r+   r+   r,   r'   
  rö  zJustReader.__init__c                 C   r÷  r&   )rô  r"  )r)   rŸ   r+   r+   r,   r"  ‚
  r   zJustReader.readr   c                 C   s   | j  ||¡S r&   )rô  rK   )r)   ÚoffÚwhencer+   r+   r,   rK   …
  s   zJustReader.seekNr  )r4   r5   r6   r'   r"  rK   r+   r+   r+   r,   rø  ~
  s    rø  c                  C   sT   t j d¡} tƒ }t|ƒ}t  || ¡ | ¡  | d¡ t|ƒ}tt  	|¡| ƒ d S )Nrî  r   )
rP   rÅ   r   rñ  r—   rJ   rK   rø  r   rQ   rï  r+   r+   r,   Útest_ducktyping‰
  s   
rû  c               	   C   s¶   t ƒ } tj| dd�}| d¡ | ¡  |  d¡ tdd��)}t|dƒ�}| |  ¡ ¡ W d   ƒ n1 s5w   Y  t	 
|¡}W d   ƒ n1 sIw   Y  |  ¡  t|g d¢ƒ d S )	Nr:  rÎ  ó   1 2 3
r   rF  rÄ   rÙ   rº   )r   r}  rÐ  r.   rO   rK   r   rÞ   r"  rP   r&  r   )r*   rÐ  rI   r¿   rz  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:  rÎ  rü  r   rv   rº   )	r   r}  rÐ  r.   rO   rK   r   rP   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ƒ qTtt| ¡ ƒdkƒ |D ]}t|dv ƒ qitd| ¡ v ƒ | d¡|d k ¡ s‡J ‚d S )N)r9   r9   )r{   r~   r   r{   r~   re   )r   rP   r*  rœ   rK   rQ   r   ÚkeysÚitemsr   ra   Úvaluesrk  rH   Úall)r*   r{   r~   r  r¿   rc   r+   r+   r,   Útest_npzfile_dict¸
  s(   



r  zPython lacks refcountsrs   c                  C   s¶   t ƒ } t | g d¢¡ |  d¡ tƒ � t | ¡ W d   ƒ n1 s#w   Y  |  d¡ ddg}tƒ � tjtdƒ|d�}t|tj	dg|d�ƒ W d   ƒ d S 1 sTw   Y  d S )Nrº   r   )rc   Úu1re   )r±   r  re   z0 1 2 3rg   )re  rj  )
r   rP   rœ   rK   r   rQ   r&  r#   r   ri   )r¿   r�   r{   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s*J ‚t t¡� t | ¡ W d   ƒ d S 1 s@w   Y  d S )Nr_   re   r   )r   rP   r—   rK   rQ   r‘   r½   ÚEOFError)r¿   Úout1Úout2r+   r+   r,   Ú#test_load_multiple_arrays_until_eofê
  s   


"ÿr	  c               	   C   sd  t jddgtd�} tdd��}t  || ¡ W d   ƒ n1 sw   Y  tdd��'}tjtdd�� t j|| dd	� W d   ƒ n1 sDw   Y  W d   ƒ n1 sSw   Y  tdd��}t  || ¡ W d   ƒ n1 snw   Y  tdd��0}tjtdd�� t j|| dd	� W d   ƒ n1 s“w   Y  W d   ƒ d S W d   ƒ d S 1 s«w   Y  d S )
Nr_   Úhellorg   r¢   rÄ   z$Object arrays cannot be saved when.*r»   F)rC   )	rP   ri   ro   r   rœ   r‘   r½   r  rê  )Ú	obj_arrayr©   r+   r+   r,   Útest_savez_nopickle÷
  s(   ÿÿ€ÿÿÿÿ"ÿr  r&   )YrL   rå   r}  rW   rÎ   r=   r‹   r0  r‘   Úpathlibr   Útempfiler   Úior   r   r   rŒ  Úmultiprocessingr   r   Úctypesr	   ÚnumpyrP   Únumpy.marA  Únumpy.exceptionsr
   Únumpy.lib._iotoolsr   r   Ú	numpy.libr   Únumpy.lib._npyio_implr   r   Únumpy.ma.testutilsr   Únumpy.testingr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Únumpy.testing._private.utilsr    Únumpy._utilsr"   r#   Úmaxsizerù   r€  rK  r¾  rƒ  rL  r>   r@   r–   r›   rü   ri  rš  rŽ  r­  rß  rð  rñ  rø  rû  rý  rþ  r  r’   r“   r  r	  r  r+   r+   r+   r,   Ú<module>   sš    D
ÿÿ
k !  #H    4E         Am

